From 03b7cd5dae29d808925b7df0f790d2dbe539d1c5 Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Mon, 11 Sep 2023 16:34:40 +0200 Subject: [PATCH 01/39] Add integration test coverage for SO migrations against serverless ES (#164959) ## Summary ~~Blocked by https://github.com/elastic/kibana/pull/162673~~ Add some initial integration test coverage for SO migrations when running against serverless Elasticsearch: - our migration actions test suite - some of the zdt algo migration suites The actions test suite was adapted to skip, when run against serverless, the tests that are not supposed to be run (or passing) in that environment --- .../src/saved_objects_config.ts | 2 +- .../src/actions/clone_index.test.ts | 27 +- .../src/actions/clone_index.ts | 57 +- .../src/actions/es_errors.test.ts | 9 + .../src/actions/es_errors.ts | 4 +- .../src/actions/index.ts | 6 + .../src/model/model.ts | 6 + .../src/create_serverless_root.ts | 23 +- .../capabilities_serverless.test.ts | 4 +- .../migrations/group3/actions/actions.test.ts | 2054 +--------------- .../group3/actions/actions_test_suite.ts | 2095 +++++++++++++++++ .../migrations/kibana_migrator_test_kit.ts | 7 +- .../zdt/basic_document_migration.ts | 247 ++ .../shared_suites/zdt/standard_workflow.ts | 118 + .../saved_objects/migrations/test_types.ts | 13 + .../zdt_1/basic_document_migration.test.ts | 235 +- .../zdt_1/standard_workflow.test.ts | 132 +- .../serverless/migrations/actions.test.ts | 28 + .../basic_document_migration.test.ts | 25 + .../serverless/migrations/smoke.test.ts | 7 +- .../migrations/standard_workflow.test.ts | 25 + 21 files changed, 2664 insertions(+), 2460 deletions(-) create mode 100644 src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts create mode 100644 src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/basic_document_migration.ts create mode 100644 src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/standard_workflow.ts create mode 100644 src/core/server/integration_tests/saved_objects/migrations/test_types.ts create mode 100644 src/core/server/integration_tests/saved_objects/serverless/migrations/actions.test.ts create mode 100644 src/core/server/integration_tests/saved_objects/serverless/migrations/basic_document_migration.test.ts create mode 100644 src/core/server/integration_tests/saved_objects/serverless/migrations/standard_workflow.test.ts diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts index 747b184c1a2f06..f09746325ce983 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts @@ -45,7 +45,7 @@ const migrationSchema = schema.object({ * The delay that the migrator will wait for, in seconds, when updating the * index mapping's meta to let the other nodes pickup the changes. */ - metaPickupSyncDelaySec: schema.number({ min: 1, defaultValue: 120 }), + metaPickupSyncDelaySec: schema.number({ min: 1, defaultValue: 5 }), /** * The document migration phase will be run from instances with any of the specified roles. * diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts index 73cba7294aa63b..1fcf7786024540 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts @@ -73,7 +73,7 @@ describe('cloneIndex', () => { `); }); - it('calls client.indices.clone with the correct parameter for serverless ES', async () => { + it('resolve left with operation_not_supported for serverless ES', async () => { const statelessCapabilities = elasticsearchServiceMock.createCapabilities({ serverless: true }); const task = cloneIndex({ client, @@ -81,27 +81,14 @@ describe('cloneIndex', () => { target: 'my_target_index', esCapabilities: statelessCapabilities, }); - try { - await task(); - } catch (e) { - /** ignore */ - } - expect(client.indices.clone.mock.calls[0][0]).toMatchInlineSnapshot(` + const result = await task(); + expect(result).toMatchInlineSnapshot(` Object { - "index": "my_source_index", - "settings": Object { - "index": Object { - "blocks.write": false, - "mapping": Object { - "total_fields": Object { - "limit": 1500, - }, - }, - }, + "_tag": "Left", + "left": Object { + "operationName": "clone", + "type": "operation_not_supported", }, - "target": "my_target_index", - "timeout": "60s", - "wait_for_active_shards": "all", } `); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts index 9bce341d242b30..7334f17191df0c 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts @@ -18,7 +18,7 @@ import { catchRetryableEsClientErrors, type RetryableEsClientError, } from './catch_retryable_es_client_errors'; -import type { IndexNotFound, AcknowledgeResponse } from '.'; +import type { IndexNotFound, AcknowledgeResponse, OperationNotSupported } from '.'; import { type IndexNotGreenTimeout, waitForIndexStatus } from './wait_for_index_status'; import { DEFAULT_TIMEOUT, @@ -58,25 +58,41 @@ export const cloneIndex = ({ target, timeout = DEFAULT_TIMEOUT, }: CloneIndexParams): TaskEither.TaskEither< - RetryableEsClientError | IndexNotFound | IndexNotGreenTimeout | ClusterShardLimitExceeded, + | RetryableEsClientError + | IndexNotFound + | IndexNotGreenTimeout + | ClusterShardLimitExceeded + | OperationNotSupported, CloneIndexResponse > => { const cloneTask: TaskEither.TaskEither< - RetryableEsClientError | IndexNotFound | ClusterShardLimitExceeded, + RetryableEsClientError | IndexNotFound | ClusterShardLimitExceeded | OperationNotSupported, AcknowledgeResponse > = () => { - const indexSettings = { - // The source we're cloning from will have a write block set, so - // we need to remove it to allow writes to our newly cloned index - 'blocks.write': false, - // Increase the fields limit beyond the default of 1000 - mapping: { - total_fields: { limit: 1500 }, - }, - // settings not being supported on serverless ES - ...(esCapabilities.serverless - ? {} - : { + // clone is not supported on serverless + if (esCapabilities.serverless) { + return Promise.resolve( + Either.left({ + type: 'operation_not_supported' as const, + operationName: 'clone', + }) + ); + } + + return client.indices + .clone({ + index: source, + target, + wait_for_active_shards: WAIT_FOR_ALL_SHARDS_TO_BE_ACTIVE, + settings: { + index: { + // The source we're cloning from will have a write block set, so + // we need to remove it to allow writes to our newly cloned index + 'blocks.write': false, + // Increase the fields limit beyond the default of 1000 + mapping: { + total_fields: { limit: 1500 }, + }, // The rest of the index settings should have already been applied // to the source index and will be copied to the clone target. But // we repeat it here for explicitness. @@ -88,16 +104,7 @@ export const cloneIndex = ({ refresh_interval: '1s', // Bump priority so that recovery happens before newer indices priority: 10, - }), - }; - - return client.indices - .clone({ - index: source, - target, - wait_for_active_shards: WAIT_FOR_ALL_SHARDS_TO_BE_ACTIVE, - settings: { - index: indexSettings, + }, }, timeout, }) diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.test.ts index a68cc62e76c500..ae53e993c411f2 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.test.ts @@ -106,6 +106,15 @@ describe('isClusterShardLimitExceeded', () => { }) ).toEqual(true); }); + it('returns true with illegal_argument_exception and reason is maximum normal shards open', () => { + expect( + isClusterShardLimitExceeded({ + type: 'illegal_argument_exception', + reason: + 'Validation Failed: 1: this action would add [2] shards, but this cluster currently has [3]/[1] maximum normal shards open;', + }) + ).toEqual(true); + }); it('returns false for validation_exception with another reason', () => { expect( isClusterShardLimitExceeded({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.ts index c4eeebd7df216a..735bdabf789c70 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/es_errors.ts @@ -27,8 +27,10 @@ export const isIndexNotFoundException = (errorCause?: estypes.ErrorCause): boole }; export const isClusterShardLimitExceeded = (errorCause?: estypes.ErrorCause): boolean => { + // traditional ES: validation_exception. serverless ES: illegal_argument_exception return ( - errorCause?.type === 'validation_exception' && + (errorCause?.type === 'validation_exception' || + errorCause?.type === 'illegal_argument_exception') && errorCause?.reason?.match( /this action would add .* shards, but this cluster currently has .* maximum normal shards open/ ) !== null diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts index 270926a10cbab0..c06cd5f05c1357 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts @@ -136,6 +136,11 @@ export interface IndexNotFound { index: string; } +export interface OperationNotSupported { + type: 'operation_not_supported'; + operationName: string; +} + export interface WaitForReindexTaskFailure { readonly cause: { type: string; reason: string }; } @@ -179,6 +184,7 @@ export interface ActionErrorTypeMap { synchronization_failed: SynchronizationFailed; actual_mappings_incomplete: ActualMappingsIncomplete; compared_mappings_changed: ComparedMappingsChanged; + operation_not_supported: OperationNotSupported; } /** diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts index 2264ca388c9756..563b138fdb45f2 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts @@ -1167,6 +1167,12 @@ export const model = (currentState: State, resW: ResponseType): controlState: 'FATAL', reason: `${CLUSTER_SHARD_LIMIT_EXCEEDED_REASON} See ${stateP.migrationDocLinks.clusterShardLimitExceeded}`, }; + } else if (isTypeof(left, 'operation_not_supported')) { + return { + ...stateP, + controlState: 'FATAL', + reason: `Action failed due to unsupported operation: ${left.operationName}`, + }; } else { throwBadResponse(stateP, left); } diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts index 3e12b16832714c..e20657b904278a 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts @@ -12,6 +12,7 @@ import { Client, HttpConnection } from '@elastic/elasticsearch'; import { Cluster } from '@kbn/es'; import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; +import { esTestConfig } from '@kbn/test'; import { CliArgs } from '@kbn/config'; import { createRoot, type TestElasticsearchUtils, type TestKibanaUtils } from './create_root'; @@ -25,6 +26,8 @@ export interface TestServerlessUtils { startKibana: (abortSignal?: AbortSignal) => Promise; } +const ES_BASE_PATH_DIR = Path.join(REPO_ROOT, '.es/es_test_serverless'); + /** * See docs in {@link TestUtils}. This function provides the same utilities but * configured for serverless. @@ -36,9 +39,11 @@ export function createTestServerlessInstances({ }: { adjustTimeout: (timeout: number) => void; }): TestServerlessUtils { + adjustTimeout?.(150_000); + const esUtils = createServerlessES(); const kbUtils = createServerlessKibana(); - adjustTimeout?.(120_000); + return { startES: async () => { const { stop, getClient } = await esUtils.start(); @@ -63,26 +68,29 @@ export function createTestServerlessInstances({ }; } -const ES_BASE_PATH_DIR = Path.join(REPO_ROOT, '.es/es_test_serverless'); function createServerlessES() { const log = new ToolingLog({ level: 'info', writeTo: process.stdout, }); const es = new Cluster({ log }); + const esPort = esTestConfig.getPort(); return { es, start: async () => { await es.runServerless({ basePath: ES_BASE_PATH_DIR, + port: esPort, teardown: true, background: true, clean: true, kill: true, waitForReady: true, }); + const client = getServerlessESClient({ port: esPort }); + return { - getClient: getServerlessESClient, + getClient: () => client, stop: async () => { await es.stop(); }, @@ -91,10 +99,9 @@ function createServerlessES() { }; } -const getServerlessESClient = () => { +const getServerlessESClient = ({ port }: { port: number }) => { return new Client({ - // node ports not configurable from - node: 'http://localhost:9200', + node: `http://localhost:${port}`, Connection: HttpConnection, }); }; @@ -108,6 +115,9 @@ const getServerlessDefault = () => { strictClientVersionCheck: false, }, }, + elasticsearch: { + hosts: [`http://localhost:${esTestConfig.getPort()}`], + }, migrations: { algorithm: 'zdt', zdt: { @@ -134,6 +144,7 @@ const getServerlessDefault = () => { }, }; }; + function createServerlessKibana(settings = {}, cliArgs: Partial = {}) { return createRoot(defaultsDeep(settings, getServerlessDefault()), { ...cliArgs, diff --git a/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.ts b/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.ts index 56754a12daed73..314fa311cf7056 100644 --- a/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.ts +++ b/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.ts @@ -13,9 +13,7 @@ import { import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { getCapabilitiesFromClient } from '@kbn/core-elasticsearch-server-internal'; -// skipped because test serverless ES nodes are currently using static ports -// causing parallel jest runners to fail for obvious port conflicts reasons. -describe.skip('ES capabilities for serverless ES', () => { +describe('ES capabilities for serverless ES', () => { let serverlessES: TestServerlessESUtils; let client: ElasticsearchClient; diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts index dc583d97190a9f..a951ecc37d1f46 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts @@ -6,2061 +6,27 @@ * Side Public License, v 1. */ -import Path from 'path'; -import * as Either from 'fp-ts/lib/Either'; -import * as Option from 'fp-ts/lib/Option'; -import { errors } from '@elastic/elasticsearch'; -import type { TaskEither } from 'fp-ts/lib/TaskEither'; -import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; -import { createTestServers, type TestElasticsearchUtils } from '@kbn/core-test-helpers-kbn-server'; -import { - bulkOverwriteTransformedDocuments, - closePit, - createIndex, - openPit, - type OpenPitResponse, - reindex, - readWithPit, - type EsResponseTooLargeError, - type ReadWithPit, - setWriteBlock, - updateAliases, - waitForReindexTask, - type ReindexResponse, - waitForPickupUpdatedMappingsTask, - pickupUpdatedMappings, - type UpdateByQueryResponse, - updateAndPickupMappings, - type UpdateAndPickupMappingsResponse, - updateMappings, - removeWriteBlock, - transformDocs, - waitForIndexStatus, - initAction, - cloneIndex, - type DocumentsTransformFailed, - type DocumentsTransformSuccess, - MIGRATION_CLIENT_OPTIONS, - createBulkIndexOperationTuple, -} from '@kbn/core-saved-objects-migration-server-internal'; +import { createTestServers } from '@kbn/core-test-helpers-kbn-server'; +import { MIGRATION_CLIENT_OPTIONS } from '@kbn/core-saved-objects-migration-server-internal'; +import { runActionTestSuite } from './actions_test_suite'; const { startES } = createTestServers({ adjustTimeout: (t: number) => jest.setTimeout(t), settings: { es: { license: 'basic', - dataArchive: Path.resolve(__dirname, '../../archives/7.7.2_xpack_100k_obj.zip'), esArgs: ['http.max_content_length=10Kb'], }, }, }); -let esServer: TestElasticsearchUtils; describe('migration actions', () => { - let client: ElasticsearchClient; - let esCapabilities: ReturnType; - - beforeAll(async () => { - esServer = await startES(); - client = esServer.es.getClient().child(MIGRATION_CLIENT_OPTIONS); - esCapabilities = elasticsearchServiceMock.createCapabilities(); - - // Create test fixture data: - await createIndex({ - client, - indexName: 'existing_index_with_docs', - aliases: ['existing_index_with_docs_alias'], - esCapabilities, - mappings: { - dynamic: true, - properties: { - someProperty: { - type: 'integer', - }, - }, - _meta: { - migrationMappingPropertyHashes: { - references: '7997cf5a56cc02bdc9c93361bde732b0', - }, - }, - }, - })(); - const docs = [ - { _source: { title: 'doc 1' } }, - { _source: { title: 'doc 2' } }, - { _source: { title: 'doc 3' } }, - { _source: { title: 'saved object 4', type: 'another_unused_type' } }, - { _source: { title: 'f-agent-event 5', type: 'f_agent_event' } }, - { _source: { title: new Array(1000).fill('a').join(), type: 'large' } }, // "large" saved object - ] as unknown as SavedObjectsRawDoc[]; - await bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_docs', - operations: docs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })(); - - await createIndex({ - client, - indexName: 'existing_index_2', - mappings: { properties: {} }, - esCapabilities, - })(); - await createIndex({ - client, - indexName: 'existing_index_with_write_block', - mappings: { properties: {} }, - esCapabilities, - })(); - await bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_write_block', - operations: docs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })(); - await setWriteBlock({ client, index: 'existing_index_with_write_block' })(); - await updateAliases({ - client, - aliasActions: [{ add: { index: 'existing_index_2', alias: 'existing_index_2_alias' } }], - })(); - }); - - afterAll(async () => { - await esServer.stop(); - }); - - describe('initAction', () => { - afterAll(async () => { - await client.cluster.putSettings({ - body: { - persistent: { - // Reset persistent test settings - cluster: { routing: { allocation: { enable: null } } }, - }, - }, - }); - }); - it('resolves right empty record if no indices were found', async () => { - expect.assertions(1); - const task = initAction({ client, indices: ['no_such_index'] }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": Object {}, - } - `); - }); - it('resolves right record with found indices', async () => { - expect.assertions(1); - const res = (await initAction({ - client, - indices: ['no_such_index', 'existing_index_with_docs'], - })()) as Either.Right; - - expect(res.right).toEqual( - expect.objectContaining({ - existing_index_with_docs: { - aliases: { - existing_index_with_docs_alias: {}, - }, - mappings: expect.anything(), - settings: expect.anything(), - }, - }) - ); - }); - it('includes the _meta data of the indices in the response', async () => { - expect.assertions(1); - const res = (await initAction({ - client, - indices: ['existing_index_with_docs'], - })()) as Either.Right; - - expect(res.right).toEqual( - expect.objectContaining({ - existing_index_with_docs: { - aliases: { - existing_index_with_docs_alias: {}, - }, - mappings: { - // FIXME https://github.com/elastic/elasticsearch-js/issues/1796 - dynamic: 'true', - properties: expect.anything(), - _meta: { - migrationMappingPropertyHashes: { - references: '7997cf5a56cc02bdc9c93361bde732b0', - }, - }, - }, - settings: expect.anything(), - }, - }) - ); - }); - it('resolves left when cluster.routing.allocation.enabled is incompatible', async () => { - expect.assertions(3); - await client.cluster.putSettings({ - body: { - persistent: { - // Disable all routing allocation - cluster: { routing: { allocation: { enable: 'none' } } }, - }, - }, - }); - const task = initAction({ - client, - indices: ['existing_index_with_docs'], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "incompatible_cluster_routing_allocation", - }, - } - `); - await client.cluster.putSettings({ - body: { - persistent: { - // Allow routing to existing primaries only - cluster: { routing: { allocation: { enable: 'primaries' } } }, - }, - }, - }); - const task2 = initAction({ - client, - indices: ['existing_index_with_docs'], - }); - await expect(task2()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "incompatible_cluster_routing_allocation", - }, - } - `); - await client.cluster.putSettings({ - body: { - persistent: { - // Allow routing to new primaries only - cluster: { routing: { allocation: { enable: 'new_primaries' } } }, - }, - }, - }); - const task3 = initAction({ - client, - indices: ['existing_index_with_docs'], - }); - await expect(task3()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "incompatible_cluster_routing_allocation", - }, - } - `); - }); - it('resolves right when cluster.routing.allocation.enabled=all', async () => { - expect.assertions(1); - await client.cluster.putSettings({ - body: { - persistent: { - cluster: { routing: { allocation: { enable: 'all' } } }, - }, - }, - }); - const task = initAction({ - client, - indices: ['existing_index_with_docs'], - }); - const result = await task(); - expect(Either.isRight(result)).toBe(true); - }); - }); - - describe('setWriteBlock', () => { - beforeAll(async () => { - await createIndex({ - client, - indexName: 'new_index_without_write_block', - mappings: { properties: {} }, - esCapabilities, - })(); - }); - it('resolves right when setting the write block succeeds', async () => { - expect.assertions(1); - const task = setWriteBlock({ client, index: 'new_index_without_write_block' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "set_write_block_succeeded", - } - `); - }); - it('resolves right when setting a write block on an index that already has one', async () => { - expect.assertions(1); - const task = setWriteBlock({ client, index: 'existing_index_with_write_block' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "set_write_block_succeeded", - } - `); - }); - it('once resolved, prevents further writes to the index', async () => { - expect.assertions(1); - const task = setWriteBlock({ client, index: 'new_index_without_write_block' }); - await task(); - const sourceDocs = [ - { _source: { title: 'doc 1' } }, - { _source: { title: 'doc 2' } }, - { _source: { title: 'doc 3' } }, - { _source: { title: 'doc 4' } }, - ] as unknown as SavedObjectsRawDoc[]; - - const res = (await bulkOverwriteTransformedDocuments({ - client, - index: 'new_index_without_write_block', - operations: sourceDocs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })()) as Either.Left; - - expect(res.left).toEqual({ - type: 'target_index_had_write_block', - }); - }); - it('resolves left index_not_found_exception when the index does not exist', async () => { - expect.assertions(1); - const task = setWriteBlock({ client, index: 'no_such_index' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "no_such_index", - "type": "index_not_found_exception", - }, - } - `); - }); - }); - - describe('removeWriteBlock', () => { - beforeAll(async () => { - await createIndex({ - client, - indexName: 'existing_index_without_write_block_2', - mappings: { properties: {} }, - esCapabilities, - })(); - await createIndex({ - client, - indexName: 'existing_index_with_write_block_2', - mappings: { properties: {} }, - esCapabilities, - })(); - await setWriteBlock({ client, index: 'existing_index_with_write_block_2' })(); - }); - it('resolves right if successful when an index already has a write block', async () => { - expect.assertions(1); - const task = removeWriteBlock({ client, index: 'existing_index_with_write_block_2' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "remove_write_block_succeeded", - } - `); - }); - it('resolves right if successful when an index does not have a write block', async () => { - expect.assertions(1); - const task = removeWriteBlock({ client, index: 'existing_index_without_write_block_2' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "remove_write_block_succeeded", - } - `); - }); - it('rejects if there is a non-retryable error', async () => { - expect.assertions(1); - const task = removeWriteBlock({ client, index: 'no_such_index' }); - await expect(task()).rejects.toThrow('index_not_found_exception'); - }); - }); - - describe('waitForIndexStatus', () => { - afterEach(async () => { - try { - await client.indices.delete({ index: 'red_then_yellow_index' }); - await client.indices.delete({ index: 'red_index' }); - } catch (e) { - /** ignore */ - } - }); - it('resolves right after waiting for an index status to be yellow if the index already existed', async () => { - // Create a red index - await client.indices.create( - { - index: 'red_then_yellow_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate 1 replica so that this index stays yellow - number_of_replicas: '1', - // Disable all shard allocation so that the index status is red - routing: { allocation: { enable: 'none' } }, - }, - }, - }, - { maxRetries: 0 /** handle retry ourselves for now */ } - ); - - // Start tracking the index status - const indexStatusPromise = waitForIndexStatus({ - client, - index: 'red_then_yellow_index', - status: 'yellow', - })(); - - const redStatusResponse = await client.cluster.health({ index: 'red_then_yellow_index' }); - expect(redStatusResponse.status).toBe('red'); - - client.indices.putSettings({ - index: 'red_then_yellow_index', - body: { - // Enable all shard allocation so that the index status turns yellow - routing: { allocation: { enable: 'all' } }, - }, - }); - - await indexStatusPromise; - // Assert that the promise didn't resolve before the index became yellow - - const yellowStatusResponse = await client.cluster.health({ index: 'red_then_yellow_index' }); - expect(yellowStatusResponse.status).toBe('yellow'); - }); - it('resolves left with "index_not_yellow_timeout" after waiting for an index status to be yellow timeout', async () => { - // Create a red index - await client.indices - .create({ - index: 'red_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate no replicas so that this index stays red - number_of_replicas: '0', - // Disable all shard allocation so that the index status is red - index: { routing: { allocation: { enable: 'none' } } }, - }, - }, - }) - .catch((e) => {}); - // try to wait for index status yellow: - const task = waitForIndexStatus({ - client, - index: 'red_index', - timeout: '1s', - status: 'yellow', - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "message": "[index_not_yellow_timeout] Timeout waiting for the status of the [red_index] index to become 'yellow'", - "type": "index_not_yellow_timeout", - }, - } - `); - }); - - it('resolves left with "index_not_green_timeout" after waiting for an index status to be green timeout', async () => { - // Create a yellow index - await client.indices - .create({ - index: 'yellow_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate no replicas so that this index stays yellow - number_of_replicas: '0', - }, - }, - }) - .catch((e) => {}); - // try to wait for index status yellow: - const task = waitForIndexStatus({ - client, - index: 'red_index', - timeout: '1s', - status: 'green', - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "message": "[index_not_green_timeout] Timeout waiting for the status of the [red_index] index to become 'green'", - "type": "index_not_green_timeout", - }, - } - `); - }); - }); - - describe('cloneIndex', () => { - afterAll(async () => { - try { - // Restore the default setting of 1000 shards per node - await client.cluster.putSettings({ - persistent: { cluster: { max_shards_per_node: null } }, - }); - await client.indices.delete({ index: 'clone_*' }); - } catch (e) { - /** ignore */ - } - }); - it('resolves right if cloning into a new target index', async () => { - const task = cloneIndex({ - client, - source: 'existing_index_with_write_block', - target: 'clone_target_1', - esCapabilities, - }); - expect.assertions(3); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": Object { - "acknowledged": true, - "shardsAcknowledged": true, - }, - } - `); - const { clone_target_1: cloneTarget1 } = await client.indices.getSettings({ - index: 'clone_target_1', - }); - // @ts-expect-error https://github.com/elastic/elasticsearch/issues/89381 - expect(cloneTarget1.settings?.index.mapping?.total_fields.limit).toBe('1500'); - expect(cloneTarget1.settings?.blocks?.write).toBeUndefined(); - }); - it('resolves right if clone target already existed after waiting for index status to be green ', async () => { - expect.assertions(2); - - // Create a red index that we later turn into green - await client.indices - .create({ - index: 'clone_red_then_green_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate 1 replica so that this index can go to green - number_of_replicas: '0', - // Disable all shard allocation so that the index status is red - index: { routing: { allocation: { enable: 'none' } } }, - }, - }, - }) - .catch((e) => {}); - - // Call clone even though the index already exists - const cloneIndexPromise = cloneIndex({ - client, - source: 'existing_index_with_write_block', - target: 'clone_red_then_green_index', - esCapabilities, - })(); - - let indexGreen = false; - setTimeout(() => { - client.indices.putSettings({ - index: 'clone_red_then_green_index', - body: { - // Enable all shard allocation so that the index status goes green - routing: { allocation: { enable: 'all' } }, - }, - }); - indexGreen = true; - }, 10); - - await cloneIndexPromise.then((res) => { - // Assert that the promise didn't resolve before the index became green - expect(indexGreen).toBe(true); - expect(res).toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": Object { - "acknowledged": true, - "shardsAcknowledged": true, - }, - } - `); - }); - }); - it('resolves left with a index_not_green_timeout if clone target already exists but takes longer than the specified timeout before turning green', async () => { - // Create a red index - await client.indices - .create({ - index: 'clone_red_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate 1 replica so that this index stays yellow - number_of_replicas: '1', - // Disable all shard allocation so that the index status is red - index: { routing: { allocation: { enable: 'none' } } }, - }, - }, - }) - .catch((e) => {}); - - // Call clone even though the index already exists - let cloneIndexPromise = cloneIndex({ - client, - source: 'existing_index_with_write_block', - target: 'clone_red_index', - timeout: '1s', - esCapabilities, - })(); - - await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "message": "[index_not_green_timeout] Timeout waiting for the status of the [clone_red_index] index to become 'green'", - "type": "index_not_green_timeout", - }, - } - `); - - // Now make the index yellow and repeat - - await client.indices.putSettings({ - index: 'clone_red_index', - body: { - // Enable all shard allocation so that the index status goes yellow - routing: { allocation: { enable: 'all' } }, - }, - }); - - // Call clone even though the index already exists - cloneIndexPromise = cloneIndex({ - client, - source: 'existing_index_with_write_block', - target: 'clone_red_index', - timeout: '1s', - esCapabilities, - })(); - - await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "message": "[index_not_green_timeout] Timeout waiting for the status of the [clone_red_index] index to become 'green'", - "type": "index_not_green_timeout", - }, - } - `); - - // Now make the index green and it should succeed - - await client.indices.putSettings({ - index: 'clone_red_index', - body: { - // Set zero replicas so status goes green - number_of_replicas: 0, - }, - }); - - // Call clone even though the index already exists - cloneIndexPromise = cloneIndex({ - client, - source: 'existing_index_with_write_block', - target: 'clone_red_index', - timeout: '30s', - esCapabilities, - })(); - - await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": Object { - "acknowledged": true, - "shardsAcknowledged": true, - }, - } - `); - }); - it('resolves left index_not_found_exception if the source index does not exist', async () => { - expect.assertions(1); - const task = cloneIndex({ - client, - source: 'no_such_index', - target: 'clone_target_3', - esCapabilities, - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "no_such_index", - "type": "index_not_found_exception", - }, - } - `); - }); - it('resolves left cluster_shard_limit_exceeded when the action would exceed the maximum normal open shards', async () => { - // Set the max shards per node really low so that any new index that's created would exceed the maximum open shards for this cluster - await client.cluster.putSettings({ persistent: { cluster: { max_shards_per_node: 1 } } }); - const cloneIndexPromise = cloneIndex({ - client, - source: 'existing_index_with_write_block', - target: 'clone_target_4', - esCapabilities, - })(); - await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "cluster_shard_limit_exceeded", - }, - } - `); - }); - }); - - // Reindex doesn't return any errors on it's own, so we have to test - // together with waitForReindexTask - describe('reindex & waitForReindexTask', () => { - it('resolves right when reindex succeeds without reindex script', async () => { - const res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "reindex_succeeded", - } - `); - - const results = await client.search({ index: 'reindex_target', size: 1000 }); - expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a", - "doc 1", - "doc 2", - "doc 3", - "f-agent-event 5", - "saved object 4", - ] - `); - }); - it('resolves right and excludes all documents not matching the excludeOnUpgradeQuery', async () => { - const res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_excluded_docs', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { - bool: { - must_not: ['f_agent_event', 'another_unused_type'].map((type) => ({ - term: { type }, - })), - }, - }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "reindex_succeeded", - } - `); - - const results = await client.search({ index: 'reindex_target_excluded_docs', size: 1000 }); - expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a", - "doc 1", - "doc 2", - "doc 3", - ] - `); - }); - it('resolves right when reindex succeeds with reindex script', async () => { - expect.assertions(2); - const res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_2', - reindexScript: Option.some(`ctx._source.title = ctx._source.title + '_updated'`), - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "reindex_succeeded", - } - `); - - const results = await client.search({ index: 'reindex_target_2', size: 1000 }); - expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a_updated", - "doc 1_updated", - "doc 2_updated", - "doc 3_updated", - "f-agent-event 5_updated", - "saved object 4_updated", - ] - `); - }); - it('resolves right, ignores version conflicts and does not update existing docs when reindex multiple times', async () => { - expect.assertions(3); - // Reindex with a script - let res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_3', - reindexScript: Option.some(`ctx._source.title = ctx._source.title + '_updated'`), - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - let task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "reindex_succeeded", - } - `); - - // reindex without a script - res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_3', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "reindex_succeeded", - } - `); - - // Assert that documents weren't overridden by the second, unscripted reindex - const results = await client.search({ index: 'reindex_target_3', size: 1000 }); - expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a_updated", - "doc 1_updated", - "doc 2_updated", - "doc 3_updated", - "f-agent-event 5_updated", - "saved object 4_updated", - ] - `); - }); - it('resolves right and proceeds to add missing documents if there are some existing docs conflicts', async () => { - expect.assertions(2); - // Simulate a reindex that only adds some of the documents from the - // source index into the target index - await createIndex({ - client, - indexName: 'reindex_target_4', - mappings: { properties: {} }, - esCapabilities, - })(); - const response = await client.search({ index: 'existing_index_with_docs', size: 1000 }); - const sourceDocs = (response.hits?.hits as SavedObjectsRawDoc[]) - .slice(0, 2) - .map(({ _id, _source }) => ({ - _id, - _source, - })); - await bulkOverwriteTransformedDocuments({ - client, - index: 'reindex_target_4', - operations: sourceDocs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })(); - - // Now do a real reindex - const res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_4', - reindexScript: Option.some(`ctx._source.title = ctx._source.title + '_updated'`), - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "reindex_succeeded", - } - `); - // Assert that existing documents weren't overridden, but that missing - // documents were added by the reindex - const results = await client.search({ index: 'reindex_target_4', size: 1000 }); - expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a_updated", - "doc 1", - "doc 2", - "doc 3_updated", - "f-agent-event 5_updated", - "saved object 4_updated", - ] - `); - }); - it('resolves left incompatible_mapping_exception if all reindex failures are due to a strict_dynamic_mapping_exception', async () => { - expect.assertions(1); - // Simulates one instance having completed the UPDATE_TARGET_MAPPINGS - // step which makes the mappings incompatible with outdated documents. - // If another instance then tries a reindex it will get a - // strict_dynamic_mapping_exception even if the documents already exist - // and should ignore this error. - - // Create an index with incompatible mappings - await createIndex({ - client, - indexName: 'reindex_target_5', - mappings: { - dynamic: 'strict', - properties: { - /** no title field */ - }, - }, - esCapabilities, - })(); - - const { - right: { taskId: reindexTaskId }, - } = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_5', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: reindexTaskId, timeout: '10s' }); - - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "incompatible_mapping_exception", - }, - } - `); - }); - it('resolves left incompatible_mapping_exception if all reindex failures are due to a mapper_parsing_exception', async () => { - expect.assertions(1); - // Simulates one instance having completed the UPDATE_TARGET_MAPPINGS - // step which makes the mappings incompatible with outdated documents. - // If another instance then tries a reindex it will get a - // strict_dynamic_mapping_exception even if the documents already exist - // and should ignore this error. - - // Create an index with incompatible mappings - await createIndex({ - client, - indexName: 'reindex_target_6', - mappings: { - dynamic: false, - properties: { title: { type: 'integer' } }, // integer is incompatible with string title - }, - esCapabilities, - })(); - - const { - right: { taskId: reindexTaskId }, - } = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'reindex_target_6', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: reindexTaskId, timeout: '10s' }); - - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "incompatible_mapping_exception", - }, - } - `); - }); - it('resolves left index_not_found_exception if source index does not exist', async () => { - expect.assertions(1); - const res = (await reindex({ - client, - sourceIndex: 'no_such_index', - targetIndex: 'reindex_target', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { - match_all: {}, - }, - batchSize: 1000, - })()) as Either.Right; - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "no_such_index", - "type": "index_not_found_exception", - }, - } - `); - }); - it('resolves left target_index_had_write_block if all failures are due to a write block', async () => { - expect.assertions(1); - const res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'existing_index_with_write_block', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "target_index_had_write_block", - }, - } - `); - }); - it('resolves left if requireAlias=true and the target is not an alias', async () => { - expect.assertions(1); - const res = (await reindex({ - client, - sourceIndex: 'existing_index_with_docs', - targetIndex: 'existing_index_with_write_block', - reindexScript: Option.none, - requireAlias: true, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); - - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "existing_index_with_write_block", - "type": "index_not_found_exception", - }, - } - `); - }); - it('resolves left wait_for_task_completion_timeout when the task does not finish within the timeout', async () => { - await waitForIndexStatus({ - client, - index: '.kibana_1', - status: 'yellow', - })(); - - const res = (await reindex({ - client, - sourceIndex: '.kibana_1', - targetIndex: 'reindex_target', - reindexScript: Option.none, - requireAlias: false, - excludeOnUpgradeQuery: { match_all: {} }, - batchSize: 1000, - })()) as Either.Right; - - const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '0s' }); - - await expect(task()).resolves.toMatchObject({ - _tag: 'Left', - left: { - error: expect.any(errors.ResponseError), - message: expect.stringContaining('[timeout_exception]'), - type: 'wait_for_task_completion_timeout', - }, - }); - }); - }); - - describe('openPit', () => { - it('opens PointInTime for an index', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - expect(pitResponse.right.pitId).toEqual(expect.any(String)); - - const searchResponse = await client.search({ - body: { - pit: { id: pitResponse.right.pitId }, - }, - }); - - await expect(searchResponse.hits.hits.length).toBeGreaterThan(0); - }); - it('rejects if index does not exist', async () => { - const openPitTask = openPit({ client, index: 'no_such_index' }); - await expect(openPitTask()).rejects.toThrow('index_not_found_exception'); - }); - }); - - describe('readWithPit', () => { - it('requests documents from an index using given PIT', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { match_all: {} }, - batchSize: 1000, - searchAfter: undefined, - }); - const docsResponse = (await readWithPitTask()) as Either.Right; - - await expect(docsResponse.right.outdatedDocuments.length).toBe(6); - }); - - it('requests the batchSize of documents from an index', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { match_all: {} }, - batchSize: 3, - searchAfter: undefined, - }); - const docsResponse = (await readWithPitTask()) as Either.Right; - - await expect(docsResponse.right.outdatedDocuments.length).toBe(3); - }); - - it('it excludes documents not matching the provided "query"', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { - bool: { - must_not: [ - { - term: { - type: 'f_agent_event', - }, - }, - { - term: { - type: 'another_unused_type', - }, - }, - ], - }, - }, - batchSize: 1000, - searchAfter: undefined, - }); - - const docsResponse = (await readWithPitTask()) as Either.Right; - - expect(docsResponse.right.outdatedDocuments.map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a", - "doc 1", - "doc 2", - "doc 3", - ] - `); - }); - - it('only returns documents that match the provided "query"', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { - match: { title: { query: 'doc' } }, - }, - batchSize: 1000, - searchAfter: undefined, - }); - - const docsResponse = (await readWithPitTask()) as Either.Right; - - expect(docsResponse.right.outdatedDocuments.map((doc) => doc._source.title).sort()) - .toMatchInlineSnapshot(` - Array [ - "doc 1", - "doc 2", - "doc 3", - ] - `); - }); - - it('returns docs with _seq_no and _primary_term when specified', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { - match: { title: { query: 'doc' } }, - }, - batchSize: 1000, - searchAfter: undefined, - seqNoPrimaryTerm: true, - }); - - const docsResponse = (await readWithPitTask()) as Either.Right; - - expect(docsResponse.right.outdatedDocuments).toEqual( - expect.arrayContaining([ - expect.objectContaining({ - _seq_no: expect.any(Number), - _primary_term: expect.any(Number), - }), - ]) - ); - }); - - it('does not return docs with _seq_no and _primary_term if not specified', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { - match: { title: { query: 'doc' } }, - }, - batchSize: 1000, - searchAfter: undefined, - }); - - const docsResponse = (await readWithPitTask()) as Either.Right; - - expect(docsResponse.right.outdatedDocuments).toEqual( - expect.arrayContaining([ - expect.not.objectContaining({ - _seq_no: expect.any(Number), - _primary_term: expect.any(Number), - }), - ]) - ); - }); - - it('returns a left es_response_too_large error when a read batch exceeds the maxResponseSize', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - let readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { match_all: {} }, - batchSize: 1, // small batch size so we don't exceed the maxResponseSize - searchAfter: undefined, - maxResponseSizeBytes: 500, // set a small size to force the error - }); - const rightResponse = (await readWithPitTask()) as Either.Right; - - await expect(Either.isRight(rightResponse)).toBe(true); - - readWithPitTask = readWithPit({ - client, - pitId: pitResponse.right.pitId, - query: { match_all: {} }, - batchSize: 10, // a bigger batch will exceed the maxResponseSize - searchAfter: undefined, - maxResponseSizeBytes: 500, // set a small size to force the error - }); - const leftResponse = (await readWithPitTask()) as Either.Left; - - expect(leftResponse.left.type).toBe('es_response_too_large'); - // ES response contains a field that indicates how long it took ES to get the response, e.g.: "took": 7 - // if ES takes more than 9ms, the payload will be 1 byte bigger. - // see https://github.com/elastic/kibana/issues/160994 - // Thus, the statements below account for response times up to 99ms - expect(leftResponse.left.contentLength).toBeGreaterThanOrEqual(3184); - expect(leftResponse.left.contentLength).toBeLessThanOrEqual(3185); - }); - - it('rejects if PIT does not exist', async () => { - const readWithPitTask = readWithPit({ - client, - pitId: 'no_such_pit', - query: { match_all: {} }, - batchSize: 1000, - searchAfter: undefined, - }); - await expect(readWithPitTask()).rejects.toThrow('illegal_argument_exception'); - }); - }); - - describe('closePit', () => { - it('closes PointInTime', async () => { - const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); - const pitResponse = (await openPitTask()) as Either.Right; - - const pitId = pitResponse.right.pitId; - await closePit({ client, pitId })(); - - const searchTask = client.search({ - body: { - pit: { id: pitId }, - }, - }); - - await expect(searchTask).rejects.toThrow('search_phase_execution_exception'); - }); - - it('rejects if PIT does not exist', async () => { - const closePitTask = closePit({ client, pitId: 'no_such_pit' }); - await expect(closePitTask()).rejects.toThrow('illegal_argument_exception'); - }); - }); - - describe('transformDocs', () => { - it('applies "transformRawDocs" and returns the transformed documents', async () => { - const originalDocs = [ - { _id: 'foo:1', _source: { type: 'dashboard', value: 1 } }, - { _id: 'foo:2', _source: { type: 'dashboard', value: 2 } }, - ]; - - function innerTransformRawDocs( - docs: SavedObjectsRawDoc[] - ): TaskEither { - return async () => { - const processedDocs: SavedObjectsRawDoc[] = []; - for (const doc of docs) { - doc._source.value += 1; - processedDocs.push(doc); - } - return Either.right({ processedDocs }); - }; - } - - const transformTask = transformDocs({ - transformRawDocs: innerTransformRawDocs, - outdatedDocuments: originalDocs, - }); - - const resultsWithProcessDocs = ( - (await transformTask()) as Either.Right - ).right.processedDocs; - expect(resultsWithProcessDocs.length).toEqual(2); - const foo2 = resultsWithProcessDocs.find((h) => h._id === 'foo:2'); - expect(foo2?._source?.value).toBe(3); - }); - }); - - describe('waitForPickupUpdatedMappingsTask', () => { - it('rejects if there are failures', async () => { - const res = (await pickupUpdatedMappings( - client, - 'existing_index_with_write_block', - 1000 - )()) as Either.Right; - - const task = waitForPickupUpdatedMappingsTask({ - client, - taskId: res.right.taskId, - timeout: '10s', - }); - - // We can't do a snapshot match because the response includes an index - // id which ES assigns dynamically - await expect(task()).rejects.toMatchObject({ - message: - /pickupUpdatedMappings task failed with the following failures:\n\[\{\"index\":\"existing_index_with_write_block\"/, - }); - }); - it('rejects if there is an error', async () => { - const res = (await pickupUpdatedMappings( - client, - 'no_such_index', - 1000 - )()) as Either.Right; - - const task = waitForPickupUpdatedMappingsTask({ - client, - taskId: res.right.taskId, - timeout: '10s', - }); - - await expect(task()).rejects.toThrow('index_not_found_exception'); - }); - - it('resolves left wait_for_task_completion_timeout when the task does not complete within the timeout', async () => { - const res = (await pickupUpdatedMappings( - client, - '.kibana_1', - 1000 - )()) as Either.Right; - - const task = waitForPickupUpdatedMappingsTask({ - client, - taskId: res.right.taskId, - timeout: '0s', - }); - - await expect(task()).resolves.toMatchObject({ - _tag: 'Left', - left: { - error: expect.any(errors.ResponseError), - message: expect.stringContaining('[timeout_exception]'), - type: 'wait_for_task_completion_timeout', - }, - }); - }); - it('resolves right when successful', async () => { - const res = (await pickupUpdatedMappings( - client, - 'existing_index_with_docs', - 1000 - )()) as Either.Right; - - const task = waitForPickupUpdatedMappingsTask({ - client, - taskId: res.right.taskId, - timeout: '10s', - }); - - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "pickup_updated_mappings_succeeded", - } - `); - }); - }); - - describe('updateAndPickupMappings', () => { - it('resolves right when mappings were updated and picked up', async () => { - // Create an index without any mappings and insert documents into it - await createIndex({ - client, - indexName: 'existing_index_without_mappings', - mappings: { - dynamic: false, - properties: {}, - }, - esCapabilities, - })(); - const sourceDocs = [ - { _source: { title: 'doc 1' } }, - { _source: { title: 'doc 2' } }, - { _source: { title: 'doc 3' } }, - { _source: { title: 'doc 4' } }, - ] as unknown as SavedObjectsRawDoc[]; - await bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_without_mappings', - operations: sourceDocs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })(); - - // Assert that we can't search over the unmapped fields of the document - - const originalSearchResults = await client.search({ - index: 'existing_index_without_mappings', - size: 1000, - query: { - match: { title: { query: 'doc' } }, - }, - }); - expect(originalSearchResults.hits?.hits.length).toBe(0); - - // Update and pickup mappings so that the title field is searchable - const res = await updateAndPickupMappings({ - client, - index: 'existing_index_without_mappings', - mappings: { - properties: { - title: { type: 'text' }, - }, - }, - batchSize: 1000, - })(); - expect(Either.isRight(res)).toBe(true); - const taskId = (res as Either.Right).right.taskId; - await waitForPickupUpdatedMappingsTask({ client, taskId, timeout: '60s' })(); - - // Repeat the search expecting to be able to find the existing documents - const pickedUpSearchResults = await client.search({ - index: 'existing_index_without_mappings', - size: 1000, - query: { - match: { title: { query: 'doc' } }, - }, - }); - expect(pickedUpSearchResults.hits?.hits.length).toBe(4); - }); - }); - - describe('updateMappings', () => { - it('rejects if ES throws an error', async () => { - const task = updateMappings({ - client, - index: 'no_such_index', - mappings: { - properties: { - created_at: { - type: 'date', - }, - }, - _meta: { - migrationMappingPropertyHashes: { - references: 'updateda56cc02bdc9c93361bupdated', - newReferences: 'fooBarHashMd509387420934879300d9', - }, - }, - }, - })(); - - await expect(task).rejects.toThrow('index_not_found_exception'); - }); - - it('resolves left when the mappings are incompatible', async () => { - const res = await updateMappings({ - client, - index: 'existing_index_with_docs', - mappings: { - properties: { - someProperty: { - type: 'date', // attempt to change an existing field's type in an incompatible fashion - }, - }, - _meta: { - migrationMappingPropertyHashes: { - references: 'updateda56cc02bdc9c93361bupdated', - newReferences: 'fooBarHashMd509387420934879300d9', - }, - }, - }, - })(); - - expect(Either.isLeft(res)).toBe(true); - expect(res).toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "incompatible_mapping_exception", - }, - } - `); - }); - - it('resolves right when mappings are correctly updated', async () => { - const res = await updateMappings({ - client, - index: 'existing_index_with_docs', - mappings: { - properties: { - created_at: { - type: 'date', - }, - }, - _meta: { - migrationMappingPropertyHashes: { - references: 'updateda56cc02bdc9c93361bupdated', - newReferences: 'fooBarHashMd509387420934879300d9', - }, - }, - }, - })(); - - expect(Either.isRight(res)).toBe(true); - - const indices = await client.indices.get({ - index: ['existing_index_with_docs'], - }); - - expect(indices.existing_index_with_docs.mappings?.properties).toEqual( - expect.objectContaining({ - created_at: { - type: 'date', - }, - }) - ); - - expect(indices.existing_index_with_docs.mappings?._meta).toEqual({ - migrationMappingPropertyHashes: { - references: 'updateda56cc02bdc9c93361bupdated', - newReferences: 'fooBarHashMd509387420934879300d9', - }, - }); - }); - }); - - describe('updateAliases', () => { - describe('remove', () => { - it('resolves left index_not_found_exception when the index does not exist', async () => { - const task = updateAliases({ - client, - aliasActions: [ - { - remove: { - alias: 'no_such_alias', - index: 'no_such_index', - must_exist: false, - }, - }, - ], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "no_such_index", - "type": "index_not_found_exception", - }, - } - `); - }); - describe('with must_exist=false', () => { - it('resolves left alias_not_found_exception when alias does not exist', async () => { - const task = updateAliases({ - client, - aliasActions: [ - { - remove: { - alias: 'no_such_alias', - index: 'existing_index_with_docs', - must_exist: false, - }, - }, - ], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "alias_not_found_exception", - }, - } - `); - }); - }); - describe('with must_exist=true', () => { - it('resolves left alias_not_found_exception when alias does not exist on specified index', async () => { - const task = updateAliases({ - client, - aliasActions: [ - { - remove: { - alias: 'existing_index_2_alias', - index: 'existing_index_with_docs', - must_exist: true, - }, - }, - ], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "alias_not_found_exception", - }, - } - `); - }); - it('resolves left alias_not_found_exception when alias does not exist', async () => { - const task = updateAliases({ - client, - aliasActions: [ - { - remove: { - alias: 'no_such_alias', - index: 'existing_index_with_docs', - must_exist: true, - }, - }, - ], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "alias_not_found_exception", - }, - } - `); - }); - }); - }); - describe('remove_index', () => { - it('left index_not_found_exception if index does not exist', async () => { - const task = updateAliases({ - client, - aliasActions: [ - { - remove_index: { - index: 'no_such_index', - }, - }, - ], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "no_such_index", - "type": "index_not_found_exception", - }, - } - `); - }); - it('left remove_index_not_a_concrete_index when remove_index targets an alias', async () => { - const task = updateAliases({ - client, - aliasActions: [ - { - remove_index: { - index: 'existing_index_2_alias', - }, - }, - ], - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "remove_index_not_a_concrete_index", - }, - } - `); - }); - }); - }); - - describe('createIndex', () => { - afterEach(async () => { - // Restore the default setting of 1000 shards per node - await client.cluster.putSettings({ persistent: { cluster: { max_shards_per_node: null } } }); - }); - afterAll(async () => { - await client.indices.delete({ index: 'red_then_yellow_index' }).catch(); - await client.indices.delete({ index: 'yellow_then_green_index' }).catch(); - await client.indices.delete({ index: 'create_new_index' }).catch(); - }); - it('resolves right after waiting for an index status to become green when cluster state is not propagated within the timeout', async () => { - // By specifying a very short timeout Elasticsearch will respond before the shard is allocated - const createIndexPromise = createIndex({ - client, - indexName: 'create_new_index', - mappings: undefined as any, - timeout: '1nanos', - esCapabilities, - })(); - await expect(createIndexPromise).resolves.toEqual({ - _tag: 'Right', - right: 'create_index_succeeded', - }); - const { create_new_index: createNewIndex } = await client.indices.getSettings({ - index: 'create_new_index', - }); - // @ts-expect-error https://github.com/elastic/elasticsearch/issues/89381 - expect(createNewIndex.settings?.index?.mapping.total_fields.limit).toBe('1500'); - }); - it('resolves left if an existing index status does not become green', async () => { - expect.assertions(2); - // Create a red index - await client.indices - .create( - { - index: 'red_then_yellow_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate 1 replica so that this index stays yellow - number_of_replicas: '1', - // Disable all shard allocation so that the index status starts as red - index: { routing: { allocation: { enable: 'none' } } }, - }, - }, - }, - { maxRetries: 0 /** handle retry ourselves for now */ } - ) - .catch((e) => { - /** ignore */ - }); - - // Call createIndex even though the index already exists - const createIndexPromise = createIndex({ - client, - indexName: 'red_then_yellow_index', - mappings: undefined as any, - esCapabilities, - })(); - let indexYellow = false; - - setTimeout(() => { - client.indices.putSettings({ - index: 'red_then_yellow_index', - body: { - // Renable allocation so that the status becomes yellow - routing: { allocation: { enable: 'all' } }, - }, - }); - indexYellow = true; - }, 10); - - await createIndexPromise.then((err) => { - // Assert that the promise didn't resolve before the index became yellow - expect(indexYellow).toBe(true); - expect(err).toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "message": "[index_not_green_timeout] Timeout waiting for the status of the [red_then_yellow_index] index to become 'green'", - "type": "index_not_green_timeout", - }, - } - `); - }); - }); - it('resolves right after waiting for an existing index status to become green', async () => { - expect.assertions(2); - // Create a yellow index - await client.indices - .create({ - index: 'yellow_then_green_index', - timeout: '5s', - body: { - mappings: { properties: {} }, - settings: { - // Allocate 1 replica so that this index stays yellow - number_of_replicas: '1', - }, - }, - }) - .catch((e) => { - /** ignore */ - }); - - // Call createIndex even though the index already exists - const createIndexPromise = createIndex({ - client, - indexName: 'yellow_then_green_index', - mappings: undefined as any, - esCapabilities, - })(); - let indexGreen = false; - - setTimeout(() => { - client.indices.putSettings({ - index: 'yellow_then_green_index', - body: { - // Set 0 replican so that this index becomes green - number_of_replicas: '0', - }, - }); - indexGreen = true; - }, 10); - - await createIndexPromise.then((res) => { - // Assert that the promise didn't resolve before the index became green - expect(indexGreen).toBe(true); - expect(res).toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "index_already_exists", - } - `); - }); - }); - it('resolves left cluster_shard_limit_exceeded when the action would exceed the maximum normal open shards', async () => { - // Set the max shards per node really low so that any new index that's created would exceed the maximum open shards for this cluster - await client.cluster.putSettings({ persistent: { cluster: { max_shards_per_node: 1 } } }); - const createIndexPromise = createIndex({ - client, - indexName: 'create_index_1', - mappings: undefined as any, - esCapabilities, - })(); - await expect(createIndexPromise).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "cluster_shard_limit_exceeded", - }, - } - `); - }); - it('rejects when there is an unexpected error creating the index', async () => { - // Creating an index with the same name as an existing alias to induce - // failure - await expect( - createIndex({ - client, - indexName: 'existing_index_2_alias', - mappings: undefined as any, - esCapabilities, - })() - ).rejects.toThrow('invalid_index_name_exception'); - }); - }); - - describe('bulkOverwriteTransformedDocuments', () => { - it('resolves right when documents do not yet exist in the index', async () => { - const newDocs = [ - { _source: { title: 'doc 5' } }, - { _source: { title: 'doc 6' } }, - { _source: { title: 'doc 7' } }, - ] as unknown as SavedObjectsRawDoc[]; - const task = bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_docs', - operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - }); - - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "bulk_index_succeeded", - } - `); - }); - it('resolves right even if there were some version_conflict_engine_exception', async () => { - const response = await client.search({ index: 'existing_index_with_docs', size: 1000 }); - const existingDocs = response.hits?.hits as SavedObjectsRawDoc[]; - - const task = bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_docs', - operations: [ - ...existingDocs, - { _source: { title: 'doc 8' } } as unknown as SavedObjectsRawDoc, - ].map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Right", - "right": "bulk_index_succeeded", - } - `); - }); - it('resolves left index_not_found_exception if the index does not exist and useAliasToPreventAutoCreate=true', async () => { - const newDocs = [ - { _source: { title: 'doc 5' } }, - { _source: { title: 'doc 6' } }, - { _source: { title: 'doc 7' } }, - ] as unknown as SavedObjectsRawDoc[]; - await expect( - bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_docs_alias_that_does_not_exist', - useAliasToPreventAutoCreate: true, - operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })() - ).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "index": "existing_index_with_docs_alias_that_does_not_exist", - "type": "index_not_found_exception", - }, - } - `); - }); - it('resolves left target_index_had_write_block if there are write_block errors', async () => { - const newDocs = [ - { _source: { title: 'doc 5' } }, - { _source: { title: 'doc 6' } }, - { _source: { title: 'doc 7' } }, - ] as unknown as SavedObjectsRawDoc[]; - await expect( - bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_write_block', - operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), - refresh: 'wait_for', - })() - ).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "target_index_had_write_block", - }, - } - `); - }); - - it('resolves left request_entity_too_large_exception when the payload is too large', async () => { - const newDocs = new Array(10000).fill({ - _source: { - title: - 'how do I create a document thats large enoug to exceed the limits without typing long sentences', - }, - }) as SavedObjectsRawDoc[]; - const task = bulkOverwriteTransformedDocuments({ - client, - index: 'existing_index_with_docs', - operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), - }); - await expect(task()).resolves.toMatchInlineSnapshot(` - Object { - "_tag": "Left", - "left": Object { - "type": "request_entity_too_large_exception", - }, - } - `); - }); + runActionTestSuite({ + startEs: async () => { + const esServer = await startES(); + const client = esServer.es.getClient().child(MIGRATION_CLIENT_OPTIONS); + return { esServer, client }; + }, + environment: 'traditional', }); }); diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts new file mode 100644 index 00000000000000..e8587ee82ee46e --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts @@ -0,0 +1,2095 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as Either from 'fp-ts/lib/Either'; +import * as Option from 'fp-ts/lib/Option'; +import { errors } from '@elastic/elasticsearch'; +import type { TaskEither } from 'fp-ts/lib/TaskEither'; +import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; +import { getCapabilitiesFromClient } from '@kbn/core-elasticsearch-server-internal'; +import { + bulkOverwriteTransformedDocuments, + closePit, + createIndex, + openPit, + type OpenPitResponse, + reindex, + readWithPit, + type EsResponseTooLargeError, + type ReadWithPit, + setWriteBlock, + updateAliases, + waitForReindexTask, + type ReindexResponse, + waitForPickupUpdatedMappingsTask, + pickupUpdatedMappings, + type UpdateByQueryResponse, + updateAndPickupMappings, + type UpdateAndPickupMappingsResponse, + updateMappings, + removeWriteBlock, + transformDocs, + waitForIndexStatus, + initAction, + cloneIndex, + type DocumentsTransformFailed, + type DocumentsTransformSuccess, + createBulkIndexOperationTuple, +} from '@kbn/core-saved-objects-migration-server-internal'; + +interface EsServer { + stop: () => Promise; +} + +type StartEs = () => Promise<{ + esServer: EsServer; + client: ElasticsearchClient; +}>; + +export const runActionTestSuite = ({ + startEs, + environment, +}: { + startEs: StartEs; + environment: 'traditional' | 'serverless'; +}) => { + let esServer: EsServer; + let client: ElasticsearchClient; + let esCapabilities: ElasticsearchCapabilities; + + const runOnTraditionalOnly = (fn: Function) => { + if (environment === 'traditional') { + fn(); + } + }; + + beforeAll(async () => { + const { esServer: _esServer, client: _client } = await startEs(); + esServer = _esServer; + client = _client; + esCapabilities = await getCapabilitiesFromClient(client); + + // Create test fixture data: + await createIndex({ + client, + indexName: 'existing_index_with_docs', + aliases: ['existing_index_with_docs_alias'], + esCapabilities, + mappings: { + dynamic: true, + properties: { + someProperty: { + type: 'integer', + }, + }, + _meta: { + migrationMappingPropertyHashes: { + references: '7997cf5a56cc02bdc9c93361bde732b0', + }, + }, + }, + })(); + const docs = [ + { _source: { title: 'doc 1' } }, + { _source: { title: 'doc 2' } }, + { _source: { title: 'doc 3' } }, + { _source: { title: 'saved object 4', type: 'another_unused_type' } }, + { _source: { title: 'f-agent-event 5', type: 'f_agent_event' } }, + { _source: { title: new Array(1000).fill('a').join(), type: 'large' } }, // "large" saved object + ] as unknown as SavedObjectsRawDoc[]; + await bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_docs', + operations: docs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })(); + + await createIndex({ + client, + indexName: 'existing_index_2', + mappings: { properties: {} }, + esCapabilities, + })(); + await createIndex({ + client, + indexName: 'existing_index_with_write_block', + mappings: { properties: {} }, + esCapabilities, + })(); + await bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_write_block', + operations: docs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })(); + await setWriteBlock({ client, index: 'existing_index_with_write_block' })(); + await updateAliases({ + client, + aliasActions: [{ add: { index: 'existing_index_2', alias: 'existing_index_2_alias' } }], + })(); + }); + + afterAll(async () => { + await client.indices.delete({ index: 'existing_index_with_docs' }).catch(() => ({})); + await client.indices.delete({ index: 'existing_index_2' }).catch(() => ({})); + await client.indices.delete({ index: 'existing_index_with_write_block' }).catch(() => ({})); + + await esServer.stop(); + }); + + describe('initAction', () => { + afterAll(async () => { + await client.cluster.putSettings({ + body: { + persistent: { + // Reset persistent test settings + cluster: { routing: { allocation: { enable: null } } }, + }, + }, + }); + }); + it('resolves right empty record if no indices were found', async () => { + expect.assertions(1); + const task = initAction({ client, indices: ['no_such_index'] }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": Object {}, + } + `); + }); + it('resolves right record with found indices', async () => { + expect.assertions(1); + const res = (await initAction({ + client, + indices: ['no_such_index', 'existing_index_with_docs'], + })()) as Either.Right; + + expect(res.right).toEqual( + expect.objectContaining({ + existing_index_with_docs: expect.objectContaining({ + aliases: { + existing_index_with_docs_alias: {}, + }, + mappings: expect.anything(), + settings: expect.anything(), + }), + }) + ); + }); + it('includes the _meta data of the indices in the response', async () => { + expect.assertions(1); + const res = (await initAction({ + client, + indices: ['existing_index_with_docs'], + })()) as Either.Right; + + expect(res.right).toEqual( + expect.objectContaining({ + existing_index_with_docs: expect.objectContaining({ + aliases: { + existing_index_with_docs_alias: {}, + }, + mappings: { + // FIXME https://github.com/elastic/elasticsearch-js/issues/1796 + dynamic: 'true', + properties: expect.anything(), + _meta: { + migrationMappingPropertyHashes: { + references: '7997cf5a56cc02bdc9c93361bde732b0', + }, + }, + }, + settings: expect.anything(), + }), + }) + ); + }); + it('resolves left when cluster.routing.allocation.enabled is incompatible', async () => { + expect.assertions(3); + await client.cluster.putSettings({ + body: { + persistent: { + // Disable all routing allocation + cluster: { routing: { allocation: { enable: 'none' } } }, + }, + }, + }); + const task = initAction({ + client, + indices: ['existing_index_with_docs'], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "incompatible_cluster_routing_allocation", + }, + } + `); + await client.cluster.putSettings({ + body: { + persistent: { + // Allow routing to existing primaries only + cluster: { routing: { allocation: { enable: 'primaries' } } }, + }, + }, + }); + const task2 = initAction({ + client, + indices: ['existing_index_with_docs'], + }); + await expect(task2()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "incompatible_cluster_routing_allocation", + }, + } + `); + await client.cluster.putSettings({ + body: { + persistent: { + // Allow routing to new primaries only + cluster: { routing: { allocation: { enable: 'new_primaries' } } }, + }, + }, + }); + const task3 = initAction({ + client, + indices: ['existing_index_with_docs'], + }); + await expect(task3()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "incompatible_cluster_routing_allocation", + }, + } + `); + }); + it('resolves right when cluster.routing.allocation.enabled=all', async () => { + expect.assertions(1); + await client.cluster.putSettings({ + body: { + persistent: { + cluster: { routing: { allocation: { enable: 'all' } } }, + }, + }, + }); + const task = initAction({ + client, + indices: ['existing_index_with_docs'], + }); + const result = await task(); + expect(Either.isRight(result)).toBe(true); + }); + }); + + describe('setWriteBlock', () => { + beforeAll(async () => { + await createIndex({ + client, + indexName: 'new_index_without_write_block', + mappings: { properties: {} }, + esCapabilities, + })(); + }); + it('resolves right when setting the write block succeeds', async () => { + expect.assertions(1); + const task = setWriteBlock({ client, index: 'new_index_without_write_block' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "set_write_block_succeeded", + } + `); + }); + it('resolves right when setting a write block on an index that already has one', async () => { + expect.assertions(1); + const task = setWriteBlock({ client, index: 'existing_index_with_write_block' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "set_write_block_succeeded", + } + `); + }); + it('once resolved, prevents further writes to the index', async () => { + expect.assertions(1); + const task = setWriteBlock({ client, index: 'new_index_without_write_block' }); + await task(); + const sourceDocs = [ + { _source: { title: 'doc 1' } }, + { _source: { title: 'doc 2' } }, + { _source: { title: 'doc 3' } }, + { _source: { title: 'doc 4' } }, + ] as unknown as SavedObjectsRawDoc[]; + + const res = (await bulkOverwriteTransformedDocuments({ + client, + index: 'new_index_without_write_block', + operations: sourceDocs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })()) as Either.Left; + + expect(res.left).toEqual({ + type: 'target_index_had_write_block', + }); + }); + it('resolves left index_not_found_exception when the index does not exist', async () => { + expect.assertions(1); + const task = setWriteBlock({ client, index: 'no_such_index' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "no_such_index", + "type": "index_not_found_exception", + }, + } + `); + }); + }); + + describe('removeWriteBlock', () => { + beforeAll(async () => { + await createIndex({ + client, + indexName: 'existing_index_without_write_block_2', + mappings: { properties: {} }, + esCapabilities, + })(); + await createIndex({ + client, + indexName: 'existing_index_with_write_block_2', + mappings: { properties: {} }, + esCapabilities, + })(); + await setWriteBlock({ client, index: 'existing_index_with_write_block_2' })(); + }); + it('resolves right if successful when an index already has a write block', async () => { + expect.assertions(1); + const task = removeWriteBlock({ client, index: 'existing_index_with_write_block_2' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "remove_write_block_succeeded", + } + `); + }); + it('resolves right if successful when an index does not have a write block', async () => { + expect.assertions(1); + const task = removeWriteBlock({ client, index: 'existing_index_without_write_block_2' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "remove_write_block_succeeded", + } + `); + }); + it('rejects if there is a non-retryable error', async () => { + expect.assertions(1); + const task = removeWriteBlock({ client, index: 'no_such_index' }); + await expect(task()).rejects.toThrow('index_not_found_exception'); + }); + }); + + describe('waitForIndexStatus', () => { + afterEach(async () => { + await client.indices.delete({ index: 'red_then_yellow_index' }).catch(() => ({})); + await client.indices.delete({ index: 'red_index' }).catch(() => ({})); + }); + + // routing allocation and number_of_replicas settings not supported on serverless + runOnTraditionalOnly(() => { + it('resolves right after waiting for an index status to be yellow if the index already existed', async () => { + // Create a red index + await client.indices.create( + { + index: 'red_then_yellow_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate 1 replica so that this index stays yellow + number_of_replicas: '1', + // Disable all shard allocation so that the index status is red + routing: { allocation: { enable: 'none' } }, + }, + }, + }, + { maxRetries: 0 /** handle retry ourselves for now */ } + ); + + // Start tracking the index status + const indexStatusPromise = waitForIndexStatus({ + client, + index: 'red_then_yellow_index', + status: 'yellow', + })(); + + const redStatusResponse = await client.cluster.health({ index: 'red_then_yellow_index' }); + expect(redStatusResponse.status).toBe('red'); + + client.indices.putSettings({ + index: 'red_then_yellow_index', + body: { + // Enable all shard allocation so that the index status turns yellow + routing: { allocation: { enable: 'all' } }, + }, + }); + + await indexStatusPromise; + // Assert that the promise didn't resolve before the index became yellow + + const yellowStatusResponse = await client.cluster.health({ + index: 'red_then_yellow_index', + }); + expect(yellowStatusResponse.status).toBe('yellow'); + }); + }); + + it('resolves left with "index_not_yellow_timeout" after waiting for an index status to be yellow timeout', async () => { + // Create a red index + await client.indices + .create({ + index: 'red_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate no replicas so that this index stays red + number_of_replicas: '0', + // Disable all shard allocation so that the index status is red + index: { routing: { allocation: { enable: 'none' } } }, + }, + }, + }) + .catch((e) => {}); + // try to wait for index status yellow: + const task = waitForIndexStatus({ + client, + index: 'red_index', + timeout: '1s', + status: 'yellow', + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "message": "[index_not_yellow_timeout] Timeout waiting for the status of the [red_index] index to become 'yellow'", + "type": "index_not_yellow_timeout", + }, + } + `); + }); + + it('resolves left with "index_not_green_timeout" after waiting for an index status to be green timeout', async () => { + // Create a yellow index + await client.indices + .create({ + index: 'yellow_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate no replicas so that this index stays yellow + number_of_replicas: '0', + }, + }, + }) + .catch((e) => {}); + // try to wait for index status yellow: + const task = waitForIndexStatus({ + client, + index: 'red_index', + timeout: '1s', + status: 'green', + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "message": "[index_not_green_timeout] Timeout waiting for the status of the [red_index] index to become 'green'", + "type": "index_not_green_timeout", + }, + } + `); + }); + }); + + // _clone is blocked on serverless + runOnTraditionalOnly(() => { + describe('cloneIndex', () => { + afterAll(async () => { + try { + // Restore the default setting of 1000 shards per node + await client.cluster.putSettings({ + persistent: { cluster: { max_shards_per_node: null } }, + }); + await client.indices.delete({ index: 'clone_*' }); + } catch (e) { + /** ignore */ + } + }); + it('resolves right if cloning into a new target index', async () => { + const task = cloneIndex({ + client, + source: 'existing_index_with_write_block', + target: 'clone_target_1', + esCapabilities, + }); + expect.assertions(3); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": Object { + "acknowledged": true, + "shardsAcknowledged": true, + }, + } + `); + const { clone_target_1: cloneTarget1 } = await client.indices.getSettings({ + index: 'clone_target_1', + }); + // @ts-expect-error https://github.com/elastic/elasticsearch/issues/89381 + expect(cloneTarget1.settings?.index.mapping?.total_fields.limit).toBe('1500'); + expect(cloneTarget1.settings?.blocks?.write).toBeUndefined(); + }); + it('resolves right if clone target already existed after waiting for index status to be green ', async () => { + expect.assertions(2); + + // Create a red index that we later turn into green + await client.indices + .create({ + index: 'clone_red_then_green_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate 1 replica so that this index can go to green + number_of_replicas: '0', + // Disable all shard allocation so that the index status is red + index: { routing: { allocation: { enable: 'none' } } }, + }, + }, + }) + .catch((e) => {}); + + // Call clone even though the index already exists + const cloneIndexPromise = cloneIndex({ + client, + source: 'existing_index_with_write_block', + target: 'clone_red_then_green_index', + esCapabilities, + })(); + + let indexGreen = false; + setTimeout(() => { + client.indices.putSettings({ + index: 'clone_red_then_green_index', + body: { + // Enable all shard allocation so that the index status goes green + routing: { allocation: { enable: 'all' } }, + }, + }); + indexGreen = true; + }, 10); + + await cloneIndexPromise.then((res) => { + // Assert that the promise didn't resolve before the index became green + expect(indexGreen).toBe(true); + expect(res).toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": Object { + "acknowledged": true, + "shardsAcknowledged": true, + }, + } + `); + }); + }); + it('resolves left with a index_not_green_timeout if clone target already exists but takes longer than the specified timeout before turning green', async () => { + // Create a red index + await client.indices + .create({ + index: 'clone_red_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate 1 replica so that this index stays yellow + number_of_replicas: '1', + // Disable all shard allocation so that the index status is red + index: { routing: { allocation: { enable: 'none' } } }, + }, + }, + }) + .catch((e) => {}); + + // Call clone even though the index already exists + let cloneIndexPromise = cloneIndex({ + client, + source: 'existing_index_with_write_block', + target: 'clone_red_index', + timeout: '1s', + esCapabilities, + })(); + + await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "message": "[index_not_green_timeout] Timeout waiting for the status of the [clone_red_index] index to become 'green'", + "type": "index_not_green_timeout", + }, + } + `); + + // Now make the index yellow and repeat + + await client.indices.putSettings({ + index: 'clone_red_index', + body: { + // Enable all shard allocation so that the index status goes yellow + routing: { allocation: { enable: 'all' } }, + }, + }); + + // Call clone even though the index already exists + cloneIndexPromise = cloneIndex({ + client, + source: 'existing_index_with_write_block', + target: 'clone_red_index', + timeout: '1s', + esCapabilities, + })(); + + await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "message": "[index_not_green_timeout] Timeout waiting for the status of the [clone_red_index] index to become 'green'", + "type": "index_not_green_timeout", + }, + } + `); + + // Now make the index green and it should succeed + + await client.indices.putSettings({ + index: 'clone_red_index', + body: { + // Set zero replicas so status goes green + number_of_replicas: 0, + }, + }); + + // Call clone even though the index already exists + cloneIndexPromise = cloneIndex({ + client, + source: 'existing_index_with_write_block', + target: 'clone_red_index', + timeout: '30s', + esCapabilities, + })(); + + await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": Object { + "acknowledged": true, + "shardsAcknowledged": true, + }, + } + `); + }); + it('resolves left index_not_found_exception if the source index does not exist', async () => { + expect.assertions(1); + const task = cloneIndex({ + client, + source: 'no_such_index', + target: 'clone_target_3', + esCapabilities, + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "no_such_index", + "type": "index_not_found_exception", + }, + } + `); + }); + it('resolves left cluster_shard_limit_exceeded when the action would exceed the maximum normal open shards', async () => { + // Set the max shards per node really low so that any new index that's created would exceed the maximum open shards for this cluster + await client.cluster.putSettings({ persistent: { cluster: { max_shards_per_node: 1 } } }); + const cloneIndexPromise = cloneIndex({ + client, + source: 'existing_index_with_write_block', + target: 'clone_target_4', + esCapabilities, + })(); + await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "cluster_shard_limit_exceeded", + }, + } + `); + }); + }); + }); + + // Reindex doesn't return any errors on it's own, so we have to test + // together with waitForReindexTask + describe('reindex & waitForReindexTask', () => { + it('resolves right when reindex succeeds without reindex script', async () => { + const res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "reindex_succeeded", + } + `); + + const results = await client.search({ index: 'reindex_target', size: 1000 }); + expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a", + "doc 1", + "doc 2", + "doc 3", + "f-agent-event 5", + "saved object 4", + ] + `); + }); + it('resolves right and excludes all documents not matching the excludeOnUpgradeQuery', async () => { + const res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_excluded_docs', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { + bool: { + must_not: ['f_agent_event', 'another_unused_type'].map((type) => ({ + term: { type }, + })), + }, + }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "reindex_succeeded", + } + `); + + const results = await client.search({ index: 'reindex_target_excluded_docs', size: 1000 }); + expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a", + "doc 1", + "doc 2", + "doc 3", + ] + `); + }); + it('resolves right when reindex succeeds with reindex script', async () => { + expect.assertions(2); + const res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_2', + reindexScript: Option.some(`ctx._source.title = ctx._source.title + '_updated'`), + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "reindex_succeeded", + } + `); + + const results = await client.search({ index: 'reindex_target_2', size: 1000 }); + expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a_updated", + "doc 1_updated", + "doc 2_updated", + "doc 3_updated", + "f-agent-event 5_updated", + "saved object 4_updated", + ] + `); + }); + it('resolves right, ignores version conflicts and does not update existing docs when reindex multiple times', async () => { + expect.assertions(3); + // Reindex with a script + let res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_3', + reindexScript: Option.some(`ctx._source.title = ctx._source.title + '_updated'`), + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + let task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "reindex_succeeded", + } + `); + + // reindex without a script + res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_3', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "reindex_succeeded", + } + `); + + // Assert that documents weren't overridden by the second, unscripted reindex + const results = await client.search({ index: 'reindex_target_3', size: 1000 }); + expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a_updated", + "doc 1_updated", + "doc 2_updated", + "doc 3_updated", + "f-agent-event 5_updated", + "saved object 4_updated", + ] + `); + }); + it('resolves right and proceeds to add missing documents if there are some existing docs conflicts', async () => { + expect.assertions(2); + // Simulate a reindex that only adds some of the documents from the + // source index into the target index + await createIndex({ + client, + indexName: 'reindex_target_4', + mappings: { properties: {} }, + esCapabilities, + })(); + const response = await client.search({ index: 'existing_index_with_docs', size: 1000 }); + const sourceDocs = (response.hits?.hits as SavedObjectsRawDoc[]) + .slice(0, 2) + .map(({ _id, _source }) => ({ + _id, + _source, + })); + await bulkOverwriteTransformedDocuments({ + client, + index: 'reindex_target_4', + operations: sourceDocs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })(); + + // Now do a real reindex + const res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_4', + reindexScript: Option.some(`ctx._source.title = ctx._source.title + '_updated'`), + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "reindex_succeeded", + } + `); + // Assert that existing documents weren't overridden, but that missing + // documents were added by the reindex + const results = await client.search({ index: 'reindex_target_4', size: 1000 }); + expect((results.hits?.hits as SavedObjectsRawDoc[]).map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a_updated", + "doc 1", + "doc 2", + "doc 3_updated", + "f-agent-event 5_updated", + "saved object 4_updated", + ] + `); + }); + it('resolves left incompatible_mapping_exception if all reindex failures are due to a strict_dynamic_mapping_exception', async () => { + expect.assertions(1); + // Simulates one instance having completed the UPDATE_TARGET_MAPPINGS + // step which makes the mappings incompatible with outdated documents. + // If another instance then tries a reindex it will get a + // strict_dynamic_mapping_exception even if the documents already exist + // and should ignore this error. + + // Create an index with incompatible mappings + await createIndex({ + client, + indexName: 'reindex_target_5', + mappings: { + dynamic: 'strict', + properties: { + /** no title field */ + }, + }, + esCapabilities, + })(); + + const { + right: { taskId: reindexTaskId }, + } = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_5', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: reindexTaskId, timeout: '10s' }); + + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "incompatible_mapping_exception", + }, + } + `); + }); + it('resolves left incompatible_mapping_exception if all reindex failures are due to a mapper_parsing_exception', async () => { + expect.assertions(1); + // Simulates one instance having completed the UPDATE_TARGET_MAPPINGS + // step which makes the mappings incompatible with outdated documents. + // If another instance then tries a reindex it will get a + // strict_dynamic_mapping_exception even if the documents already exist + // and should ignore this error. + + // Create an index with incompatible mappings + await createIndex({ + client, + indexName: 'reindex_target_6', + mappings: { + dynamic: false, + properties: { title: { type: 'integer' } }, // integer is incompatible with string title + }, + esCapabilities, + })(); + + const { + right: { taskId: reindexTaskId }, + } = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'reindex_target_6', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: reindexTaskId, timeout: '10s' }); + + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "incompatible_mapping_exception", + }, + } + `); + }); + it('resolves left index_not_found_exception if source index does not exist', async () => { + expect.assertions(1); + const res = (await reindex({ + client, + sourceIndex: 'no_such_index', + targetIndex: 'reindex_target', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { + match_all: {}, + }, + batchSize: 1000, + })()) as Either.Right; + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "no_such_index", + "type": "index_not_found_exception", + }, + } + `); + }); + it('resolves left target_index_had_write_block if all failures are due to a write block', async () => { + expect.assertions(1); + const res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'existing_index_with_write_block', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "target_index_had_write_block", + }, + } + `); + }); + it('resolves left if requireAlias=true and the target is not an alias', async () => { + expect.assertions(1); + const res = (await reindex({ + client, + sourceIndex: 'existing_index_with_docs', + targetIndex: 'existing_index_with_write_block', + reindexScript: Option.none, + requireAlias: true, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '10s' }); + + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "existing_index_with_write_block", + "type": "index_not_found_exception", + }, + } + `); + }); + it('resolves left wait_for_task_completion_timeout when the task does not finish within the timeout', async () => { + await waitForIndexStatus({ + client, + index: '.kibana_1', + status: 'yellow', + })(); + + const res = (await reindex({ + client, + sourceIndex: '.kibana_1', + targetIndex: 'reindex_target', + reindexScript: Option.none, + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 1000, + })()) as Either.Right; + + const task = waitForReindexTask({ client, taskId: res.right.taskId, timeout: '0s' }); + + await expect(task()).resolves.toMatchObject({ + _tag: 'Left', + left: { + error: expect.any(errors.ResponseError), + message: expect.stringContaining('[timeout_exception]'), + type: 'wait_for_task_completion_timeout', + }, + }); + }); + }); + + describe('openPit', () => { + it('opens PointInTime for an index', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + expect(pitResponse.right.pitId).toEqual(expect.any(String)); + + const searchResponse = await client.search({ + body: { + pit: { id: pitResponse.right.pitId }, + }, + }); + + await expect(searchResponse.hits.hits.length).toBeGreaterThan(0); + }); + it('rejects if index does not exist', async () => { + const openPitTask = openPit({ client, index: 'no_such_index' }); + await expect(openPitTask()).rejects.toThrow('index_not_found_exception'); + }); + }); + + describe('readWithPit', () => { + it('requests documents from an index using given PIT', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { match_all: {} }, + batchSize: 1000, + searchAfter: undefined, + }); + const docsResponse = (await readWithPitTask()) as Either.Right; + + await expect(docsResponse.right.outdatedDocuments.length).toBe(6); + }); + + it('requests the batchSize of documents from an index', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { match_all: {} }, + batchSize: 3, + searchAfter: undefined, + }); + const docsResponse = (await readWithPitTask()) as Either.Right; + + await expect(docsResponse.right.outdatedDocuments.length).toBe(3); + }); + + it('it excludes documents not matching the provided "query"', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { + bool: { + must_not: [ + { + term: { + type: 'f_agent_event', + }, + }, + { + term: { + type: 'another_unused_type', + }, + }, + ], + }, + }, + batchSize: 1000, + searchAfter: undefined, + }); + + const docsResponse = (await readWithPitTask()) as Either.Right; + + expect(docsResponse.right.outdatedDocuments.map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a", + "doc 1", + "doc 2", + "doc 3", + ] + `); + }); + + it('only returns documents that match the provided "query"', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { + match: { title: { query: 'doc' } }, + }, + batchSize: 1000, + searchAfter: undefined, + }); + + const docsResponse = (await readWithPitTask()) as Either.Right; + + expect(docsResponse.right.outdatedDocuments.map((doc) => doc._source.title).sort()) + .toMatchInlineSnapshot(` + Array [ + "doc 1", + "doc 2", + "doc 3", + ] + `); + }); + + it('returns docs with _seq_no and _primary_term when specified', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { + match: { title: { query: 'doc' } }, + }, + batchSize: 1000, + searchAfter: undefined, + seqNoPrimaryTerm: true, + }); + + const docsResponse = (await readWithPitTask()) as Either.Right; + + expect(docsResponse.right.outdatedDocuments).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + _seq_no: expect.any(Number), + _primary_term: expect.any(Number), + }), + ]) + ); + }); + + it('does not return docs with _seq_no and _primary_term if not specified', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { + match: { title: { query: 'doc' } }, + }, + batchSize: 1000, + searchAfter: undefined, + }); + + const docsResponse = (await readWithPitTask()) as Either.Right; + + expect(docsResponse.right.outdatedDocuments).toEqual( + expect.arrayContaining([ + expect.not.objectContaining({ + _seq_no: expect.any(Number), + _primary_term: expect.any(Number), + }), + ]) + ); + }); + + it('returns a left es_response_too_large error when a read batch exceeds the maxResponseSize', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + let readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { match_all: {} }, + batchSize: 1, // small batch size so we don't exceed the maxResponseSize + searchAfter: undefined, + maxResponseSizeBytes: 500, // set a small size to force the error + }); + const rightResponse = (await readWithPitTask()) as Either.Right; + + await expect(Either.isRight(rightResponse)).toBe(true); + + readWithPitTask = readWithPit({ + client, + pitId: pitResponse.right.pitId, + query: { match_all: {} }, + batchSize: 10, // a bigger batch will exceed the maxResponseSize + searchAfter: undefined, + maxResponseSizeBytes: 500, // set a small size to force the error + }); + const leftResponse = (await readWithPitTask()) as Either.Left; + + expect(leftResponse.left.type).toBe('es_response_too_large'); + // ES response contains a field that indicates how long it took ES to get the response, e.g.: "took": 7 + // if ES takes more than 9ms, the payload will be 1 byte bigger. + // see https://github.com/elastic/kibana/issues/160994 + // Thus, the statements below account for response times up to 99ms + expect(leftResponse.left.contentLength).toBeGreaterThanOrEqual(3184); + expect(leftResponse.left.contentLength).toBeLessThanOrEqual(3185); + }); + + it('rejects if PIT does not exist', async () => { + const readWithPitTask = readWithPit({ + client, + pitId: 'no_such_pit', + query: { match_all: {} }, + batchSize: 1000, + searchAfter: undefined, + }); + await expect(readWithPitTask()).rejects.toThrow('illegal_argument_exception'); + }); + }); + + describe('closePit', () => { + it('closes PointInTime', async () => { + const openPitTask = openPit({ client, index: 'existing_index_with_docs' }); + const pitResponse = (await openPitTask()) as Either.Right; + + const pitId = pitResponse.right.pitId; + await closePit({ client, pitId })(); + + const searchTask = client.search({ + body: { + pit: { id: pitId }, + }, + }); + + await expect(searchTask).rejects.toThrow('search_phase_execution_exception'); + }); + + it('rejects if PIT does not exist', async () => { + const closePitTask = closePit({ client, pitId: 'no_such_pit' }); + await expect(closePitTask()).rejects.toThrow('illegal_argument_exception'); + }); + }); + + describe('transformDocs', () => { + it('applies "transformRawDocs" and returns the transformed documents', async () => { + const originalDocs = [ + { _id: 'foo:1', _source: { type: 'dashboard', value: 1 } }, + { _id: 'foo:2', _source: { type: 'dashboard', value: 2 } }, + ]; + + function innerTransformRawDocs( + docs: SavedObjectsRawDoc[] + ): TaskEither { + return async () => { + const processedDocs: SavedObjectsRawDoc[] = []; + for (const doc of docs) { + doc._source.value += 1; + processedDocs.push(doc); + } + return Either.right({ processedDocs }); + }; + } + + const transformTask = transformDocs({ + transformRawDocs: innerTransformRawDocs, + outdatedDocuments: originalDocs, + }); + + const resultsWithProcessDocs = ( + (await transformTask()) as Either.Right + ).right.processedDocs; + expect(resultsWithProcessDocs.length).toEqual(2); + const foo2 = resultsWithProcessDocs.find((h) => h._id === 'foo:2'); + expect(foo2?._source?.value).toBe(3); + }); + }); + + describe('waitForPickupUpdatedMappingsTask', () => { + it('rejects if there are failures', async () => { + const res = (await pickupUpdatedMappings( + client, + 'existing_index_with_write_block', + 1000 + )()) as Either.Right; + + const task = waitForPickupUpdatedMappingsTask({ + client, + taskId: res.right.taskId, + timeout: '10s', + }); + + // We can't do a snapshot match because the response includes an index + // id which ES assigns dynamically + await expect(task()).rejects.toMatchObject({ + message: + /pickupUpdatedMappings task failed with the following failures:\n\[\{\"index\":\"existing_index_with_write_block\"/, + }); + }); + it('rejects if there is an error', async () => { + const res = (await pickupUpdatedMappings( + client, + 'no_such_index', + 1000 + )()) as Either.Right; + + const task = waitForPickupUpdatedMappingsTask({ + client, + taskId: res.right.taskId, + timeout: '10s', + }); + + await expect(task()).rejects.toThrow('index_not_found_exception'); + }); + + it('resolves left wait_for_task_completion_timeout when the task does not complete within the timeout', async () => { + const res = (await pickupUpdatedMappings( + client, + '.kibana_1', + 1000 + )()) as Either.Right; + + const task = waitForPickupUpdatedMappingsTask({ + client, + taskId: res.right.taskId, + timeout: '0s', + }); + + await expect(task()).resolves.toMatchObject({ + _tag: 'Left', + left: { + error: expect.any(errors.ResponseError), + message: expect.stringContaining('[timeout_exception]'), + type: 'wait_for_task_completion_timeout', + }, + }); + }); + it('resolves right when successful', async () => { + const res = (await pickupUpdatedMappings( + client, + 'existing_index_with_docs', + 1000 + )()) as Either.Right; + + const task = waitForPickupUpdatedMappingsTask({ + client, + taskId: res.right.taskId, + timeout: '10s', + }); + + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "pickup_updated_mappings_succeeded", + } + `); + }); + }); + + describe('updateAndPickupMappings', () => { + it('resolves right when mappings were updated and picked up', async () => { + // Create an index without any mappings and insert documents into it + await createIndex({ + client, + indexName: 'existing_index_without_mappings', + mappings: { + dynamic: false, + properties: {}, + }, + esCapabilities, + })(); + const sourceDocs = [ + { _source: { title: 'doc 1' } }, + { _source: { title: 'doc 2' } }, + { _source: { title: 'doc 3' } }, + { _source: { title: 'doc 4' } }, + ] as unknown as SavedObjectsRawDoc[]; + await bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_without_mappings', + operations: sourceDocs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })(); + + // Assert that we can't search over the unmapped fields of the document + + const originalSearchResults = await client.search({ + index: 'existing_index_without_mappings', + size: 1000, + query: { + match: { title: { query: 'doc' } }, + }, + }); + expect(originalSearchResults.hits?.hits.length).toBe(0); + + // Update and pickup mappings so that the title field is searchable + const res = await updateAndPickupMappings({ + client, + index: 'existing_index_without_mappings', + mappings: { + properties: { + title: { type: 'text' }, + }, + }, + batchSize: 1000, + })(); + expect(Either.isRight(res)).toBe(true); + const taskId = (res as Either.Right).right.taskId; + await waitForPickupUpdatedMappingsTask({ client, taskId, timeout: '60s' })(); + + // Repeat the search expecting to be able to find the existing documents + const pickedUpSearchResults = await client.search({ + index: 'existing_index_without_mappings', + size: 1000, + query: { + match: { title: { query: 'doc' } }, + }, + }); + expect(pickedUpSearchResults.hits?.hits.length).toBe(4); + }); + }); + + describe('updateMappings', () => { + it('rejects if ES throws an error', async () => { + const task = updateMappings({ + client, + index: 'no_such_index', + mappings: { + properties: { + created_at: { + type: 'date', + }, + }, + _meta: { + migrationMappingPropertyHashes: { + references: 'updateda56cc02bdc9c93361bupdated', + newReferences: 'fooBarHashMd509387420934879300d9', + }, + }, + }, + })(); + + await expect(task).rejects.toThrow('index_not_found_exception'); + }); + + it('resolves left when the mappings are incompatible', async () => { + const res = await updateMappings({ + client, + index: 'existing_index_with_docs', + mappings: { + properties: { + someProperty: { + type: 'date', // attempt to change an existing field's type in an incompatible fashion + }, + }, + _meta: { + migrationMappingPropertyHashes: { + references: 'updateda56cc02bdc9c93361bupdated', + newReferences: 'fooBarHashMd509387420934879300d9', + }, + }, + }, + })(); + + expect(Either.isLeft(res)).toBe(true); + expect(res).toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "incompatible_mapping_exception", + }, + } + `); + }); + + it('resolves right when mappings are correctly updated', async () => { + const res = await updateMappings({ + client, + index: 'existing_index_with_docs', + mappings: { + properties: { + created_at: { + type: 'date', + }, + }, + _meta: { + migrationMappingPropertyHashes: { + references: 'updateda56cc02bdc9c93361bupdated', + newReferences: 'fooBarHashMd509387420934879300d9', + }, + }, + }, + })(); + + expect(Either.isRight(res)).toBe(true); + + const indices = await client.indices.get({ + index: ['existing_index_with_docs'], + }); + + expect(indices.existing_index_with_docs.mappings?.properties).toEqual( + expect.objectContaining({ + created_at: { + type: 'date', + }, + }) + ); + + expect(indices.existing_index_with_docs.mappings?._meta).toEqual({ + migrationMappingPropertyHashes: { + references: 'updateda56cc02bdc9c93361bupdated', + newReferences: 'fooBarHashMd509387420934879300d9', + }, + }); + }); + }); + + describe('updateAliases', () => { + describe('remove', () => { + it('resolves left index_not_found_exception when the index does not exist', async () => { + const task = updateAliases({ + client, + aliasActions: [ + { + remove: { + alias: 'no_such_alias', + index: 'no_such_index', + must_exist: false, + }, + }, + ], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "no_such_index", + "type": "index_not_found_exception", + }, + } + `); + }); + describe('with must_exist=false', () => { + it('resolves left alias_not_found_exception when alias does not exist', async () => { + const task = updateAliases({ + client, + aliasActions: [ + { + remove: { + alias: 'no_such_alias', + index: 'existing_index_with_docs', + must_exist: false, + }, + }, + ], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "alias_not_found_exception", + }, + } + `); + }); + }); + describe('with must_exist=true', () => { + it('resolves left alias_not_found_exception when alias does not exist on specified index', async () => { + const task = updateAliases({ + client, + aliasActions: [ + { + remove: { + alias: 'existing_index_2_alias', + index: 'existing_index_with_docs', + must_exist: true, + }, + }, + ], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "alias_not_found_exception", + }, + } + `); + }); + it('resolves left alias_not_found_exception when alias does not exist', async () => { + const task = updateAliases({ + client, + aliasActions: [ + { + remove: { + alias: 'no_such_alias', + index: 'existing_index_with_docs', + must_exist: true, + }, + }, + ], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "alias_not_found_exception", + }, + } + `); + }); + }); + }); + describe('remove_index', () => { + it('left index_not_found_exception if index does not exist', async () => { + const task = updateAliases({ + client, + aliasActions: [ + { + remove_index: { + index: 'no_such_index', + }, + }, + ], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "no_such_index", + "type": "index_not_found_exception", + }, + } + `); + }); + it('left remove_index_not_a_concrete_index when remove_index targets an alias', async () => { + const task = updateAliases({ + client, + aliasActions: [ + { + remove_index: { + index: 'existing_index_2_alias', + }, + }, + ], + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "remove_index_not_a_concrete_index", + }, + } + `); + }); + }); + }); + + describe('createIndex', () => { + afterEach(async () => { + // Restore the default setting of 1000 shards per node + await client.cluster.putSettings({ persistent: { cluster: { max_shards_per_node: null } } }); + }); + afterAll(async () => { + await client.indices.delete({ index: 'red_then_yellow_index' }).catch(() => ({})); + await client.indices.delete({ index: 'yellow_then_green_index' }).catch(() => ({})); + await client.indices.delete({ index: 'create_new_index' }).catch(() => ({})); + }); + it('resolves right after waiting for an index status to become green when cluster state is not propagated within the timeout', async () => { + // By specifying a very short timeout Elasticsearch will respond before the shard is allocated + const createIndexPromise = createIndex({ + client, + indexName: 'create_new_index', + mappings: undefined as any, + timeout: '1nanos', + esCapabilities, + })(); + await expect(createIndexPromise).resolves.toEqual({ + _tag: 'Right', + right: 'create_index_succeeded', + }); + const { create_new_index: createNewIndex } = await client.indices.getSettings({ + index: 'create_new_index', + }); + // @ts-expect-error https://github.com/elastic/elasticsearch/issues/89381 + expect(createNewIndex.settings?.index?.mapping.total_fields.limit).toBe('1500'); + }); + + // number_of_replicas and routing allocation not available on serverless + runOnTraditionalOnly(() => { + it('resolves left if an existing index status does not become green', async () => { + expect.assertions(2); + // Create a red index + await client.indices + .create( + { + index: 'red_then_yellow_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate 1 replica so that this index stays yellow + number_of_replicas: '1', + // Disable all shard allocation so that the index status starts as red + index: { routing: { allocation: { enable: 'none' } } }, + }, + }, + }, + { maxRetries: 0 /** handle retry ourselves for now */ } + ) + .catch((e) => { + /** ignore */ + }); + + // Call createIndex even though the index already exists + const createIndexPromise = createIndex({ + client, + indexName: 'red_then_yellow_index', + mappings: undefined as any, + esCapabilities, + })(); + let indexYellow = false; + + setTimeout(() => { + client.indices.putSettings({ + index: 'red_then_yellow_index', + body: { + // Renable allocation so that the status becomes yellow + routing: { allocation: { enable: 'all' } }, + }, + }); + indexYellow = true; + }, 10); + + await createIndexPromise.then((err) => { + // Assert that the promise didn't resolve before the index became yellow + expect(indexYellow).toBe(true); + expect(err).toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "message": "[index_not_green_timeout] Timeout waiting for the status of the [red_then_yellow_index] index to become 'green'", + "type": "index_not_green_timeout", + }, + } + `); + }); + }); + it('resolves right after waiting for an existing index status to become green', async () => { + expect.assertions(2); + // Create a yellow index + await client.indices + .create({ + index: 'yellow_then_green_index', + timeout: '5s', + body: { + mappings: { properties: {} }, + settings: { + // Allocate 1 replica so that this index stays yellow + number_of_replicas: '1', + }, + }, + }) + .catch((e) => { + /** ignore */ + }); + + // Call createIndex even though the index already exists + const createIndexPromise = createIndex({ + client, + indexName: 'yellow_then_green_index', + mappings: undefined as any, + esCapabilities, + })(); + let indexGreen = false; + + setTimeout(() => { + client.indices.putSettings({ + index: 'yellow_then_green_index', + body: { + // Set 0 replican so that this index becomes green + number_of_replicas: '0', + }, + }); + indexGreen = true; + }, 10); + + await createIndexPromise.then((res) => { + // Assert that the promise didn't resolve before the index became green + expect(indexGreen).toBe(true); + expect(res).toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "index_already_exists", + } + `); + }); + }); + }); + + it('resolves left cluster_shard_limit_exceeded when the action would exceed the maximum normal open shards', async () => { + // Set the max shards per node really low so that any new index that's created would exceed the maximum open shards for this cluster + await client.cluster.putSettings({ persistent: { cluster: { max_shards_per_node: 1 } } }); + const createIndexPromise = createIndex({ + client, + indexName: 'create_index_1', + mappings: undefined as any, + esCapabilities, + })(); + await expect(createIndexPromise).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "cluster_shard_limit_exceeded", + }, + } + `); + }); + it('rejects when there is an unexpected error creating the index', async () => { + // Creating an index with the same name as an existing alias to induce + // failure + await expect( + createIndex({ + client, + indexName: 'existing_index_2_alias', + mappings: undefined as any, + esCapabilities, + })() + ).rejects.toThrow('invalid_index_name_exception'); + }); + }); + + describe('bulkOverwriteTransformedDocuments', () => { + it('resolves right when documents do not yet exist in the index', async () => { + const newDocs = [ + { _source: { title: 'doc 5' } }, + { _source: { title: 'doc 6' } }, + { _source: { title: 'doc 7' } }, + ] as unknown as SavedObjectsRawDoc[]; + const task = bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_docs', + operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + }); + + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "bulk_index_succeeded", + } + `); + }); + it('resolves right even if there were some version_conflict_engine_exception', async () => { + const response = await client.search({ index: 'existing_index_with_docs', size: 1000 }); + const existingDocs = response.hits?.hits as SavedObjectsRawDoc[]; + + const task = bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_docs', + operations: [ + ...existingDocs, + { _source: { title: 'doc 8' } } as unknown as SavedObjectsRawDoc, + ].map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Right", + "right": "bulk_index_succeeded", + } + `); + }); + it('resolves left index_not_found_exception if the index does not exist and useAliasToPreventAutoCreate=true', async () => { + const newDocs = [ + { _source: { title: 'doc 5' } }, + { _source: { title: 'doc 6' } }, + { _source: { title: 'doc 7' } }, + ] as unknown as SavedObjectsRawDoc[]; + await expect( + bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_docs_alias_that_does_not_exist', + useAliasToPreventAutoCreate: true, + operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })() + ).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "index": "existing_index_with_docs_alias_that_does_not_exist", + "type": "index_not_found_exception", + }, + } + `); + }); + it('resolves left target_index_had_write_block if there are write_block errors', async () => { + const newDocs = [ + { _source: { title: 'doc 5' } }, + { _source: { title: 'doc 6' } }, + { _source: { title: 'doc 7' } }, + ] as unknown as SavedObjectsRawDoc[]; + await expect( + bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_write_block', + operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), + refresh: 'wait_for', + })() + ).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "target_index_had_write_block", + }, + } + `); + }); + + // no way to configure http.max_content_length on the serverless instance for now. + runOnTraditionalOnly(() => { + it('resolves left request_entity_too_large_exception when the payload is too large', async () => { + const newDocs = new Array(10000).fill({ + _source: { + title: + 'how do I create a document thats large enoug to exceed the limits without typing long sentences', + }, + }) as SavedObjectsRawDoc[]; + const task = bulkOverwriteTransformedDocuments({ + client, + index: 'existing_index_with_docs', + operations: newDocs.map((doc) => createBulkIndexOperationTuple(doc)), + }); + await expect(task()).resolves.toMatchInlineSnapshot(` + Object { + "_tag": "Left", + "left": Object { + "type": "request_entity_too_large_exception", + }, + } + `); + }); + }); + }); +}; diff --git a/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts b/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts index 6249137d8e7bea..a911fcdbdead5c 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts @@ -16,7 +16,6 @@ import { ConfigService, Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import { REPO_ROOT } from '@kbn/repo-info'; import { KibanaMigrator } from '@kbn/core-saved-objects-migration-server-internal'; -import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { SavedObjectConfig, type SavedObjectsConfigType, @@ -30,6 +29,7 @@ import { SavedObjectsRepository } from '@kbn/core-saved-objects-api-server-inter import { ElasticsearchConfig, type ElasticsearchConfigType, + getCapabilitiesFromClient, } from '@kbn/core-elasticsearch-server-internal'; import { AgentManager, configureClient } from '@kbn/core-elasticsearch-client-server-internal'; import { type LoggingConfigType, LoggingSystem } from '@kbn/core-logging-server-internal'; @@ -276,6 +276,7 @@ interface GetMigratorParams { kibanaBranch: string; nodeRoles: NodeRoles; } + const getMigrator = async ({ configService, client, @@ -300,6 +301,8 @@ const getMigrator = async ({ links: getDocLinks({ kibanaBranch }), }; + const esCapabilities = await getCapabilitiesFromClient(client); + return new KibanaMigrator({ client, kibanaIndex, @@ -311,7 +314,7 @@ const getMigrator = async ({ docLinks, waitForMigrationCompletion: false, // ensure we have an active role in the migration nodeRoles, - esCapabilities: elasticsearchServiceMock.createCapabilities(), + esCapabilities, }); }; diff --git a/src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/basic_document_migration.ts b/src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/basic_document_migration.ts new file mode 100644 index 00000000000000..0c43a40478d03b --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/basic_document_migration.ts @@ -0,0 +1,247 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fs from 'fs/promises'; +import { range, sortBy } from 'lodash'; +import { SavedObjectsBulkCreateObject } from '@kbn/core-saved-objects-api-server'; +import '../../jest_matchers'; +import { getKibanaMigratorTestKit } from '../../kibana_migrator_test_kit'; +import { delay, parseLogFile } from '../../test_utils'; +import { EsRunner, EsServer } from '../../test_types'; +import { + getBaseMigratorParams, + getSampleAType, + getSampleBType, +} from '../../fixtures/zdt_base.fixtures'; + +export function createBasicDocumentsMigrationTest({ + startES, + logFilePath, +}: { + startES: EsRunner; + logFilePath: string; +}) { + let esServer: EsServer; + + beforeAll(async () => { + await fs.unlink(logFilePath).catch(() => {}); + esServer = await startES(); + }); + + afterAll(async () => { + await esServer?.stop(); + await delay(10); + }); + + const createBaseline = async () => { + const { runMigrations, savedObjectsRepository } = await getKibanaMigratorTestKit({ + ...getBaseMigratorParams(), + types: [getSampleAType(), getSampleBType()], + }); + await runMigrations(); + + const sampleAObjs = range(5).map((number) => ({ + id: `a-${number}`, + type: 'sample_a', + attributes: { + keyword: `a_${number}`, + boolean: true, + }, + })); + + await savedObjectsRepository.bulkCreate(sampleAObjs); + + const sampleBObjs = range(5).map((number) => ({ + id: `b-${number}`, + type: 'sample_b', + attributes: { + text: `i am number ${number}`, + text2: `some static text`, + }, + })); + + await savedObjectsRepository.bulkCreate(sampleBObjs); + }; + + it('migrates the documents', async () => { + await createBaseline(); + + const typeA = getSampleAType(); + const typeB = getSampleBType(); + + // typeA -> we add a new field and bump the model version by one with a migration + + typeA.mappings.properties = { + ...typeA.mappings.properties, + someAddedField: { type: 'keyword' }, + }; + + typeA.modelVersions = { + ...typeA.modelVersions, + '2': { + changes: [ + { + type: 'data_backfill', + backfillFn: (doc) => { + return { + attributes: { + someAddedField: `${doc.attributes.keyword}-mig`, + }, + }; + }, + }, + { + type: 'mappings_addition', + addedMappings: { + someAddedField: { type: 'keyword' }, + }, + }, + ], + }, + }; + + // typeB -> we add two new model version with migrations + + typeB.modelVersions = { + ...typeB.modelVersions, + '2': { + changes: [ + { + type: 'data_backfill', + backfillFn: (doc) => { + return { + attributes: { + text2: `${doc.attributes.text2} - mig2`, + }, + }; + }, + }, + ], + }, + '3': { + changes: [ + { + type: 'data_backfill', + backfillFn: (doc) => { + return { + attributes: { + text2: `${doc.attributes.text2} - mig3`, + }, + }; + }, + }, + ], + }, + }; + + const { runMigrations, client, savedObjectsRepository } = await getKibanaMigratorTestKit({ + ...getBaseMigratorParams(), + logFilePath, + types: [typeA, typeB], + }); + + await runMigrations(); + + const indices = await client.indices.get({ index: '.kibana*' }); + expect(Object.keys(indices)).toEqual(['.kibana_1']); + + const index = indices['.kibana_1']; + const mappings = index.mappings ?? {}; + const mappingMeta = mappings._meta ?? {}; + + expect(mappings.properties).toEqual( + expect.objectContaining({ + sample_a: typeA.mappings, + sample_b: typeB.mappings, + }) + ); + + expect(mappingMeta.docVersions).toEqual({ + sample_a: '10.2.0', + sample_b: '10.3.0', + }); + + const { saved_objects: sampleADocs } = await savedObjectsRepository.find({ type: 'sample_a' }); + const { saved_objects: sampleBDocs } = await savedObjectsRepository.find({ type: 'sample_b' }); + + expect(sampleADocs).toHaveLength(5); + expect(sampleBDocs).toHaveLength(5); + + const sampleAData = sortBy(sampleADocs, 'id').map((object) => ({ + id: object.id, + type: object.type, + attributes: object.attributes, + })); + + expect(sampleAData).toEqual([ + { + id: 'a-0', + type: 'sample_a', + attributes: { boolean: true, keyword: 'a_0', someAddedField: 'a_0-mig' }, + }, + { + id: 'a-1', + type: 'sample_a', + attributes: { boolean: true, keyword: 'a_1', someAddedField: 'a_1-mig' }, + }, + { + id: 'a-2', + type: 'sample_a', + attributes: { boolean: true, keyword: 'a_2', someAddedField: 'a_2-mig' }, + }, + { + id: 'a-3', + type: 'sample_a', + attributes: { boolean: true, keyword: 'a_3', someAddedField: 'a_3-mig' }, + }, + { + id: 'a-4', + type: 'sample_a', + attributes: { boolean: true, keyword: 'a_4', someAddedField: 'a_4-mig' }, + }, + ]); + + const sampleBData = sortBy(sampleBDocs, 'id').map((object) => ({ + id: object.id, + type: object.type, + attributes: object.attributes, + })); + + expect(sampleBData).toEqual([ + { + id: 'b-0', + type: 'sample_b', + attributes: { text: 'i am number 0', text2: 'some static text - mig2 - mig3' }, + }, + { + id: 'b-1', + type: 'sample_b', + attributes: { text: 'i am number 1', text2: 'some static text - mig2 - mig3' }, + }, + { + id: 'b-2', + type: 'sample_b', + attributes: { text: 'i am number 2', text2: 'some static text - mig2 - mig3' }, + }, + { + id: 'b-3', + type: 'sample_b', + attributes: { text: 'i am number 3', text2: 'some static text - mig2 - mig3' }, + }, + { + id: 'b-4', + type: 'sample_b', + attributes: { text: 'i am number 4', text2: 'some static text - mig2 - mig3' }, + }, + ]); + + const records = await parseLogFile(logFilePath); + expect(records).toContainLogEntry('Starting to process 10 documents'); + expect(records).toContainLogEntry('Migration completed'); + }); +} diff --git a/src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/standard_workflow.ts b/src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/standard_workflow.ts new file mode 100644 index 00000000000000..b22e522d1d2c14 --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/migrations/shared_suites/zdt/standard_workflow.ts @@ -0,0 +1,118 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fs from 'fs/promises'; +import { range } from 'lodash'; +import { SavedObjectsBulkCreateObject } from '@kbn/core-saved-objects-api-server'; +import '../../jest_matchers'; +import { getKibanaMigratorTestKit } from '../../kibana_migrator_test_kit'; +import { delay, parseLogFile } from '../../test_utils'; +import { EsRunner, EsServer } from '../../test_types'; +import { + getBaseMigratorParams, + getSampleAType, + getSampleBType, + dummyModelVersion, +} from '../../fixtures/zdt_base.fixtures'; + +export function createStandardWorkflowTest({ + startES, + logFilePath, +}: { + startES: EsRunner; + logFilePath: string; +}) { + let esServer: EsServer; + + beforeAll(async () => { + await fs.unlink(logFilePath).catch(() => {}); + esServer = await startES(); + }); + + afterAll(async () => { + await esServer?.stop(); + await delay(10); + }); + + const createBaseline = async () => { + const { runMigrations, savedObjectsRepository } = await getKibanaMigratorTestKit({ + ...getBaseMigratorParams(), + types: [getSampleAType(), getSampleBType()], + }); + await runMigrations(); + + const sampleAObjs = range(5).map((number) => ({ + id: `a-${number}`, + type: 'sample_a', + attributes: { keyword: `a_${number}`, boolean: true }, + })); + + await savedObjectsRepository.bulkCreate(sampleAObjs); + + const sampleBObjs = range(5).map((number) => ({ + id: `b-${number}`, + type: 'sample_b', + attributes: { text: `i am number ${number}`, text2: `some static text` }, + })); + + await savedObjectsRepository.bulkCreate(sampleBObjs); + }; + + it('follows the expected stages and transitions', async () => { + await createBaseline(); + + const typeA = getSampleAType(); + const typeB = getSampleBType(); + + typeA.modelVersions = { + ...typeA.modelVersions, + '2': dummyModelVersion, + }; + + typeB.modelVersions = { + ...typeB.modelVersions, + '2': dummyModelVersion, + }; + + const { runMigrations } = await getKibanaMigratorTestKit({ + ...getBaseMigratorParams(), + logFilePath, + types: [typeA, typeB], + }); + + await runMigrations(); + + const records = await parseLogFile(logFilePath); + + expect(records).toContainLogEntries( + [ + 'INIT -> UPDATE_INDEX_MAPPINGS', + 'UPDATE_INDEX_MAPPINGS -> UPDATE_INDEX_MAPPINGS_WAIT_FOR_TASK', + 'UPDATE_INDEX_MAPPINGS_WAIT_FOR_TASK -> UPDATE_MAPPING_MODEL_VERSIONS', + 'UPDATE_MAPPING_MODEL_VERSIONS -> INDEX_STATE_UPDATE_DONE', + 'INDEX_STATE_UPDATE_DONE -> DOCUMENTS_UPDATE_INIT', + 'DOCUMENTS_UPDATE_INIT -> SET_DOC_MIGRATION_STARTED', + 'SET_DOC_MIGRATION_STARTED -> SET_DOC_MIGRATION_STARTED_WAIT_FOR_INSTANCES', + 'SET_DOC_MIGRATION_STARTED_WAIT_FOR_INSTANCES -> CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS', + 'CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS -> CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS_WAIT_FOR_TASK', + 'CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS_WAIT_FOR_TASK -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', + 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_READ', + 'OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_TRANSFORM', + 'OUTDATED_DOCUMENTS_SEARCH_TRANSFORM -> OUTDATED_DOCUMENTS_SEARCH_BULK_INDEX', + 'OUTDATED_DOCUMENTS_SEARCH_BULK_INDEX -> OUTDATED_DOCUMENTS_SEARCH_READ', + 'OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT', + 'OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT -> OUTDATED_DOCUMENTS_SEARCH_REFRESH', + 'OUTDATED_DOCUMENTS_SEARCH_REFRESH -> UPDATE_DOCUMENT_MODEL_VERSIONS', + 'UPDATE_DOCUMENT_MODEL_VERSIONS -> UPDATE_DOCUMENT_MODEL_VERSIONS_WAIT_FOR_INSTANCES', + 'UPDATE_DOCUMENT_MODEL_VERSIONS_WAIT_FOR_INSTANCES -> DONE', + 'Migration completed', + ], + { ordered: true } + ); + }); +} diff --git a/src/core/server/integration_tests/saved_objects/migrations/test_types.ts b/src/core/server/integration_tests/saved_objects/migrations/test_types.ts new file mode 100644 index 00000000000000..ed6990dd2b68e1 --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/migrations/test_types.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface EsServer { + stop: () => Promise; +} + +export type EsRunner = () => Promise; diff --git a/src/core/server/integration_tests/saved_objects/migrations/zdt_1/basic_document_migration.test.ts b/src/core/server/integration_tests/saved_objects/migrations/zdt_1/basic_document_migration.test.ts index f6234c770eaf87..e38207a4ffebac 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/zdt_1/basic_document_migration.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/zdt_1/basic_document_migration.test.ts @@ -7,238 +7,13 @@ */ import Path from 'path'; -import fs from 'fs/promises'; -import { range, sortBy } from 'lodash'; -import { type TestElasticsearchUtils } from '@kbn/core-test-helpers-kbn-server'; -import { SavedObjectsBulkCreateObject } from '@kbn/core-saved-objects-api-server'; import '../jest_matchers'; -import { getKibanaMigratorTestKit, startElasticsearch } from '../kibana_migrator_test_kit'; -import { delay, parseLogFile } from '../test_utils'; -import { - getBaseMigratorParams, - getSampleAType, - getSampleBType, -} from '../fixtures/zdt_base.fixtures'; - -export const logFilePath = Path.join(__dirname, 'basic_document_migration.test.log'); +import { startElasticsearch } from '../kibana_migrator_test_kit'; +import { createBasicDocumentsMigrationTest } from '../shared_suites/zdt/basic_document_migration'; describe('ZDT upgrades - basic document migration', () => { - let esServer: TestElasticsearchUtils['es']; - - beforeAll(async () => { - await fs.unlink(logFilePath).catch(() => {}); - esServer = await startElasticsearch(); - }); - - afterAll(async () => { - await esServer?.stop(); - await delay(10); - }); - - const createBaseline = async () => { - const { runMigrations, savedObjectsRepository } = await getKibanaMigratorTestKit({ - ...getBaseMigratorParams(), - types: [getSampleAType(), getSampleBType()], - }); - await runMigrations(); - - const sampleAObjs = range(5).map((number) => ({ - id: `a-${number}`, - type: 'sample_a', - attributes: { - keyword: `a_${number}`, - boolean: true, - }, - })); - - await savedObjectsRepository.bulkCreate(sampleAObjs); - - const sampleBObjs = range(5).map((number) => ({ - id: `b-${number}`, - type: 'sample_b', - attributes: { - text: `i am number ${number}`, - text2: `some static text`, - }, - })); - - await savedObjectsRepository.bulkCreate(sampleBObjs); - }; - - it('migrates the documents', async () => { - await createBaseline(); - - const typeA = getSampleAType(); - const typeB = getSampleBType(); - - // typeA -> we add a new field and bump the model version by one with a migration - - typeA.mappings.properties = { - ...typeA.mappings.properties, - someAddedField: { type: 'keyword' }, - }; - - typeA.modelVersions = { - ...typeA.modelVersions, - '2': { - changes: [ - { - type: 'data_backfill', - backfillFn: (doc) => { - return { - attributes: { - someAddedField: `${doc.attributes.keyword}-mig`, - }, - }; - }, - }, - { - type: 'mappings_addition', - addedMappings: { - someAddedField: { type: 'keyword' }, - }, - }, - ], - }, - }; - - // typeB -> we add two new model version with migrations - - typeB.modelVersions = { - ...typeB.modelVersions, - '2': { - changes: [ - { - type: 'data_backfill', - backfillFn: (doc) => { - return { - attributes: { - text2: `${doc.attributes.text2} - mig2`, - }, - }; - }, - }, - ], - }, - '3': { - changes: [ - { - type: 'data_backfill', - backfillFn: (doc) => { - return { - attributes: { - text2: `${doc.attributes.text2} - mig3`, - }, - }; - }, - }, - ], - }, - }; - - const { runMigrations, client, savedObjectsRepository } = await getKibanaMigratorTestKit({ - ...getBaseMigratorParams(), - logFilePath, - types: [typeA, typeB], - }); - - await runMigrations(); - - const indices = await client.indices.get({ index: '.kibana*' }); - expect(Object.keys(indices)).toEqual(['.kibana_1']); - - const index = indices['.kibana_1']; - const mappings = index.mappings ?? {}; - const mappingMeta = mappings._meta ?? {}; - - expect(mappings.properties).toEqual( - expect.objectContaining({ - sample_a: typeA.mappings, - sample_b: typeB.mappings, - }) - ); - - expect(mappingMeta.docVersions).toEqual({ - sample_a: '10.2.0', - sample_b: '10.3.0', - }); - - const { saved_objects: sampleADocs } = await savedObjectsRepository.find({ type: 'sample_a' }); - const { saved_objects: sampleBDocs } = await savedObjectsRepository.find({ type: 'sample_b' }); - - expect(sampleADocs).toHaveLength(5); - expect(sampleBDocs).toHaveLength(5); - - const sampleAData = sortBy(sampleADocs, 'id').map((object) => ({ - id: object.id, - type: object.type, - attributes: object.attributes, - })); - - expect(sampleAData).toEqual([ - { - id: 'a-0', - type: 'sample_a', - attributes: { boolean: true, keyword: 'a_0', someAddedField: 'a_0-mig' }, - }, - { - id: 'a-1', - type: 'sample_a', - attributes: { boolean: true, keyword: 'a_1', someAddedField: 'a_1-mig' }, - }, - { - id: 'a-2', - type: 'sample_a', - attributes: { boolean: true, keyword: 'a_2', someAddedField: 'a_2-mig' }, - }, - { - id: 'a-3', - type: 'sample_a', - attributes: { boolean: true, keyword: 'a_3', someAddedField: 'a_3-mig' }, - }, - { - id: 'a-4', - type: 'sample_a', - attributes: { boolean: true, keyword: 'a_4', someAddedField: 'a_4-mig' }, - }, - ]); - - const sampleBData = sortBy(sampleBDocs, 'id').map((object) => ({ - id: object.id, - type: object.type, - attributes: object.attributes, - })); - - expect(sampleBData).toEqual([ - { - id: 'b-0', - type: 'sample_b', - attributes: { text: 'i am number 0', text2: 'some static text - mig2 - mig3' }, - }, - { - id: 'b-1', - type: 'sample_b', - attributes: { text: 'i am number 1', text2: 'some static text - mig2 - mig3' }, - }, - { - id: 'b-2', - type: 'sample_b', - attributes: { text: 'i am number 2', text2: 'some static text - mig2 - mig3' }, - }, - { - id: 'b-3', - type: 'sample_b', - attributes: { text: 'i am number 3', text2: 'some static text - mig2 - mig3' }, - }, - { - id: 'b-4', - type: 'sample_b', - attributes: { text: 'i am number 4', text2: 'some static text - mig2 - mig3' }, - }, - ]); - - const records = await parseLogFile(logFilePath); - expect(records).toContainLogEntry('Starting to process 10 documents'); - expect(records).toContainLogEntry('Migration completed'); + createBasicDocumentsMigrationTest({ + startES: startElasticsearch, + logFilePath: Path.join(__dirname, 'basic_document_migration.test.log'), }); }); diff --git a/src/core/server/integration_tests/saved_objects/migrations/zdt_1/standard_workflow.test.ts b/src/core/server/integration_tests/saved_objects/migrations/zdt_1/standard_workflow.test.ts index f8b0cfe78e2ed5..8fb678e49dcc97 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/zdt_1/standard_workflow.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/zdt_1/standard_workflow.test.ts @@ -7,133 +7,13 @@ */ import Path from 'path'; -import fs from 'fs/promises'; -import { range } from 'lodash'; -import { type TestElasticsearchUtils } from '@kbn/core-test-helpers-kbn-server'; -import { SavedObjectsBulkCreateObject } from '@kbn/core-saved-objects-api-server'; import '../jest_matchers'; -import { getKibanaMigratorTestKit, startElasticsearch } from '../kibana_migrator_test_kit'; -import { delay, parseLogFile } from '../test_utils'; -import { - getBaseMigratorParams, - getSampleAType, - getSampleBType, - dummyModelVersion, -} from '../fixtures/zdt_base.fixtures'; +import { startElasticsearch } from '../kibana_migrator_test_kit'; +import { createStandardWorkflowTest } from '../shared_suites/zdt/standard_workflow'; -export const logFilePath = Path.join(__dirname, 'standard_workflow.test.log'); - -describe('ZDT upgrades - basic document migration', () => { - let esServer: TestElasticsearchUtils['es']; - - beforeAll(async () => { - await fs.unlink(logFilePath).catch(() => {}); - esServer = await startElasticsearch(); - }); - - afterAll(async () => { - await esServer?.stop(); - await delay(10); - }); - - const createBaseline = async () => { - const { runMigrations, savedObjectsRepository } = await getKibanaMigratorTestKit({ - ...getBaseMigratorParams(), - types: [getSampleAType(), getSampleBType()], - }); - await runMigrations(); - - const sampleAObjs = range(5).map((number) => ({ - id: `a-${number}`, - type: 'sample_a', - attributes: { keyword: `a_${number}`, boolean: true }, - })); - - await savedObjectsRepository.bulkCreate(sampleAObjs); - - const sampleBObjs = range(5).map((number) => ({ - id: `b-${number}`, - type: 'sample_b', - attributes: { text: `i am number ${number}`, text2: `some static text` }, - })); - - await savedObjectsRepository.bulkCreate(sampleBObjs); - }; - - it('follows the expected stages and transitions', async () => { - await createBaseline(); - - const typeA = getSampleAType(); - const typeB = getSampleBType(); - - typeA.modelVersions = { - ...typeA.modelVersions, - '2': dummyModelVersion, - }; - - typeB.modelVersions = { - ...typeB.modelVersions, - '2': dummyModelVersion, - }; - - const { runMigrations } = await getKibanaMigratorTestKit({ - ...getBaseMigratorParams(), - logFilePath, - types: [typeA, typeB], - }); - - await runMigrations(); - - const records = await parseLogFile(logFilePath); - - expect(records).toContainLogEntry('INIT -> UPDATE_INDEX_MAPPINGS'); - expect(records).toContainLogEntry( - 'UPDATE_INDEX_MAPPINGS -> UPDATE_INDEX_MAPPINGS_WAIT_FOR_TASK' - ); - expect(records).toContainLogEntry( - 'UPDATE_INDEX_MAPPINGS_WAIT_FOR_TASK -> UPDATE_MAPPING_MODEL_VERSIONS' - ); - expect(records).toContainLogEntry('UPDATE_MAPPING_MODEL_VERSIONS -> INDEX_STATE_UPDATE_DONE'); - expect(records).toContainLogEntry('INDEX_STATE_UPDATE_DONE -> DOCUMENTS_UPDATE_INIT'); - expect(records).toContainLogEntry('DOCUMENTS_UPDATE_INIT -> SET_DOC_MIGRATION_STARTED'); - expect(records).toContainLogEntry( - 'SET_DOC_MIGRATION_STARTED -> SET_DOC_MIGRATION_STARTED_WAIT_FOR_INSTANCES' - ); - expect(records).toContainLogEntry( - 'SET_DOC_MIGRATION_STARTED_WAIT_FOR_INSTANCES -> CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS' - ); - expect(records).toContainLogEntry( - 'CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS -> CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS_WAIT_FOR_TASK' - ); - expect(records).toContainLogEntry( - 'CLEANUP_UNKNOWN_AND_EXCLUDED_DOCS_WAIT_FOR_TASK -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_READ' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_TRANSFORM' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_TRANSFORM -> OUTDATED_DOCUMENTS_SEARCH_BULK_INDEX' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_BULK_INDEX -> OUTDATED_DOCUMENTS_SEARCH_READ' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT -> OUTDATED_DOCUMENTS_SEARCH_REFRESH' - ); - expect(records).toContainLogEntry( - 'OUTDATED_DOCUMENTS_SEARCH_REFRESH -> UPDATE_DOCUMENT_MODEL_VERSIONS' - ); - expect(records).toContainLogEntry( - 'UPDATE_DOCUMENT_MODEL_VERSIONS -> UPDATE_DOCUMENT_MODEL_VERSIONS_WAIT_FOR_INSTANCES' - ); - expect(records).toContainLogEntry('UPDATE_DOCUMENT_MODEL_VERSIONS_WAIT_FOR_INSTANCES -> DONE'); - - expect(records).toContainLogEntry('Migration completed'); +describe('ZDT upgrades - standard workflow', () => { + createStandardWorkflowTest({ + startES: startElasticsearch, + logFilePath: Path.join(__dirname, 'standard_workflow.test.log'), }); }); diff --git a/src/core/server/integration_tests/saved_objects/serverless/migrations/actions.test.ts b/src/core/server/integration_tests/saved_objects/serverless/migrations/actions.test.ts new file mode 100644 index 00000000000000..bbd4984eae0b8d --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/serverless/migrations/actions.test.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createTestServerlessInstances } from '@kbn/core-test-helpers-kbn-server'; +import { runActionTestSuite } from '../../migrations/group3/actions/actions_test_suite'; + +const { startES } = createTestServerlessInstances({ + adjustTimeout: jest.setTimeout, +}); + +describe('Migration actions - serverless environment', () => { + runActionTestSuite({ + startEs: async () => { + const serverlessEs = await startES(); + const client = serverlessEs.getClient(); + return { + esServer: serverlessEs, + client, + }; + }, + environment: 'serverless', + }); +}); diff --git a/src/core/server/integration_tests/saved_objects/serverless/migrations/basic_document_migration.test.ts b/src/core/server/integration_tests/saved_objects/serverless/migrations/basic_document_migration.test.ts new file mode 100644 index 00000000000000..cfc30c5bd22661 --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/serverless/migrations/basic_document_migration.test.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; +import { createTestServerlessInstances } from '@kbn/core-test-helpers-kbn-server'; +import { createBasicDocumentsMigrationTest } from '../../migrations/shared_suites/zdt/basic_document_migration'; + +describe('serverless - ZDT upgrades - basic document migration', () => { + const startElasticsearch = async () => { + const { startES } = createTestServerlessInstances({ + adjustTimeout: jest.setTimeout, + }); + return await startES(); + }; + + createBasicDocumentsMigrationTest({ + startES: startElasticsearch, + logFilePath: Path.join(__dirname, 'basic_document_migration.test.log'), + }); +}); diff --git a/src/core/server/integration_tests/saved_objects/serverless/migrations/smoke.test.ts b/src/core/server/integration_tests/saved_objects/serverless/migrations/smoke.test.ts index 1d884706fc8bab..01be93e7a296c8 100644 --- a/src/core/server/integration_tests/saved_objects/serverless/migrations/smoke.test.ts +++ b/src/core/server/integration_tests/saved_objects/serverless/migrations/smoke.test.ts @@ -13,10 +13,11 @@ import { createTestServerlessInstances, } from '@kbn/core-test-helpers-kbn-server'; -describe('smoke', () => { +describe('Basic smoke test', () => { let serverlessES: TestServerlessESUtils; let serverlessKibana: TestServerlessKibanaUtils; let root: TestServerlessKibanaUtils['root']; + beforeEach(async () => { const { startES, startKibana } = createTestServerlessInstances({ adjustTimeout: jest.setTimeout, @@ -25,11 +26,13 @@ describe('smoke', () => { serverlessKibana = await startKibana(); root = serverlessKibana.root; }); + afterEach(async () => { await serverlessES?.stop(); await serverlessKibana?.stop(); }); - test('it can start Kibana and ES serverless', async () => { + + test('it can start Kibana running against serverless ES', async () => { const { body } = await request.get(root, '/api/status').expect(200); expect(body).toMatchObject({ status: { overall: { level: 'available' } } }); }); diff --git a/src/core/server/integration_tests/saved_objects/serverless/migrations/standard_workflow.test.ts b/src/core/server/integration_tests/saved_objects/serverless/migrations/standard_workflow.test.ts new file mode 100644 index 00000000000000..77368869e6e590 --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/serverless/migrations/standard_workflow.test.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; +import { createTestServerlessInstances } from '@kbn/core-test-helpers-kbn-server'; +import { createStandardWorkflowTest } from '../../migrations/shared_suites/zdt/standard_workflow'; + +describe('serverless - ZDT upgrades - standard workflow', () => { + const startElasticsearch = async () => { + const { startES } = createTestServerlessInstances({ + adjustTimeout: jest.setTimeout, + }); + return await startES(); + }; + + createStandardWorkflowTest({ + startES: startElasticsearch, + logFilePath: Path.join(__dirname, 'standard_workflow.test.log'), + }); +}); From fa29dafbd81cf4fc1c7f78953069a59fe6cf06f6 Mon Sep 17 00:00:00 2001 From: Abdon Pijpelink Date: Mon, 11 Sep 2023 17:04:47 +0200 Subject: [PATCH 02/39] ES|QL in-product help update (#166157) This PR updates the ES|QL in-product help with the following: * added the following functions: acos, asin, atan, atan2, ceil, coalesce, cos, cosh, date_extract, date_parse, floor, greatest, left, ltrim, now, right, rtrim, sin, sinh, sqrt, tan, tanh, to_degrees, to_radians, to_unsigned_long * removed is_null function * updated from (metadata) and rename * added an "Operators" section --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../src/esql_documentation_sections.tsx | 1240 ++++++++++++++--- packages/kbn-text-based-editor/src/helpers.ts | 12 +- 2 files changed, 1090 insertions(+), 162 deletions(-) diff --git a/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx b/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx index a3b4ef893a771b..6dde72c1c22d51 100644 --- a/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx +++ b/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx @@ -58,9 +58,50 @@ export const sourceCommands = { { defaultMessage: `### FROM The \`FROM\` source command returns a table with up to 10,000 documents from a data stream, index, or alias. Each row in the resulting table represents a document. Each column corresponds to a field, and can be accessed by the name of that field. - + +\`\`\` +FROM employees +\`\`\` + +You can use [date math](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names) to refer to indices, aliases and data streams. This can be useful for time series data. + +Use comma-separated lists or wildcards to query multiple data streams, indices, or aliases: + +\`\`\` +FROM employees-00001,employees-* +\`\`\` + +#### Metadata + +ES|QL can access the following metadata fields: + +* \`_index\`: the index to which the document belongs. The field is of the type \`keyword\`. +* \`_id\`: the source document's ID. The field is of the type \`keyword\`. +* \`_version\`: the source document's version. The field is of the type \`long\`. + +Use the \`METADATA\` directive to enable metadata fields: + +\`\`\` +FROM index [METADATA _index, _id] \`\`\` -FROM index + +Metadata fields are only available if the source of the data is an index. Consequently, \`FROM\` is the only source commands that supports the \`METADATA\` directive. + +Once enabled, the fields are then available to subsequent processing commands, just like the other index fields: + +\`\`\` +FROM ul_logs, apps [METADATA _index, _version] +| WHERE id IN (13, 14) AND _version == 1 +| EVAL key = CONCAT(_index, "_", TO_STR(id)) +| SORT id, _index +| KEEP id, _index, _version, key +\`\`\` + +Also, similar to the index fields, once an aggregation is performed, a metadata field will no longer be accessible to subsequent commands, unless used as grouping field: + +\`\`\` +FROM employees [METADATA _index, _id] +| STATS max = MAX(emp_no) BY _index \`\`\` `, description: @@ -277,7 +318,7 @@ In case of name collisions, the newly created fields will override the existing 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval.markdown', { defaultMessage: `### EVAL -\`EVAL\` enables you to add new columns to the end of a table: +\`EVAL\` enables you to add new columns: \`\`\` FROM employees @@ -444,7 +485,7 @@ ROW a=[1,2,3], b="b", j=["a","b"] Use \`RENAME\` to rename a column using the following syntax: \`\`\` -RENAME = +RENAME AS \`\`\` For example: @@ -452,7 +493,7 @@ For example: \`\`\` FROM employees | KEEP first_name, last_name, still_hired -| RENAME employed = still_hired +| RENAME still_hired AS employed \`\`\` If a column with the new name already exists, it will be replaced by the new column. @@ -462,7 +503,7 @@ Multiple columns can be renamed with a single \`RENAME\` command: \`\`\` FROM employees | KEEP first_name, last_name -| RENAME fn = first_name, ln = last_name +| RENAME first_name AS fn, last_name AS ln \`\`\` `, description: @@ -600,56 +641,11 @@ FROM employees \`\`\` #### Operators -These binary comparison operators are supported: - -* equality: \`==\` -* inequality: \`!=\` -* less than: \`<\` -* less than or equal: \`<=\` -* larger than: \`>\` -* larger than or equal: \`>=\` -The \`IN\` operator allows testing whether a field or expression equals an element in a list of literals, fields or expressions: - -\`\`\` -ROW a = 1, b = 4, c = 3 -| WHERE c-a IN (3, b / 2, a) -\`\`\` - -For string comparison using wildcards or regular expressions, use \`LIKE\` or \`RLIKE\`: - -* Use \`LIKE\` to match strings using wildcards. The following wildcard characters are supported: - * \`*\` matches zero or more characters. - * \`?\` matches one character. - - \`\`\` - FROM employees - | WHERE first_name LIKE "?b*" - | KEEP first_name, last_name - \`\`\` - -* Use \`RLIKE\` to match strings using [regular expressions](https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html): - - \`\`\` - FROM employees - | WHERE first_name RLIKE ".leja.*" - | KEEP first_name, last_name - \`\`\` - -You can use the following boolean operators: - -* \`AND\` -* \`OR\` -* \`NOT\` - -\`\`\` -FROM employees -| KEEP first_name, last_name, height, still_hired -| WHERE height > 2 AND NOT still_hired -\`\`\` +Refer to **Operators** for an overview of the supported operators. #### Functions -\`WHERE\` supports various functions for calculating values. Refer to Functions for more information. +\`WHERE\` supports various functions for calculating values. Refer to **Functions** for more information. `, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', @@ -691,6 +687,114 @@ Returns the absolute value. FROM employees | KEEP first_name, last_name, height | EVAL abs_height = ABS(0.0 - height) +\`\`\` + `, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction', + { + defaultMessage: 'ACOS', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction', + { + defaultMessage: 'ASIN', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction', + { + defaultMessage: 'ATAN', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function', + { + defaultMessage: 'ATAN2', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction', + { + defaultMessage: 'E', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction', + { + defaultMessage: 'FLOOR', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction', + { + defaultMessage: 'GREATEST', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.isFiniteFunction', + { + defaultMessage: 'IS_FINITE', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.isInfiniteFunction', + { + defaultMessage: 'IS_INFINITE', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.isNanFunction', + { + defaultMessage: 'IS_NAN', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction', + { + defaultMessage: 'LEAST', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction', + { + defaultMessage: 'LEFT', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction', + { + defaultMessage: 'LENGTH', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimunction', + { + defaultMessage: 'LTRIM', + } + ), + description: ( + ), }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction', + { + defaultMessage: 'NOW', + } + ), + description: ( + + ), + }, { label: i18n.translate( 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction', @@ -1471,7 +1878,7 @@ NOTE: The input type can be any number and the output type is the same as the in 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction.markdown', { defaultMessage: `### PI -The ratio of a circle’s circumference to its diameter. +The ratio of a circle's circumference to its diameter. \`\`\` ROW PI() @@ -1497,11 +1904,81 @@ ROW PI() 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction.markdown', { defaultMessage: `### POW -Returns the the value of a base (first argument) raised to a power (second argument). +Returns the the value of a base (first argument) raised to a power (second argument). Both arguments must be numeric. \`\`\` ROW base = 2.0, exponent = 2.0 | EVAL s = POW(base, exponent) +\`\`\` + +#### Type rules + +The type of the returned value is determined by the types of the base and exponent. The following rules are applied to determine the result type: + +* If either of the base or exponent are of a floating point type, the result will be a double +* Otherwise, if either the base or the exponent are 64-bit (long or unsigned long), the result will be a long +* Otherwise, the result will be a 32-bit integer (this covers all other numeric types, including int, short and byte) + +For example, using simple integers as arguments will lead to an integer result: + +\`\`\` +ROW base = 2, exponent = 2 +| EVAL s = POW(base, exponent) +\`\`\` + +Note: the actual power function is performed using double precision values for all cases. This means that for very large non-floating point values there is a small chance that the operation can lead to slightly different answers than expected. However, a more likely outcome of very large non-floating point values is numerical overflow. + +#### Arithmetic errors + +Arithmetic errors and numeric overflow do not result in an error. Instead, the result will be \`null\` and a warning for the \`ArithmeticException\` added. For example: + +\`\`\` +ROW x = POW(9223372036854775808, 2) +\`\`\` + +If it is desired to protect against numerical overruns, use \`TO_DOUBLE\` on either of the arguments: + +\`\`\` +ROW x = POW(9223372036854775808, TO_DOUBLE(1)) +\`\`\` + +#### Fractional exponents + +The exponent can be a fraction, which is similar to performing a root. For example, the exponent of 0.5 will give the square root of the base: + +\`\`\` +ROW base = 4, exponent = 0.5 +| EVAL s = POW(base, exponent) +\`\`\` + `, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction', + { + defaultMessage: 'RIGHT', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction', + { + defaultMessage: 'RTRIM', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction', + { + defaultMessage: 'SIN', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction', + { + defaultMessage: 'SINH', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction', + { + defaultMessage: 'SQRT', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction', + { + defaultMessage: 'TAN', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction', + { + defaultMessage: 'TANH', + } + ), + description: ( + ), }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction', + { + defaultMessage: 'TO_DEGREES', + } + ), + description: ( + + ), + }, { label: i18n.translate( 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction', @@ -1927,11 +2600,40 @@ Returning: 2147483648 | 2147483648.2 | foo | 2147483648 | 2147483648 | null \`\`\` -Note that in this example, the last conversion of the string isn’t possible. When this happens, the result is a **null** value. +Note that in this example, the last conversion of the string isn't possible. When this happens, the result is a **null** value. If the input parameter is of a date type, its value will be interpreted as milliseconds since the Unix epoch, converted to integer. -Boolean **true** will be converted to long **1**, **false** to **0**. +Boolean \`true\` will be converted to long \`1\`, \`false\` to \`0\`. + `, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction', + { + defaultMessage: 'TO_RADIANS', + } + ), + description: ( + ), }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction', + { + defaultMessage: 'TO_UNSIGNED_LONG', + } + ), + description: ( + + ), + }, { label: i18n.translate( 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction', @@ -2316,3 +3065,176 @@ FROM employees }, ], }; + +export const operators = { + label: i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.operators', { + defaultMessage: 'Operators', + }), + description: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.operatorsDocumentationESQLDescription', + { + defaultMessage: `ES|QL supports the following operators:`, + } + ), + items: [ + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators', + { + defaultMessage: 'Binary operators', + } + ), + description: ( + \` +* larger than or equal: \`>=\` + `, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators', + { + defaultMessage: 'Boolean operators', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator', + { + defaultMessage: 'IN', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators', + { + defaultMessage: 'LIKE and RLIKE', + } + ), + description: ( + + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates', + { + defaultMessage: 'NULL values', + } + ), + description: ( + + ), + }, + ], +}; diff --git a/packages/kbn-text-based-editor/src/helpers.ts b/packages/kbn-text-based-editor/src/helpers.ts index fd7c9c2f9406d4..6b4e99f6e30936 100644 --- a/packages/kbn-text-based-editor/src/helpers.ts +++ b/packages/kbn-text-based-editor/src/helpers.ts @@ -139,15 +139,21 @@ export const getDocumentationSections = async (language: string) => { }; } if (language === 'esql') { - const { sourceCommands, processingCommands, initialSection, functions, aggregationFunctions } = - await import('./esql_documentation_sections'); + const { + sourceCommands, + processingCommands, + initialSection, + functions, + aggregationFunctions, + operators, + } = await import('./esql_documentation_sections'); groups.push({ label: i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.esql', { defaultMessage: 'ES|QL', }), items: [], }); - groups.push(sourceCommands, processingCommands, functions, aggregationFunctions); + groups.push(sourceCommands, processingCommands, functions, aggregationFunctions, operators); return { groups, initialSection, From 60c7db0aa6a5ffdaf62ab1593e2225cd0f18894e Mon Sep 17 00:00:00 2001 From: Sandra G Date: Mon, 11 Sep 2023 11:08:08 -0400 Subject: [PATCH 03/39] [Asset Manager] update services endpoint to use apm data access plugin (#164750) Closes https://github.com/elastic/kibana/issues/164695 Uses [apm_data_access plugin](https://github.com/elastic/kibana/pull/162367) in place of statically defined indices to extract services --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kevin Lacabane --- x-pack/plugins/asset_manager/kibana.jsonc | 1 + .../asset_manager/server/lib/accessors/index.ts | 4 ++++ .../services/get_services_by_signals.ts | 3 ++- .../asset_manager/server/lib/asset_accessor.ts | 4 ++++ .../server/lib/collectors/containers.ts | 4 ++-- .../server/lib/collectors/hosts.ts | 4 ++-- .../server/lib/collectors/index.ts | 7 +++++++ .../asset_manager/server/lib/collectors/pods.ts | 4 ++-- .../server/lib/collectors/services.ts | 10 +++++----- x-pack/plugins/asset_manager/server/plugin.ts | 12 ++++++++++-- .../server/routes/assets/services.ts | 4 +++- x-pack/plugins/asset_manager/server/types.ts | 17 +++++++++++------ x-pack/plugins/asset_manager/tsconfig.json | 3 ++- 13 files changed, 55 insertions(+), 22 deletions(-) diff --git a/x-pack/plugins/asset_manager/kibana.jsonc b/x-pack/plugins/asset_manager/kibana.jsonc index ca019d0cceaa80..a3bfb9261456fa 100644 --- a/x-pack/plugins/asset_manager/kibana.jsonc +++ b/x-pack/plugins/asset_manager/kibana.jsonc @@ -12,6 +12,7 @@ "optionalPlugins": [ ], "requiredPlugins": [ + "apmDataAccess" ], "browser": false, "server": true, diff --git a/x-pack/plugins/asset_manager/server/lib/accessors/index.ts b/x-pack/plugins/asset_manager/server/lib/accessors/index.ts index a097703fb3b51c..d75490b002e97c 100644 --- a/x-pack/plugins/asset_manager/server/lib/accessors/index.ts +++ b/x-pack/plugins/asset_manager/server/lib/accessors/index.ts @@ -6,14 +6,18 @@ */ import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { APMDataAccessConfig } from '@kbn/apm-data-access-plugin/server'; +import { SavedObjectsClientContract } from '@kbn/core/server'; import { AssetManagerConfig } from '../../types'; export interface InjectedValues { sourceIndices: AssetManagerConfig['sourceIndices']; + getApmIndices: (soClient: SavedObjectsClientContract) => Promise; } export type OptionsWithInjectedValues = T & InjectedValues; export interface AccessorOptions { esClient: ElasticsearchClient; + soClient: SavedObjectsClientContract; } diff --git a/x-pack/plugins/asset_manager/server/lib/accessors/services/get_services_by_signals.ts b/x-pack/plugins/asset_manager/server/lib/accessors/services/get_services_by_signals.ts index e368ec97e9aafc..8618feb288b7bc 100644 --- a/x-pack/plugins/asset_manager/server/lib/accessors/services/get_services_by_signals.ts +++ b/x-pack/plugins/asset_manager/server/lib/accessors/services/get_services_by_signals.ts @@ -26,11 +26,12 @@ export async function getServicesBySignals( }); } + const apmIndices = await options.getApmIndices(options.soClient); const { assets } = await collectServices({ client: options.esClient, from: options.from, to: options.to, - sourceIndices: options.sourceIndices, + apmIndices, filters, }); diff --git a/x-pack/plugins/asset_manager/server/lib/asset_accessor.ts b/x-pack/plugins/asset_manager/server/lib/asset_accessor.ts index 5710ec562bac14..9f4f33097879de 100644 --- a/x-pack/plugins/asset_manager/server/lib/asset_accessor.ts +++ b/x-pack/plugins/asset_manager/server/lib/asset_accessor.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { APMDataAccessConfig } from '@kbn/apm-data-access-plugin/server'; +import { SavedObjectsClientContract } from '@kbn/core/server'; import { Asset } from '../../common/types_api'; import { AssetManagerConfig } from '../types'; import { OptionsWithInjectedValues } from './accessors'; @@ -18,6 +20,7 @@ import { getServicesBySignals } from './accessors/services/get_services_by_signa interface AssetAccessorClassOptions { sourceIndices: AssetManagerConfig['sourceIndices']; source: AssetManagerConfig['lockedSource']; + getApmIndices: (soClient: SavedObjectsClientContract) => Promise; } export class AssetAccessor { @@ -27,6 +30,7 @@ export class AssetAccessor { return { ...options, sourceIndices: this.options.sourceIndices, + getApmIndices: this.options.getApmIndices, }; } diff --git a/x-pack/plugins/asset_manager/server/lib/collectors/containers.ts b/x-pack/plugins/asset_manager/server/lib/collectors/containers.ts index 18a55af232dfb7..c693fc47302d77 100644 --- a/x-pack/plugins/asset_manager/server/lib/collectors/containers.ts +++ b/x-pack/plugins/asset_manager/server/lib/collectors/containers.ts @@ -16,9 +16,9 @@ export async function collectContainers({ sourceIndices, afterKey, }: CollectorOptions) { - const { metrics, logs, traces } = sourceIndices; + const { metrics, logs } = sourceIndices; const dsl: estypes.SearchRequest = { - index: [traces, logs, metrics], + index: [logs, metrics], size: QUERY_MAX_SIZE, collapse: { field: 'container.id', diff --git a/x-pack/plugins/asset_manager/server/lib/collectors/hosts.ts b/x-pack/plugins/asset_manager/server/lib/collectors/hosts.ts index 0151567a369827..f6821d73f251d8 100644 --- a/x-pack/plugins/asset_manager/server/lib/collectors/hosts.ts +++ b/x-pack/plugins/asset_manager/server/lib/collectors/hosts.ts @@ -16,9 +16,9 @@ export async function collectHosts({ sourceIndices, afterKey, }: CollectorOptions) { - const { metrics, logs, traces } = sourceIndices; + const { metrics, logs } = sourceIndices; const dsl: estypes.SearchRequest = { - index: [metrics, logs, traces], + index: [metrics, logs], size: QUERY_MAX_SIZE, collapse: { field: 'host.hostname' }, sort: [{ 'host.hostname': 'asc' }], diff --git a/x-pack/plugins/asset_manager/server/lib/collectors/index.ts b/x-pack/plugins/asset_manager/server/lib/collectors/index.ts index 5e0b300e601db1..3b426200657c5b 100644 --- a/x-pack/plugins/asset_manager/server/lib/collectors/index.ts +++ b/x-pack/plugins/asset_manager/server/lib/collectors/index.ts @@ -6,6 +6,7 @@ */ import { estypes } from '@elastic/elasticsearch'; +import type { APMIndices } from '@kbn/apm-data-access-plugin/server'; import { ElasticsearchClient } from '@kbn/core/server'; import { AssetManagerConfig } from '../../types'; import { Asset } from '../../../common/types_api'; @@ -23,6 +24,12 @@ export interface CollectorOptions { filters?: estypes.QueryDslQueryContainer[]; } +type OmitSourceIndices = Omit; + +export type ServicesCollectorOptions = OmitSourceIndices & { + apmIndices: APMIndices; +}; + export interface CollectorResult { assets: Asset[]; afterKey?: estypes.SortResults; diff --git a/x-pack/plugins/asset_manager/server/lib/collectors/pods.ts b/x-pack/plugins/asset_manager/server/lib/collectors/pods.ts index d3d1af91326c7a..104cab1d361e4c 100644 --- a/x-pack/plugins/asset_manager/server/lib/collectors/pods.ts +++ b/x-pack/plugins/asset_manager/server/lib/collectors/pods.ts @@ -10,9 +10,9 @@ import { Asset } from '../../../common/types_api'; import { CollectorOptions, QUERY_MAX_SIZE } from '.'; export async function collectPods({ client, from, to, sourceIndices, afterKey }: CollectorOptions) { - const { metrics, logs, traces } = sourceIndices; + const { metrics, logs } = sourceIndices; const dsl: estypes.SearchRequest = { - index: [metrics, logs, traces], + index: [metrics, logs], size: QUERY_MAX_SIZE, collapse: { field: 'kubernetes.pod.uid', diff --git a/x-pack/plugins/asset_manager/server/lib/collectors/services.ts b/x-pack/plugins/asset_manager/server/lib/collectors/services.ts index c351f49f3a8f7d..062c3a06054cd6 100644 --- a/x-pack/plugins/asset_manager/server/lib/collectors/services.ts +++ b/x-pack/plugins/asset_manager/server/lib/collectors/services.ts @@ -7,17 +7,17 @@ import { estypes } from '@elastic/elasticsearch'; import { Asset } from '../../../common/types_api'; -import { CollectorOptions, QUERY_MAX_SIZE } from '.'; +import { ServicesCollectorOptions, QUERY_MAX_SIZE } from '.'; export async function collectServices({ client, from, to, - sourceIndices, + apmIndices, afterKey, filters = [], -}: CollectorOptions) { - const { traces, serviceMetrics, serviceLogs } = sourceIndices; +}: ServicesCollectorOptions) { + const { transaction, error, metric } = apmIndices; const musts: estypes.QueryDslQueryContainer[] = [ ...filters, { @@ -28,7 +28,7 @@ export async function collectServices({ ]; const dsl: estypes.SearchRequest = { - index: [traces, serviceMetrics, serviceLogs], + index: [transaction, error, metric], size: 0, _source: false, query: { diff --git a/x-pack/plugins/asset_manager/server/plugin.ts b/x-pack/plugins/asset_manager/server/plugin.ts index 56a880b0da0801..41114fadbbc7b7 100644 --- a/x-pack/plugins/asset_manager/server/plugin.ts +++ b/x-pack/plugins/asset_manager/server/plugin.ts @@ -20,6 +20,7 @@ import { setupRoutes } from './routes'; import { assetsIndexTemplateConfig } from './templates/assets_template'; import { AssetManagerConfig, configSchema } from './types'; import { AssetAccessor } from './lib/asset_accessor'; +import { AssetManagerPluginSetupDependencies, AssetManagerPluginStartDependencies } from './types'; export type AssetManagerServerPluginSetup = ReturnType; export type AssetManagerServerPluginStart = ReturnType; @@ -29,7 +30,13 @@ export const config: PluginConfigDescriptor = { }; export class AssetManagerServerPlugin - implements Plugin + implements + Plugin< + AssetManagerServerPluginSetup, + AssetManagerServerPluginStart, + AssetManagerPluginSetupDependencies, + AssetManagerPluginStartDependencies + > { public config: AssetManagerConfig; public logger: Logger; @@ -39,7 +46,7 @@ export class AssetManagerServerPlugin this.logger = context.logger.get(); } - public setup(core: CoreSetup) { + public setup(core: CoreSetup, plugins: AssetManagerPluginSetupDependencies) { // Check for config value and bail out if not "alpha-enabled" if (!this.config.alphaEnabled) { this.logger.info('Asset manager plugin [tech preview] is NOT enabled'); @@ -51,6 +58,7 @@ export class AssetManagerServerPlugin const assetAccessor = new AssetAccessor({ source: this.config.lockedSource, sourceIndices: this.config.sourceIndices, + getApmIndices: plugins.apmDataAccess.getApmIndices, }); const router = core.http.createRouter(); diff --git a/x-pack/plugins/asset_manager/server/routes/assets/services.ts b/x-pack/plugins/asset_manager/server/routes/assets/services.ts index 60f282a219c052..d7edf3b6f7f3c6 100644 --- a/x-pack/plugins/asset_manager/server/routes/assets/services.ts +++ b/x-pack/plugins/asset_manager/server/routes/assets/services.ts @@ -48,13 +48,15 @@ export function servicesRoutes({ async (context, req, res) => { const { from = 'now-24h', to = 'now', parent } = req.query || {}; const esClient = await getEsClientFromContext(context); - + const coreContext = await context.core; + const soClient = coreContext.savedObjects.client; try { const response = await assetAccessor.getServices({ from: datemath.parse(from)!.toISOString(), to: datemath.parse(to)!.toISOString(), parent, esClient, + soClient, }); return res.ok({ body: response }); diff --git a/x-pack/plugins/asset_manager/server/types.ts b/x-pack/plugins/asset_manager/server/types.ts index a20ad1981b548f..d964d3133c61e8 100644 --- a/x-pack/plugins/asset_manager/server/types.ts +++ b/x-pack/plugins/asset_manager/server/types.ts @@ -7,6 +7,10 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { ElasticsearchClient } from '@kbn/core/server'; +import { + ApmDataAccessPluginSetup, + ApmDataAccessPluginStart, +} from '@kbn/apm-data-access-plugin/server'; export interface ElasticsearchAccessorOptions { esClient: ElasticsearchClient; @@ -15,9 +19,6 @@ export interface ElasticsearchAccessorOptions { export const INDEX_DEFAULTS = { metrics: 'metricbeat-*,metrics-*', logs: 'filebeat-*,logs-*', - traces: 'traces-*', - serviceMetrics: 'metrics-apm*', - serviceLogs: 'logs-apm*', }; export const configSchema = schema.object({ @@ -30,9 +31,6 @@ export const configSchema = schema.object({ { metrics: schema.string({ defaultValue: INDEX_DEFAULTS.metrics }), logs: schema.string({ defaultValue: INDEX_DEFAULTS.logs }), - traces: schema.string({ defaultValue: INDEX_DEFAULTS.traces }), - serviceMetrics: schema.string({ defaultValue: INDEX_DEFAULTS.serviceMetrics }), - serviceLogs: schema.string({ defaultValue: INDEX_DEFAULTS.serviceLogs }), }, { defaultValue: INDEX_DEFAULTS } ), @@ -47,3 +45,10 @@ export const configSchema = schema.object({ }); export type AssetManagerConfig = TypeOf; + +export interface AssetManagerPluginSetupDependencies { + apmDataAccess: ApmDataAccessPluginSetup; +} +export interface AssetManagerPluginStartDependencies { + apmDataAccess: ApmDataAccessPluginStart; +} diff --git a/x-pack/plugins/asset_manager/tsconfig.json b/x-pack/plugins/asset_manager/tsconfig.json index 68bc19d31204e6..9527af19396e55 100644 --- a/x-pack/plugins/asset_manager/tsconfig.json +++ b/x-pack/plugins/asset_manager/tsconfig.json @@ -19,6 +19,7 @@ "@kbn/io-ts-utils", "@kbn/core-elasticsearch-server", "@kbn/core-http-request-handler-context-server", - "@kbn/datemath" + "@kbn/datemath", + "@kbn/apm-data-access-plugin" ] } From 87be5225e2f5c13b074e9cf68ceb4420be07b168 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 11 Sep 2023 11:09:57 -0400 Subject: [PATCH 04/39] skip failing test suite (#166097) --- x-pack/test/functional/apps/lens/group4/tsdb.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/lens/group4/tsdb.ts b/x-pack/test/functional/apps/lens/group4/tsdb.ts index 3200c7a073dc43..02dfa4ea2da5e5 100644 --- a/x-pack/test/functional/apps/lens/group4/tsdb.ts +++ b/x-pack/test/functional/apps/lens/group4/tsdb.ts @@ -311,7 +311,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { log.info(`Indexed ${res.items.length} test data docs.`); }; - describe('lens tsdb', function () { + // Failing: See https://github.com/elastic/kibana/issues/166097 + describe.skip('lens tsdb', function () { const tsdbIndex = 'kibana_sample_data_logstsdb'; const tsdbDataView = tsdbIndex; const tsdbEsArchive = 'test/functional/fixtures/es_archiver/kibana_sample_data_logs_tsdb'; From 6526280785d585e495a827dee46c08c160461a83 Mon Sep 17 00:00:00 2001 From: Vitalii Dmyterko <92328789+vitaliidm@users.noreply.github.com> Date: Mon, 11 Sep 2023 16:32:54 +0100 Subject: [PATCH 05/39] [Security Solution] [Detections] reverts "Adds support for index patterns (DataViewBase) to be used for query bar filters #165262" (#166176) ## Summary Reverts https://github.com/elastic/kibana/pull/165262 due infinite loop of requests on rule creation page https://github.com/elastic/kibana/assets/92328789/43e69573-d6c5-4b34-9a0e-822f275ca764 As these requests carry large number of fields, it signiificantly affects Kibana performance as well ``` [2023-09-11T15:14:57.572+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/api/ui_counters/_report exceeded threshold of 250ms (1109ms out of 1135ms) and 15% (98%) [2023-09-11T15:15:10.780+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/internal/data_views/_fields_for_wildcard exceeded threshold of 250ms (258ms out of 258ms) and 15% (100%) [2023-09-11T15:15:10.787+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/internal/data_views/_fields_for_wildcard exceeded threshold of 250ms (267ms out of 267ms) and 15% (100%) [2023-09-11T15:15:10.789+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/internal/data_views/_fields_for_wildcard exceeded threshold of 250ms (253ms out of 253ms) and 15% (100%) [2023-09-11T15:15:11.735+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/internal/data_views/_fields_for_wildcard exceeded threshold of 250ms (309ms out of 319ms) and 15% (97%) [2023-09-11T15:15:12.484+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/internal/data_views/_fields_for_wildcard exceeded threshold of 250ms (287ms out of 296ms) and 15% (97%) [2023-09-11T15:15:12.578+01:00][WARN ][http.server.Kibana] Event loop utilization for /kbn/internal/data_views/_fields_for_wildcard exceeded threshold of 250ms (363ms out of 368ms) and 15% (98%) ``` This reverts commit 1accadb7eea270bea81a471a9d5e2ab9f2840f57. Summarize your PR. If it involves visual changes include a screenshot or gif. --- .../components/query_bar/index.test.tsx | 195 +++++++++++++----- .../common/components/query_bar/index.tsx | 31 +-- 2 files changed, 145 insertions(+), 81 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx index 3aa6ea65134844..118c78e2907592 100644 --- a/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx @@ -16,41 +16,9 @@ import { SearchBar } from '@kbn/unified-search-plugin/public'; import type { QueryBarComponentProps } from '.'; import { QueryBar } from '.'; -import type { DataViewFieldMap } from '@kbn/data-views-plugin/common'; -import { createStubDataView } from '@kbn/data-views-plugin/common/data_view.stub'; -import { fields } from '@kbn/data-views-plugin/common/mocks'; -import { useKibana } from '../../lib/kibana'; - -const getMockIndexPattern = () => ({ - ...createStubDataView({ - spec: { - id: '1234', - title: 'logstash-*', - fields: ((): DataViewFieldMap => { - const fieldMap: DataViewFieldMap = Object.create(null); - for (const field of fields) { - fieldMap[field.name] = { ...field }; - } - return fieldMap; - })(), - }, - }), -}); - const mockUiSettingsForFilterManager = coreMock.createStart().uiSettings; -jest.mock('../../lib/kibana'); describe('QueryBar ', () => { - (useKibana as jest.Mock).mockReturnValue({ - services: { - data: { - dataViews: { - create: jest.fn().mockResolvedValue(getMockIndexPattern()), - clearInstanceCache: jest.fn(), - }, - }, - }, - }); const mockOnChangeQuery = jest.fn(); const mockOnSubmitQuery = jest.fn(); const mockOnSavedQuery = jest.fn(); @@ -84,10 +52,10 @@ describe('QueryBar ', () => { mockOnSavedQuery.mockClear(); }); - test('check if we format the appropriate props to QueryBar', async () => { - await act(async () => { - const wrapper = await getWrapper( - { + const wrapper = mount( + + { onSubmitQuery={mockOnSubmitQuery} onSavedQuery={mockOnSavedQuery} /> - ); + + ); + const { + customSubmitButton, + timeHistory, + onClearSavedQuery, + onFiltersUpdated, + onQueryChange, + onQuerySubmit, + onSaved, + onSavedQueryUpdated, + ...searchBarProps + } = wrapper.find(SearchBar).props(); - await waitFor(() => { - wrapper.update(); - const { - customSubmitButton, - timeHistory, - onClearSavedQuery, - onFiltersUpdated, - onQueryChange, - onQuerySubmit, - onSaved, - onSavedQueryUpdated, - ...searchBarProps - } = wrapper.find(SearchBar).props(); - expect((searchBarProps?.indexPatterns ?? [{ id: 'unknown' }])[0].id).toEqual( - getMockIndexPattern().id - ); - }); + expect(searchBarProps).toEqual({ + dataTestSubj: undefined, + dateRangeFrom: 'now/d', + dateRangeTo: 'now/d', + displayStyle: undefined, + filters: [], + indexPatterns: [ + { + fields: [ + { + aggregatable: true, + name: '@timestamp', + searchable: true, + type: 'date', + }, + { + aggregatable: true, + name: '@version', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.ephemeral_id', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.hostname', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.id', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test1', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test2', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test3', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test4', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test5', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test6', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test7', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test8', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'host.name', + searchable: true, + type: 'string', + }, + { + aggregatable: false, + name: 'nestedField.firstAttributes', + searchable: true, + type: 'string', + }, + { + aggregatable: false, + name: 'nestedField.secondAttributes', + searchable: true, + type: 'string', + }, + ], + title: 'filebeat-*,auditbeat-*,packetbeat-*', + }, + ], + isLoading: false, + isRefreshPaused: true, + query: { + language: 'kuery', + query: 'here: query', + }, + refreshInterval: undefined, + savedQuery: undefined, + showAutoRefreshOnly: false, + showDatePicker: false, + showFilterBar: true, + showQueryInput: true, + showSaveQuery: true, + showSubmitButton: false, }); }); @@ -208,6 +294,7 @@ describe('QueryBar ', () => { const onSubmitQueryRef = searchBarProps.onQuerySubmit; const onSavedQueryRef = searchBarProps.onSavedQueryUpdated; wrapper.setProps({ onSavedQuery: jest.fn() }); + wrapper.update(); expect(onSavedQueryRef).not.toEqual(wrapper.find(SearchBar).props().onSavedQueryUpdated); expect(onChangedQueryRef).toEqual(wrapper.find(SearchBar).props().onQueryChange); diff --git a/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx b/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx index aea4874f9a2ef3..d86f3de10b5499 100644 --- a/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { memo, useMemo, useCallback, useState, useEffect } from 'react'; +import React, { memo, useMemo, useCallback } from 'react'; import deepEqual from 'fast-deep-equal'; import type { DataViewBase, Filter, Query, TimeRange } from '@kbn/es-query'; @@ -16,8 +16,6 @@ import type { SearchBarProps } from '@kbn/unified-search-plugin/public'; import { SearchBar } from '@kbn/unified-search-plugin/public'; import { Storage } from '@kbn/kibana-utils-plugin/public'; -import { useKibana } from '../../lib/kibana'; - export interface QueryBarComponentProps { dataTestSubj?: string; dateRangeFrom?: string; @@ -38,9 +36,6 @@ export interface QueryBarComponentProps { isDisabled?: boolean; } -export const isDataView = (obj: unknown): obj is DataView => - obj != null && typeof obj === 'object' && Object.hasOwn(obj, 'getName'); - export const QueryBar = memo( ({ dateRangeFrom, @@ -61,8 +56,6 @@ export const QueryBar = memo( displayStyle, isDisabled, }) => { - const { data } = useKibana().services; - const [dataView, setDataView] = useState(); const onQuerySubmit = useCallback( (payload: { dateRange: TimeRange; query?: Query }) => { if (payload.query != null && !deepEqual(payload.query, filterQuery)) { @@ -109,32 +102,16 @@ export const QueryBar = memo( [filterManager] ); - useEffect(() => { - if (isDataView(indexPattern)) { - setDataView(indexPattern); - } else { - const createDataView = async () => { - const dv = await data.dataViews.create({ title: indexPattern.title }); - setDataView(dv); - }; - createDataView(); - } - return () => { - if (dataView?.id) { - data.dataViews.clearInstanceCache(dataView?.id); - } - }; - }, [data.dataViews, dataView?.id, indexPattern]); - + const indexPatterns = useMemo(() => [indexPattern], [indexPattern]); const timeHistory = useMemo(() => new TimeHistory(new Storage(localStorage)), []); - const arrDataView = useMemo(() => (dataView != null ? [dataView] : []), [dataView]); + return ( Date: Mon, 11 Sep 2023 18:14:35 +0200 Subject: [PATCH 06/39] [Security Solution] expandable flyout - correctly format alert and document count number in the prevalence details table (#165843) --- .../components/prevalence_details.test.tsx | 37 +++++++++++++++++++ .../left/components/prevalence_details.tsx | 5 ++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx index 5c7a900765fe39..95f1345a873302 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx @@ -112,6 +112,43 @@ describe('PrevalenceDetails', () => { expect(queryByTestId(`${PREVALENCE_DETAILS_TABLE_TEST_ID}UpSell`)).not.toBeInTheDocument(); }); + it('should render formatted numbers for the alert and document count columns', () => { + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [ + { + field: 'field1', + value: 'value1', + alertCount: 1000, + docCount: 2000000, + hostPrevalence: 0.05, + userPrevalence: 0.1, + }, + ], + }); + + const { getByTestId } = render( + + + + + + ); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID)).toHaveTextContent('field1'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID)).toHaveTextContent('value1'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID)).toHaveTextContent('1k'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID)).toHaveTextContent('2M'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID)).toHaveTextContent( + '5%' + ); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID)).toHaveTextContent( + '10%' + ); + }); + it('should render the table with only basic columns if license is not platinum', () => { const field1 = 'field1'; const field2 = 'field2'; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx index 11f370e9572a6b..c58c138264ef5e 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx @@ -23,6 +23,7 @@ import { EuiToolTip, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import { FormattedCount } from '../../../common/components/formatted_number'; import { useLicense } from '../../../common/hooks/use_license'; import { InvestigateInTimelineButton } from '../../../common/components/event_details/table/investigate_in_timeline_button'; import type { PrevalenceData } from '../../shared/hooks/use_prevalence'; @@ -116,7 +117,7 @@ const columns: Array> = [ filters={[]} timeRange={{ kind: 'absolute', from: data.from, to: data.to }} > - <>{data.alertCount} + ) : ( getEmptyTagValue() @@ -161,7 +162,7 @@ const columns: Array> = [ timeRange={{ kind: 'absolute', from: data.from, to: data.to }} keepDataView // changing dataview from only detections to include non-alerts docs > - <>{data.docCount} + ) : ( getEmptyTagValue() From ee92d7dd4e464e7fb56b55681bfffb30ef2df085 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Mon, 11 Sep 2023 12:08:58 -0500 Subject: [PATCH 07/39] skip failing test suite (#166190) --- .../migrations/group3/actions/actions_test_suite.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts index e8587ee82ee46e..9b232b1a942fc8 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts @@ -756,7 +756,8 @@ export const runActionTestSuite = ({ // Reindex doesn't return any errors on it's own, so we have to test // together with waitForReindexTask - describe('reindex & waitForReindexTask', () => { + // Failing: See https://github.com/elastic/kibana/issues/166190 + describe.skip('reindex & waitForReindexTask', () => { it('resolves right when reindex succeeds without reindex script', async () => { const res = (await reindex({ client, From 32d743a9f0bd4123e553dc07cf9c7dd19f90f347 Mon Sep 17 00:00:00 2001 From: Josh Dover <1813008+joshdover@users.noreply.github.com> Date: Mon, 11 Sep 2023 19:28:38 +0200 Subject: [PATCH 08/39] [Serverless] Use latest published version for initial agent download (#166150) Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../install_agent/install_agent_managed.tsx | 12 ++- .../post_install_google_cloud_shell_modal.tsx | 21 ++++-- .../agent_enrollment_flyout.test.mocks.tsx | 1 + .../steps/compute_steps.tsx | 24 ++++-- .../enrollment_instructions/manual/index.tsx | 32 ++++---- .../standalone/index.tsx | 28 +++---- x-pack/plugins/fleet/public/hooks/index.ts | 1 + .../fleet/public/hooks/use_agent_version.ts | 37 ++++++++++ .../server/routes/agent/handlers.test.ts | 56 ++------------ .../fleet/server/routes/agent/handlers.ts | 41 +---------- .../fleet/server/services/agent_policy.ts | 14 ++-- .../fleet/server/services/agents/index.ts | 1 + .../server/services/agents/versions.test.ts | 59 +++++++++++++++ .../fleet/server/services/agents/versions.ts | 73 +++++++++++++++++++ x-pack/plugins/fleet/server/services/index.ts | 1 + 15 files changed, 255 insertions(+), 146 deletions(-) create mode 100644 x-pack/plugins/fleet/public/hooks/use_agent_version.ts create mode 100644 x-pack/plugins/fleet/server/services/agents/versions.test.ts create mode 100644 x-pack/plugins/fleet/server/services/agents/versions.ts diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx index e78f0407baf914..c6b603cd14700e 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx @@ -7,10 +7,10 @@ import React, { useState } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiText, EuiLink, EuiSteps, EuiSpacer } from '@elastic/eui'; +import { EuiText, EuiLink, EuiSteps, EuiSpacer, EuiLoadingSpinner } from '@elastic/eui'; import { Error } from '../../../../../../../components'; -import { useKibanaVersion, useStartServices } from '../../../../../../../../../hooks'; +import { useStartServices, useAgentVersion } from '../../../../../../../../../hooks'; import { CreatePackagePolicyBottomBar, NotObscuredByBottomBar } from '../..'; import { @@ -40,7 +40,7 @@ export const InstallElasticAgentManagedPageStep: React.FC const { docLinks } = core; const link = docLinks.links.fleet.troubleshooting; - const kibanaVersion = useKibanaVersion(); + const agentVersion = useAgentVersion(); const [commandCopied, setCommandCopied] = useState(false); const [applyCommandCopied, setApplyCommandCopied] = useState(false); @@ -66,7 +66,7 @@ export const InstallElasticAgentManagedPageStep: React.FC apiKey: enrollmentAPIKey.api_key, fleetProxy, fleetServerHosts, - kibanaVersion, + agentVersion: agentVersion || '', }); const steps = [ @@ -103,6 +103,10 @@ export const InstallElasticAgentManagedPageStep: React.FC }) ); + if (!agentVersion) { + return ; + } + return ( <> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx index 3879f44d5fbe0c..a9185d3efa7439 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx @@ -10,6 +10,7 @@ import { EuiButton, EuiButtonEmpty, EuiCallOut, + EuiLoadingSpinner, EuiModal, EuiModalBody, EuiModalFooter, @@ -25,7 +26,7 @@ import { sendGetEnrollmentAPIKeys, useCreateCloudShellUrl, useFleetServerHostsForPolicy, - useKibanaVersion, + useAgentVersion, } from '../../../../../hooks'; import { GoogleCloudShellGuide } from '../../../../../components'; import { ManualInstructions } from '../../../../../../../components/enrollment_instructions'; @@ -44,18 +45,22 @@ export const PostInstallGoogleCloudShellModal: React.FunctionComponent<{ }) ); const { fleetServerHosts, fleetProxy } = useFleetServerHostsForPolicy(agentPolicy); - const kibanaVersion = useKibanaVersion(); + const agentVersion = useAgentVersion(); + + const { cloudShellUrl, error, isError, isLoading } = useCreateCloudShellUrl({ + enrollmentAPIKey: apyKeysData?.data?.items[0]?.api_key, + packagePolicy, + }); + + if (!agentVersion) { + return ; + } const installManagedCommands = ManualInstructions({ apiKey: apyKeysData?.data?.items[0]?.api_key || 'no_key', fleetServerHosts, fleetProxy, - kibanaVersion, - }); - - const { cloudShellUrl, error, isError, isLoading } = useCreateCloudShellUrl({ - enrollmentAPIKey: apyKeysData?.data?.items[0]?.api_key, - packagePolicy, + agentVersion, }); return ( diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx index 8f9b13671ce65d..47ee70bf2438a8 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx @@ -15,6 +15,7 @@ jest.mock('../../hooks', () => { ...jest.requireActual('../../hooks'), useFleetServerStandalone: jest.fn(), useAgentEnrollmentFlyoutData: jest.fn(), + useAgentVersion: jest.fn().mockReturnValue('8.1.0'), }; }); diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx index 912ad1e4ae42d1..7d3e26fe2e954c 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx @@ -7,7 +7,7 @@ import React, { useState, useMemo, useEffect } from 'react'; -import { EuiSteps } from '@elastic/eui'; +import { EuiSteps, EuiLoadingSpinner } from '@elastic/eui'; import { safeDump } from 'js-yaml'; import type { EuiContainedStepProps } from '@elastic/eui/src/components/steps/steps'; @@ -21,8 +21,8 @@ import { StandaloneInstructions, ManualInstructions } from '../../enrollment_ins import { useGetOneEnrollmentAPIKey, useStartServices, - useKibanaVersion, sendGetOneAgentPolicyFull, + useAgentVersion, } from '../../../hooks'; import type { InstructionProps } from '../types'; @@ -59,7 +59,6 @@ export const StandaloneSteps: React.FunctionComponent = ({ const { notifications } = core; const [fullAgentPolicy, setFullAgentPolicy] = useState(); const [yaml, setYaml] = useState(''); - const kibanaVersion = useKibanaVersion(); let downloadLink = ''; @@ -123,8 +122,10 @@ export const StandaloneSteps: React.FunctionComponent = ({ } }, [fullAgentPolicy, isK8s]); + const agentVersion = useAgentVersion(); + const instructionsSteps = useMemo(() => { - const standaloneInstallCommands = StandaloneInstructions(kibanaVersion); + const standaloneInstallCommands = StandaloneInstructions(agentVersion || ''); const steps: EuiContainedStepProps[] = !agentPolicy ? [ @@ -164,7 +165,7 @@ export const StandaloneSteps: React.FunctionComponent = ({ return steps; }, [ - kibanaVersion, + agentVersion, isK8s, cloudSecurityIntegration, agentPolicy, @@ -181,6 +182,10 @@ export const StandaloneSteps: React.FunctionComponent = ({ setMode, ]); + if (!agentVersion) { + return ; + } + return ; }; @@ -202,7 +207,6 @@ export const ManagedSteps: React.FunctionComponent = ({ cloudSecurityIntegration, installedPackagePolicy, }) => { - const kibanaVersion = useKibanaVersion(); const core = useStartServices(); const { docLinks } = core; const link = docLinks.links.fleet.troubleshooting; @@ -214,11 +218,13 @@ export const ManagedSteps: React.FunctionComponent = ({ const enrolledAgentIds = usePollingAgentCount(selectedPolicy?.id || ''); + const agentVersion = useAgentVersion(); + const installManagedCommands = ManualInstructions({ apiKey: enrollToken, fleetServerHosts, fleetProxy, - kibanaVersion, + agentVersion: agentVersion || '', }); const instructionsSteps = useMemo(() => { @@ -326,5 +332,9 @@ export const ManagedSteps: React.FunctionComponent = ({ installedPackagePolicy, ]); + if (!agentVersion) { + return ; + } + return ; }; diff --git a/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx b/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx index ceda8b4c68905d..b7a4fed713cad9 100644 --- a/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx +++ b/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx @@ -27,12 +27,12 @@ export const ManualInstructions = ({ apiKey, fleetServerHosts, fleetProxy, - kibanaVersion, + agentVersion: agentVersion, }: { apiKey: string; fleetServerHosts: string[]; fleetProxy?: FleetProxy; - kibanaVersion: string; + agentVersion: string; }) => { const enrollArgs = getfleetServerHostsEnrollArgs(apiKey, fleetServerHosts, fleetProxy); const fleetServerUrl = enrollArgs?.split('--url=')?.pop()?.split('--enrollment')[0]; @@ -40,31 +40,31 @@ export const ManualInstructions = ({ const k8sCommand = 'kubectl apply -f elastic-agent-managed-kubernetes.yml'; - const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-linux-x86_64 + const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-linux-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-linux-x86_64.tar.gz +cd elastic-agent-${agentVersion}-linux-x86_64 sudo ./elastic-agent install ${enrollArgs}`; - const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-darwin-x86_64 + const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +cd elastic-agent-${agentVersion}-darwin-x86_64 sudo ./elastic-agent install ${enrollArgs}`; const windowsCommand = `$ProgressPreference = 'SilentlyContinue' -Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-windows-x86_64.zip -OutFile elastic-agent-${kibanaVersion}-windows-x86_64.zip -Expand-Archive .\\elastic-agent-${kibanaVersion}-windows-x86_64.zip -DestinationPath . -cd elastic-agent-${kibanaVersion}-windows-x86_64 +Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-windows-x86_64.zip -OutFile elastic-agent-${agentVersion}-windows-x86_64.zip +Expand-Archive .\\elastic-agent-${agentVersion}-windows-x86_64.zip -DestinationPath . +cd elastic-agent-${agentVersion}-windows-x86_64 .\\elastic-agent.exe install ${enrollArgs}`; - const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-amd64.deb -sudo dpkg -i elastic-agent-${kibanaVersion}-amd64.deb + const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-amd64.deb +sudo dpkg -i elastic-agent-${agentVersion}-amd64.deb sudo elastic-agent enroll ${enrollArgs} \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-x86_64.rpm -sudo rpm -vi elastic-agent-${kibanaVersion}-x86_64.rpm + const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-x86_64.rpm +sudo rpm -vi elastic-agent-${agentVersion}-x86_64.rpm sudo elastic-agent enroll ${enrollArgs} \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const googleCloudShellCommand = `gcloud config set project && \nFLEET_URL=${fleetServerUrl} ENROLLMENT_TOKEN=${enrollmentToken} STACK_VERSION=${kibanaVersion} ./deploy.sh`; + const googleCloudShellCommand = `gcloud config set project && \nFLEET_URL=${fleetServerUrl} ENROLLMENT_TOKEN=${enrollmentToken} STACK_VERSION=${agentVersion} ./deploy.sh`; return { linux: linuxCommand, diff --git a/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx b/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx index 6994cf2a7ebc2c..54a03d9dc942c0 100644 --- a/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx +++ b/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx @@ -6,27 +6,27 @@ */ import type { CommandsByPlatform } from '../../../applications/fleet/components/fleet_server_instructions/utils/install_command_utils'; -export const StandaloneInstructions = (kibanaVersion: string): CommandsByPlatform => { - const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-amd64.deb -sudo dpkg -i elastic-agent-${kibanaVersion}-amd64.deb \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; +export const StandaloneInstructions = (agentVersion: string): CommandsByPlatform => { + const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-amd64.deb +sudo dpkg -i elastic-agent-${agentVersion}-amd64.deb \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-x86_64.rpm -sudo rpm -vi elastic-agent-${kibanaVersion}-x86_64.rpm \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; + const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-x86_64.rpm +sudo rpm -vi elastic-agent-${agentVersion}-x86_64.rpm \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-linux-x86_64 + const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-linux-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-linux-x86_64.tar.gz +cd elastic-agent-${agentVersion}-linux-x86_64 sudo ./elastic-agent install`; - const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-darwin-x86_64 + const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +cd elastic-agent-${agentVersion}-darwin-x86_64 sudo ./elastic-agent install`; const windowsCommand = `$ProgressPreference = 'SilentlyContinue' -Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-windows-x86_64.zip -OutFile elastic-agent-${kibanaVersion}-windows-x86_64.zip -Expand-Archive .\elastic-agent-${kibanaVersion}-windows-x86_64.zip -DestinationPath . -cd elastic-agent-${kibanaVersion}-windows-x86_64 +Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-windows-x86_64.zip -OutFile elastic-agent-${agentVersion}-windows-x86_64.zip +Expand-Archive .\elastic-agent-${agentVersion}-windows-x86_64.zip -DestinationPath . +cd elastic-agent-${agentVersion}-windows-x86_64 .\\elastic-agent.exe install`; const k8sCommand = 'kubectl apply -f elastic-agent-standalone-kubernetes.yml'; diff --git a/x-pack/plugins/fleet/public/hooks/index.ts b/x-pack/plugins/fleet/public/hooks/index.ts index eaddfbaa08009f..f0ff14da7b454e 100644 --- a/x-pack/plugins/fleet/public/hooks/index.ts +++ b/x-pack/plugins/fleet/public/hooks/index.ts @@ -34,3 +34,4 @@ export * from './use_fleet_server_standalone'; export * from './use_locator'; export * from './use_create_cloud_formation_url'; export * from './use_create_cloud_shell_url'; +export * from './use_agent_version'; diff --git a/x-pack/plugins/fleet/public/hooks/use_agent_version.ts b/x-pack/plugins/fleet/public/hooks/use_agent_version.ts new file mode 100644 index 00000000000000..32d0ee128ddcc0 --- /dev/null +++ b/x-pack/plugins/fleet/public/hooks/use_agent_version.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useEffect, useState } from 'react'; + +import { useKibanaVersion } from './use_kibana_version'; +import { sendGetAgentsAvailableVersions } from './use_request'; + +/** + * @returns The most recent agent version available to install or upgrade to. + */ +export const useAgentVersion = (): string | undefined => { + const kibanaVersion = useKibanaVersion(); + const [agentVersion, setAgentVersion] = useState(undefined); + + useEffect(() => { + const getVersions = async () => { + try { + const res = await sendGetAgentsAvailableVersions(); + // if the endpoint returns an error, use the fallback versions + const versionsList = res?.data?.items ? res.data.items : [kibanaVersion]; + + setAgentVersion(versionsList[0]); + } catch (err) { + return; + } + }; + + getVersions(); + }, [kibanaVersion]); + + return agentVersion; +}; diff --git a/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts b/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts index 851b7abbfcecb4..8e064a92a96a14 100644 --- a/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts +++ b/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts @@ -5,72 +5,30 @@ * 2.0. */ -import { readFile } from 'fs/promises'; - import { coreMock, httpServerMock } from '@kbn/core/server/mocks'; import { getAvailableVersionsHandler } from './handlers'; -let mockKibanaVersion = '300.0.0'; -let mockConfig = {}; +jest.mock('../../services/agents/versions', () => { + return { + getAvailableVersions: jest.fn().mockReturnValue(['8.1.0', '8.0.0', '7.17.0']), + }; +}); + jest.mock('../../services/app_context', () => { const { loggerMock } = jest.requireActual('@kbn/logging-mocks'); return { appContextService: { getLogger: () => loggerMock.create(), - getKibanaVersion: () => mockKibanaVersion, - getConfig: () => mockConfig, }, }; }); -jest.mock('fs/promises'); - -const mockedReadFile = readFile as jest.MockedFunction; - describe('getAvailableVersionsHandler', () => { - it('should return available version and filter version < 7.17', async () => { - mockKibanaVersion = '300.0.0'; - const ctx = coreMock.createCustomRequestHandlerContext(coreMock.createRequestHandlerContext()); - const response = httpServerMock.createResponseFactory(); - - mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); - - await getAvailableVersionsHandler(ctx, httpServerMock.createKibanaRequest(), response); - - expect(response.ok).toBeCalled(); - expect(response.ok.mock.calls[0][0]?.body).toEqual({ - items: ['300.0.0', '8.1.0', '8.0.0', '7.17.0'], - }); - }); - - it('should not strip -SNAPSHOT from kibana version', async () => { - mockKibanaVersion = '300.0.0-SNAPSHOT'; + it('should return the value from getAvailableVersions', async () => { const ctx = coreMock.createCustomRequestHandlerContext(coreMock.createRequestHandlerContext()); const response = httpServerMock.createResponseFactory(); - mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); - - await getAvailableVersionsHandler(ctx, httpServerMock.createKibanaRequest(), response); - - expect(response.ok).toBeCalled(); - expect(response.ok.mock.calls[0][0]?.body).toEqual({ - items: ['300.0.0-SNAPSHOT', '8.1.0', '8.0.0', '7.17.0'], - }); - }); - - it('should not include the current version if onlyAllowAgentUpgradeToKnownVersions = true', async () => { - mockKibanaVersion = '300.0.0-SNAPSHOT'; - mockConfig = { - internal: { - onlyAllowAgentUpgradeToKnownVersions: true, - }, - }; - const ctx = coreMock.createCustomRequestHandlerContext(coreMock.createRequestHandlerContext()); - const response = httpServerMock.createResponseFactory(); - - mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); - await getAvailableVersionsHandler(ctx, httpServerMock.createKibanaRequest(), response); expect(response.ok).toBeCalled(); diff --git a/x-pack/plugins/fleet/server/routes/agent/handlers.ts b/x-pack/plugins/fleet/server/routes/agent/handlers.ts index c0534cad3a162a..03c4805873892f 100644 --- a/x-pack/plugins/fleet/server/routes/agent/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/agent/handlers.ts @@ -5,21 +5,10 @@ * 2.0. */ -import { readFile } from 'fs/promises'; -import Path from 'path'; - -import { REPO_ROOT } from '@kbn/repo-info'; import { uniq } from 'lodash'; -import semverGte from 'semver/functions/gte'; -import semverGt from 'semver/functions/gt'; -import semverCoerce from 'semver/functions/coerce'; import { type RequestHandler, SavedObjectsErrorHelpers } from '@kbn/core/server'; import type { TypeOf } from '@kbn/config-schema'; -import { appContextService } from '../../services'; - -const MINIMUM_SUPPORTED_VERSION = '7.17.0'; - import type { GetAgentsResponse, GetOneAgentResponse, @@ -363,36 +352,10 @@ function isStringArray(arr: unknown | string[]): arr is string[] { return Array.isArray(arr) && arr.every((p) => typeof p === 'string'); } -// Read a static file generated at build time export const getAvailableVersionsHandler: RequestHandler = async (context, request, response) => { - const AGENT_VERSION_BUILD_FILE = 'x-pack/plugins/fleet/target/agent_versions_list.json'; - const config = await appContextService.getConfig(); - let versionsToDisplay: string[] = []; - - const kibanaVersion = appContextService.getKibanaVersion(); - try { - const file = await readFile(Path.join(REPO_ROOT, AGENT_VERSION_BUILD_FILE), 'utf-8'); - - // Exclude versions older than MINIMUM_SUPPORTED_VERSION and pre-release versions (SNAPSHOT, rc..) - // De-dup and sort in descending order - const data: string[] = JSON.parse(file); - - const versions = data - .map((item: any) => semverCoerce(item)?.version || '') - .filter((v: any) => semverGte(v, MINIMUM_SUPPORTED_VERSION)) - .sort((a: any, b: any) => (semverGt(a, b) ? -1 : 1)); - versionsToDisplay = uniq(versions) as string[]; - - if (!config?.internal?.onlyAllowAgentUpgradeToKnownVersions) { - // Add current version if not already present - const hasCurrentVersion = versionsToDisplay.some((v) => v === kibanaVersion); - - versionsToDisplay = !hasCurrentVersion - ? [kibanaVersion].concat(versionsToDisplay) - : versionsToDisplay; - } - const body: GetAvailableVersionsResponse = { items: versionsToDisplay }; + const availableVersions = await AgentService.getAvailableVersions(); + const body: GetAvailableVersionsResponse = { items: availableVersions }; return response.ok({ body }); } catch (error) { return defaultFleetErrorHandler({ error, response }); diff --git a/x-pack/plugins/fleet/server/services/agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policy.ts index e3e4a5bd577d68..ce0bb850d644a7 100644 --- a/x-pack/plugins/fleet/server/services/agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policy.ts @@ -83,7 +83,7 @@ import { } from './elastic_agent_manifest'; import { bulkInstallPackages } from './epm/packages'; -import { getAgentsByKuery } from './agents'; +import { getAgentsByKuery, getLatestAvailableVersion } from './agents'; import { packagePolicyService } from './package_policy'; import { incrementPackagePolicyCopyName } from './package_policies'; import { outputService } from './output'; @@ -1048,11 +1048,9 @@ class AgentPolicyService { }, }; + const agentVersion = await getLatestAvailableVersion(); const configMapYaml = fullAgentConfigMapToYaml(fullAgentConfigMap, safeDump); - const updateManifestVersion = elasticAgentStandaloneManifest.replace( - 'VERSION', - appContextService.getKibanaVersion() - ); + const updateManifestVersion = elasticAgentStandaloneManifest.replace('VERSION', agentVersion); const fixedAgentYML = configMapYaml.replace('agent.yml:', 'agent.yml: |-'); return [fixedAgentYML, updateManifestVersion].join('\n'); } else { @@ -1064,10 +1062,8 @@ class AgentPolicyService { fleetServer: string, enrolToken: string ): Promise { - const updateManifestVersion = elasticAgentManagedManifest.replace( - 'VERSION', - appContextService.getKibanaVersion() - ); + const agentVersion = await getLatestAvailableVersion(); + const updateManifestVersion = elasticAgentManagedManifest.replace('VERSION', agentVersion); let updateManifest = updateManifestVersion; if (fleetServer !== '') { updateManifest = updateManifest.replace('https://fleet-server:8220', fleetServer); diff --git a/x-pack/plugins/fleet/server/services/agents/index.ts b/x-pack/plugins/fleet/server/services/agents/index.ts index 6b83a4369dd8f2..273e87fc436d44 100644 --- a/x-pack/plugins/fleet/server/services/agents/index.ts +++ b/x-pack/plugins/fleet/server/services/agents/index.ts @@ -20,3 +20,4 @@ export { getAgentUploads, getAgentUploadFile } from './uploads'; export { AgentServiceImpl } from './agent_service'; export type { AgentClient, AgentService } from './agent_service'; export { BulkActionsResolver } from './bulk_actions_resolver'; +export { getAvailableVersions, getLatestAvailableVersion } from './versions'; diff --git a/x-pack/plugins/fleet/server/services/agents/versions.test.ts b/x-pack/plugins/fleet/server/services/agents/versions.test.ts new file mode 100644 index 00000000000000..baf2a46762f9e2 --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agents/versions.test.ts @@ -0,0 +1,59 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { readFile } from 'fs/promises'; + +let mockKibanaVersion = '300.0.0'; +let mockConfig = {}; +jest.mock('../app_context', () => { + const { loggerMock } = jest.requireActual('@kbn/logging-mocks'); + return { + appContextService: { + getLogger: () => loggerMock.create(), + getKibanaVersion: () => mockKibanaVersion, + getConfig: () => mockConfig, + }, + }; +}); + +jest.mock('fs/promises'); + +const mockedReadFile = readFile as jest.MockedFunction; +import { getAvailableVersions } from './versions'; + +describe('getAvailableVersions', () => { + it('should return available version and filter version < 7.17', async () => { + mockKibanaVersion = '300.0.0'; + mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); + + const res = await getAvailableVersions(false); + + expect(res).toEqual(['300.0.0', '8.1.0', '8.0.0', '7.17.0']); + }); + + it('should not strip -SNAPSHOT from kibana version', async () => { + mockKibanaVersion = '300.0.0-SNAPSHOT'; + mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); + + const res = await getAvailableVersions(false); + expect(res).toEqual(['300.0.0-SNAPSHOT', '8.1.0', '8.0.0', '7.17.0']); + }); + + it('should not include the current version if onlyAllowAgentUpgradeToKnownVersions = true', async () => { + mockKibanaVersion = '300.0.0-SNAPSHOT'; + mockConfig = { + internal: { + onlyAllowAgentUpgradeToKnownVersions: true, + }, + }; + mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); + + const res = await getAvailableVersions(false); + + expect(res).toEqual(['8.1.0', '8.0.0', '7.17.0']); + }); +}); diff --git a/x-pack/plugins/fleet/server/services/agents/versions.ts b/x-pack/plugins/fleet/server/services/agents/versions.ts new file mode 100644 index 00000000000000..7d8856fdd4c388 --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agents/versions.ts @@ -0,0 +1,73 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { readFile } from 'fs/promises'; +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/repo-info'; +import { uniq } from 'lodash'; +import semverGte from 'semver/functions/gte'; +import semverGt from 'semver/functions/gt'; +import semverCoerce from 'semver/functions/coerce'; + +import { appContextService } from '..'; + +const MINIMUM_SUPPORTED_VERSION = '7.17.0'; +const AGENT_VERSION_BUILD_FILE = 'x-pack/plugins/fleet/target/agent_versions_list.json'; + +let availableVersions: string[] | undefined; + +export const getLatestAvailableVersion = async (): Promise => { + const versions = await getAvailableVersions(); + return versions[0]; +}; + +export const getAvailableVersions = async (cached = true): Promise => { + // Use cached value to avoid reading from disk each time + if (cached && availableVersions) { + return availableVersions; + } + + // Read a static file generated at build time + const config = appContextService.getConfig(); + let versionsToDisplay: string[] = []; + + const kibanaVersion = appContextService.getKibanaVersion(); + + try { + const file = await readFile(Path.join(REPO_ROOT, AGENT_VERSION_BUILD_FILE), 'utf-8'); + + // Exclude versions older than MINIMUM_SUPPORTED_VERSION and pre-release versions (SNAPSHOT, rc..) + // De-dup and sort in descending order + const data: string[] = JSON.parse(file); + + const versions = data + .map((item: any) => semverCoerce(item)?.version || '') + .filter((v: any) => semverGte(v, MINIMUM_SUPPORTED_VERSION)) + .sort((a: any, b: any) => (semverGt(a, b) ? -1 : 1)); + versionsToDisplay = uniq(versions) as string[]; + + if (!config?.internal?.onlyAllowAgentUpgradeToKnownVersions) { + // Add current version if not already present + const hasCurrentVersion = versionsToDisplay.some((v) => v === kibanaVersion); + + versionsToDisplay = !hasCurrentVersion + ? [kibanaVersion].concat(versionsToDisplay) + : versionsToDisplay; + } + + availableVersions = versionsToDisplay; + + return availableVersions; + } catch (e) { + if (e.code === 'ENOENT' && !config?.internal?.onlyAllowAgentUpgradeToKnownVersions) { + // If the file does not exist, return the current version + return [kibanaVersion]; + } + throw e; + } +}; diff --git a/x-pack/plugins/fleet/server/services/index.ts b/x-pack/plugins/fleet/server/services/index.ts index 69f5889bcd2102..323d091cae1d2f 100644 --- a/x-pack/plugins/fleet/server/services/index.ts +++ b/x-pack/plugins/fleet/server/services/index.ts @@ -38,6 +38,7 @@ export interface AgentPolicyServiceInterface { // Agent services export { AgentServiceImpl } from './agents'; export type { AgentClient, AgentService } from './agents'; +export { getAvailableVersions, getLatestAvailableVersion } from './agents'; // Saved object services export { agentPolicyService } from './agent_policy'; From 1b5f105c25ac65088323a226e4bd085ef1d52dca Mon Sep 17 00:00:00 2001 From: Devon Thomson Date: Mon, 11 Sep 2023 13:44:58 -0400 Subject: [PATCH 09/39] [Dashboard] Fix panel title not updating (#166004) One line fix for panel title not updating on add to library --- .../dashboard/public/dashboard_actions/clone_panel_action.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx b/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx index e028d8f387312d..8b3e9545114ff9 100644 --- a/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx +++ b/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx @@ -91,7 +91,7 @@ export class ClonePanelAction implements Action { explicitInput: { ...(await embeddable.getInputAsValueType()), hidePanelTitles: panelToClone.explicitInput.hidePanelTitles, - title: newTitle, + ...(newTitle ? { title: newTitle } : {}), id, }, }; From e72780ae808ffe7f9b94d08af94272ec43af783a Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Mon, 11 Sep 2023 20:50:05 +0200 Subject: [PATCH 10/39] Update eui deprecated components in screenshotting plugin (#164068) ## Summary Partially addresses https://github.com/elastic/kibana/issues/161422 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../plugins/screenshotting/public/app/app.tsx | 42 +++++-------------- .../plugins/screenshotting/public/plugin.tsx | 36 ++++++++-------- 2 files changed, 28 insertions(+), 50 deletions(-) diff --git a/x-pack/plugins/screenshotting/public/app/app.tsx b/x-pack/plugins/screenshotting/public/app/app.tsx index 06d79b7a3fb97e..fac214a20be2df 100644 --- a/x-pack/plugins/screenshotting/public/app/app.tsx +++ b/x-pack/plugins/screenshotting/public/app/app.tsx @@ -7,14 +7,6 @@ import './app.scss'; import React, { useContext, useMemo, useRef } from 'react'; -import { - EuiFlexGroup, - EuiFlexItem, - EuiPage, - EuiPageBody, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, -} from '@elastic/eui'; import type { ExpressionRendererParams } from '@kbn/expressions-plugin/public'; import { useExpressionRenderer } from '@kbn/expressions-plugin/public'; import { SCREENSHOTTING_EXPRESSION, SCREENSHOTTING_EXPRESSION_INPUT } from '../../common'; @@ -40,28 +32,16 @@ export function App() { }); return ( - - - - - - -
- - - - - - +
); } diff --git a/x-pack/plugins/screenshotting/public/plugin.tsx b/x-pack/plugins/screenshotting/public/plugin.tsx index 68707cc16ed726..f50291eff46fd3 100755 --- a/x-pack/plugins/screenshotting/public/plugin.tsx +++ b/x-pack/plugins/screenshotting/public/plugin.tsx @@ -21,26 +21,24 @@ interface SetupDeps { export class ScreenshottingPlugin implements Plugin { setup({ application }: CoreSetup, { screenshotMode }: SetupDeps) { - if (!screenshotMode.isScreenshotMode()) { - return; - } - - application.register({ - id: SCREENSHOTTING_APP_ID, - title: 'Screenshotting Expressions Renderer', - navLinkStatus: AppNavLinkStatus.hidden, - chromeless: true, + if (screenshotMode.isScreenshotMode()) { + application.register({ + id: SCREENSHOTTING_APP_ID, + title: 'Screenshotting Expressions Renderer', + navLinkStatus: AppNavLinkStatus.hidden, + chromeless: true, - mount: async ({ element }: AppMountParameters) => { - ReactDOM.render( - - - , - element - ); - return () => ReactDOM.unmountComponentAtNode(element); - }, - }); + mount: async ({ element }: AppMountParameters) => { + ReactDOM.render( + + + , + element + ); + return () => ReactDOM.unmountComponentAtNode(element); + }, + }); + } } start() {} From 5e12611d863f46e13421d588631471801c767241 Mon Sep 17 00:00:00 2001 From: Paulo Henrique Date: Mon, 11 Sep 2023 12:56:23 -0700 Subject: [PATCH 11/39] [Cloud Security] [Alerts] Workflow enhancements for Alerts in Cloud Security (#164902) Co-authored-by: Maxim Kholod --- x-pack/plugins/cloud_security_posture/public/common/types.ts | 4 ++++ .../public/components/detection_rule_counter.tsx | 4 ++-- .../utils/create_detection_rule_from_finding.ts | 5 +++++ .../utils/create_detection_rule_from_vulnerability.ts | 4 ++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/public/common/types.ts b/x-pack/plugins/cloud_security_posture/public/common/types.ts index d9bdc58cd3bb37..6ebfe7c7a0fa33 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/types.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/types.ts @@ -74,6 +74,10 @@ export interface RuleCreateProps { description: string; tags: string[]; max_signals: number; + investigation_fields?: { + field_names: string[]; + }; + note?: string; } export interface RuleResponse extends RuleCreateProps { diff --git a/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx b/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx index 0ee3cd24d36e12..eeea89f9a310fb 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx @@ -111,8 +111,8 @@ export const DetectionRuleCounter = ({ tags, createRuleFn }: DetectionRuleCounte />{' '} diff --git a/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts b/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts index a1f8ac3fa5fccf..b06246e6605e9b 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts @@ -21,6 +21,9 @@ const DEFAULT_RULE_LICENSE = 'Elastic License v2'; const DEFAULT_MAX_ALERTS_PER_RULE = 100; const ALERT_SUPPRESSION_FIELD = 'resource.id'; const ALERT_TIMESTAMP_FIELD = 'event.ingested'; +const DEFAULT_INVESTIGATION_FIELDS = { + field_names: ['resource.name', 'resource.id', 'resource.type', 'resource.sub_type'], +}; enum AlertSuppressionMissingFieldsStrategy { // per each document a separate alert will be created @@ -126,6 +129,8 @@ export const createDetectionRuleFromFinding = async (http: HttpSetup, finding: C name: finding.rule.name, description: finding.rule.rationale, tags: generateFindingsTags(finding), + investigation_fields: DEFAULT_INVESTIGATION_FIELDS, + note: finding.rule.remediation, }, }); }; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts index 35a6147f539b21..4361bd981c308f 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts @@ -25,6 +25,9 @@ const DEFAULT_MAX_ALERTS_PER_RULE = 100; const ALERT_SUPPRESSION_FIELD = 'resource.id'; const ALERT_TIMESTAMP_FIELD = 'event.ingested'; const ALERT_SEVERITY_MAP_FIELD = 'vulnerability.severity'; +const DEFAULT_INVESTIGATION_FIELDS = { + field_names: ['resource.name', 'resource.id'], +}; enum RuleSeverityMapping { Low = 'low', @@ -145,6 +148,7 @@ export const createDetectionRuleFromVulnerabilityFinding = async ( name: getVulnerabilityRuleName(vulnerability), description: vulnerability.description, tags: generateVulnerabilitiesTags(vulnerability), + investigation_fields: DEFAULT_INVESTIGATION_FIELDS, }, }); }; From 2f1da3ccc828046fc19ea7743c023c2baf85fb30 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Mon, 11 Sep 2023 14:57:50 -0500 Subject: [PATCH 12/39] skip failing test suite (#166199) --- .../migrations/group3/actions/actions_test_suite.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts index 9b232b1a942fc8..9df98deea3b897 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts @@ -1426,7 +1426,8 @@ export const runActionTestSuite = ({ }); }); - describe('waitForPickupUpdatedMappingsTask', () => { + // Failing: See https://github.com/elastic/kibana/issues/166199 + describe.skip('waitForPickupUpdatedMappingsTask', () => { it('rejects if there are failures', async () => { const res = (await pickupUpdatedMappings( client, From 7b4993fdcff463c1e3577ceb76c20718986ed6de Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 11 Sep 2023 15:00:29 -0500 Subject: [PATCH 13/39] [ftr/serverless] Fix unhandled promise rejection (#166195) Attempt at fixing https://buildkite.com/elastic/kibana-serverless/builds/2852#018a84d9-4310-45e5-8ba2-1fac9cb30a91/2232-2861 --- .../functional/test_suites/observability/cases/view_case.ts | 4 ++-- .../functional/test_suites/security/ftr/cases/view_case.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts index 8a2a776c688582..e86ddc9ffd015a 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts @@ -425,8 +425,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); it('should set the cases title', async () => { - svlCommonNavigation.breadcrumbs.expectExists(); - svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); + await svlCommonNavigation.breadcrumbs.expectExists(); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); }); }); diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts index 4ef63da784e21d..33fa7d6d25dc02 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts @@ -424,8 +424,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); it('should set the cases title', async () => { - svlCommonNavigation.breadcrumbs.expectExists(); - svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); + await svlCommonNavigation.breadcrumbs.expectExists(); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); }); }); From e2fb10522e05f4bbe6549d912009d9b39f5f86be Mon Sep 17 00:00:00 2001 From: Elena Stoeva <59341489+ElenaStoeva@users.noreply.github.com> Date: Mon, 11 Sep 2023 21:12:53 +0100 Subject: [PATCH 14/39] [Advanced settings] Add settings allowlist (#164471) Addresses https://github.com/elastic/kibana/issues/160411 ## Summary This PR adds functionality for filtering out advanced settings that are not relevant for serverless. For context, we need to build an Advanced settings page in serverless which only contains a set of the existing settings. We will reuse the section registry (https://github.com/elastic/kibana/pull/163502) from the original Advanced settings plugin as well as its UI components which will also be extracted into a separate package. The app will be registered from inside the `serverless` plugin. In order to only display the settings that are relevant for serverless, we need to make some changes to the uiSettings service. The implementation in this PR leverages the existing `readonly` uiSettings param and adds the `setAllowlist()` method which is called by the serverless plugin to set an allowlist of setting keys. **Testing in serverless:** 1. Set `advanced_settings.enabled: true` to enable the Advanced settings app in serverless: https://github.com/elastic/kibana/blob/5b216c6ea94e739fea1f161f0bbce5a57ae44c02/config/serverless.yml#L53 2. Start Es with `yarn es serverless --ssl` and Kibana with `yarn serverless-{mode} --ssl` in any serverless mode. 3. Navigate to `app/management/kibana/settings` 4. Verify that the app only displays the settings from `packages/serverless/settings/common/index.ts` (these are the settings, relevant for all projects in serverless) as well as the settings from the corresponding project package `packages/serverless/settings/{mode}_project/index.ts`. 5. Verify that the app is functioning correctly. **Testing in self-managed:** 1. Start Es with `yarn es snapshot` and Kibana with `yarn start`. 2. Go to Stack Management > Advanced settings 3. Verify that all settings are displayed as usual. 4. Verify that the app is functioning correctly. If your team is a code owner of any of the serverless project plugins, please review the corresponding package `packages/serverless/settings/{search/observanility/security}_project/index.ts` where you've been added as an owner and test in the serverless solution accordingly. ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Tiago Costa --- .github/CODEOWNERS | 5 + package.json | 5 + .../src/core_setup.mock.ts | 1 + .../src/plugin_context.ts | 1 + .../src/ui_settings_client_common.ts | 7 + .../core-ui-settings-common/index.ts | 1 + .../src/ui_settings.ts | 10 + .../src/ui_settings_service.test.ts | 65 +++++++ .../src/ui_settings_service.ts | 67 ++++++- .../src/ui_settings_service.mock.ts | 1 + .../core-ui-settings-server/src/contracts.ts | 13 ++ .../settings/setting_ids/README.mdx | 39 ++++ .../settings/setting_ids/index.ts | 178 ++++++++++++++++++ .../settings/setting_ids/kibana.jsonc | 5 + .../settings/setting_ids/package.json | 6 + .../settings/setting_ids/tsconfig.json | 18 ++ .../serverless/settings/common/README.mdx | 14 ++ packages/serverless/settings/common/index.ts | 58 ++++++ .../serverless/settings/common/kibana.jsonc | 5 + .../serverless/settings/common/package.json | 6 + .../serverless/settings/common/tsconfig.json | 19 ++ .../settings/observability_project/README.mdx | 31 +++ .../settings/observability_project/index.ts | 14 ++ .../observability_project/kibana.jsonc | 5 + .../observability_project/package.json | 6 + .../observability_project/tsconfig.json | 19 ++ .../settings/search_project/README.mdx | 34 ++++ .../settings/search_project/index.ts | 11 ++ .../settings/search_project/kibana.jsonc | 5 + .../settings/search_project/package.json | 6 + .../settings/search_project/tsconfig.json | 19 ++ .../settings/security_project/README.mdx | 31 +++ .../settings/security_project/index.ts | 23 +++ .../settings/security_project/kibana.jsonc | 5 + .../settings/security_project/package.json | 6 + .../settings/security_project/tsconfig.json | 19 ++ tsconfig.base.json | 10 + x-pack/plugins/actions/server/plugin.test.ts | 10 +- x-pack/plugins/actions/server/plugin.ts | 4 +- x-pack/plugins/alerting/server/plugin.test.ts | 18 +- .../plugins/event_log/server/plugin.test.ts | 9 +- .../server/plugin.ts | 4 + .../server/types.ts | 2 + .../tsconfig.json | 1 + x-pack/plugins/serverless/jest.config.js | 15 ++ x-pack/plugins/serverless/server/mocks.ts | 21 +++ .../plugins/serverless/server/plugin.test.ts | 39 ++++ x-pack/plugins/serverless/server/plugin.ts | 17 +- x-pack/plugins/serverless/server/types.ts | 5 +- x-pack/plugins/serverless/tsconfig.json | 1 + .../serverless_observability/server/plugin.ts | 3 + .../serverless_observability/server/types.ts | 2 + .../serverless_observability/tsconfig.json | 1 + .../serverless_search/server/plugin.ts | 2 + .../plugins/serverless_search/server/types.ts | 2 + .../plugins/serverless_search/tsconfig.json | 1 + .../test_serverless/functional/config.base.ts | 3 + .../test_suites/common/advanced_settings.ts | 47 +++++ .../functional/test_suites/common/index.ts | 1 + .../observability/advanced_settings.ts | 42 +++++ .../test_suites/observability/index.ts | 1 + .../test_suites/search/advanced_settings.ts | 42 +++++ .../functional/test_suites/search/index.ts | 1 + .../test_suites/security/advanced_settings.ts | 42 +++++ .../functional/test_suites/security/index.ts | 1 + x-pack/test_serverless/tsconfig.json | 4 + yarn.lock | 20 ++ 67 files changed, 1111 insertions(+), 18 deletions(-) create mode 100644 packages/kbn-management/settings/setting_ids/README.mdx create mode 100644 packages/kbn-management/settings/setting_ids/index.ts create mode 100644 packages/kbn-management/settings/setting_ids/kibana.jsonc create mode 100644 packages/kbn-management/settings/setting_ids/package.json create mode 100644 packages/kbn-management/settings/setting_ids/tsconfig.json create mode 100644 packages/serverless/settings/common/README.mdx create mode 100644 packages/serverless/settings/common/index.ts create mode 100644 packages/serverless/settings/common/kibana.jsonc create mode 100644 packages/serverless/settings/common/package.json create mode 100644 packages/serverless/settings/common/tsconfig.json create mode 100644 packages/serverless/settings/observability_project/README.mdx create mode 100644 packages/serverless/settings/observability_project/index.ts create mode 100644 packages/serverless/settings/observability_project/kibana.jsonc create mode 100644 packages/serverless/settings/observability_project/package.json create mode 100644 packages/serverless/settings/observability_project/tsconfig.json create mode 100644 packages/serverless/settings/search_project/README.mdx create mode 100644 packages/serverless/settings/search_project/index.ts create mode 100644 packages/serverless/settings/search_project/kibana.jsonc create mode 100644 packages/serverless/settings/search_project/package.json create mode 100644 packages/serverless/settings/search_project/tsconfig.json create mode 100644 packages/serverless/settings/security_project/README.mdx create mode 100644 packages/serverless/settings/security_project/index.ts create mode 100644 packages/serverless/settings/security_project/kibana.jsonc create mode 100644 packages/serverless/settings/security_project/package.json create mode 100644 packages/serverless/settings/security_project/tsconfig.json create mode 100644 x-pack/plugins/serverless/jest.config.js create mode 100644 x-pack/plugins/serverless/server/mocks.ts create mode 100644 x-pack/plugins/serverless/server/plugin.test.ts create mode 100644 x-pack/test_serverless/functional/test_suites/common/advanced_settings.ts create mode 100644 x-pack/test_serverless/functional/test_suites/observability/advanced_settings.ts create mode 100644 x-pack/test_serverless/functional/test_suites/search/advanced_settings.ts create mode 100644 x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index df64d99949b9cd..a53f01d6082cce 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -480,6 +480,7 @@ packages/kbn-managed-vscode-config @elastic/kibana-operations packages/kbn-managed-vscode-config-cli @elastic/kibana-operations packages/kbn-management/cards_navigation @elastic/platform-deployment-management src/plugins/management @elastic/platform-deployment-management +packages/kbn-management/settings/setting_ids @elastic/appex-sharedux @elastic/platform-deployment-management packages/kbn-management/settings/section_registry @elastic/appex-sharedux @elastic/platform-deployment-management packages/kbn-management/storybook/config @elastic/platform-deployment-management test/plugin_functional/plugins/management_test_plugin @elastic/kibana-app-services @@ -633,9 +634,13 @@ packages/kbn-securitysolution-utils @elastic/security-detection-engine packages/kbn-server-http-tools @elastic/kibana-core packages/kbn-server-route-repository @elastic/apm-ui x-pack/plugins/serverless @elastic/appex-sharedux +packages/serverless/settings/common @elastic/appex-sharedux @elastic/platform-deployment-management x-pack/plugins/serverless_observability @elastic/appex-sharedux @elastic/apm-ui +packages/serverless/settings/observability_project @elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management packages/serverless/project_switcher @elastic/appex-sharedux x-pack/plugins/serverless_search @elastic/enterprise-search-frontend +packages/serverless/settings/search_project @elastic/enterprise-search-frontend @elastic/platform-deployment-management +packages/serverless/settings/security_project @elastic/security-solution @elastic/platform-deployment-management packages/serverless/storybook/config @elastic/appex-sharedux packages/serverless/types @elastic/appex-sharedux test/plugin_functional/plugins/session_notifications @elastic/kibana-core diff --git a/package.json b/package.json index 14cd4677b26b65..b02c4b9f83623b 100644 --- a/package.json +++ b/package.json @@ -500,6 +500,7 @@ "@kbn/logstash-plugin": "link:x-pack/plugins/logstash", "@kbn/management-cards-navigation": "link:packages/kbn-management/cards_navigation", "@kbn/management-plugin": "link:src/plugins/management", + "@kbn/management-settings-ids": "link:packages/kbn-management/settings/setting_ids", "@kbn/management-settings-section-registry": "link:packages/kbn-management/settings/section_registry", "@kbn/management-test-plugin": "link:test/plugin_functional/plugins/management_test_plugin", "@kbn/mapbox-gl": "link:packages/kbn-mapbox-gl", @@ -638,9 +639,13 @@ "@kbn/server-http-tools": "link:packages/kbn-server-http-tools", "@kbn/server-route-repository": "link:packages/kbn-server-route-repository", "@kbn/serverless": "link:x-pack/plugins/serverless", + "@kbn/serverless-common-settings": "link:packages/serverless/settings/common", "@kbn/serverless-observability": "link:x-pack/plugins/serverless_observability", + "@kbn/serverless-observability-settings": "link:packages/serverless/settings/observability_project", "@kbn/serverless-project-switcher": "link:packages/serverless/project_switcher", "@kbn/serverless-search": "link:x-pack/plugins/serverless_search", + "@kbn/serverless-search-settings": "link:packages/serverless/settings/search_project", + "@kbn/serverless-security-settings": "link:packages/serverless/settings/security_project", "@kbn/serverless-types": "link:packages/serverless/types", "@kbn/session-notifications-plugin": "link:test/plugin_functional/plugins/session_notifications", "@kbn/session-view-plugin": "link:x-pack/plugins/session_view", diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts b/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts index 5397bc154f862d..0436e677a7e64b 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts @@ -48,6 +48,7 @@ export function createCoreSetupMock({ const uiSettingsMock = { register: uiSettingsServiceMock.createSetupContract().register, registerGlobal: uiSettingsServiceMock.createSetupContract().registerGlobal, + setAllowlist: uiSettingsServiceMock.createSetupContract().setAllowlist, }; const mock: CoreSetupMockType = { diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts index 5ca77254e5b50a..b97eea8f827edd 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts @@ -258,6 +258,7 @@ export function createPluginSetupContext( uiSettings: { register: deps.uiSettings.register, registerGlobal: deps.uiSettings.registerGlobal, + setAllowlist: deps.uiSettings.setAllowlist, }, userSettings: { setUserProfileSettings: deps.userSettings.setUserProfileSettings, diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts b/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts index ac74201e0f307f..65a3c44861ed59 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts @@ -116,6 +116,10 @@ You can use \`IUiSettingsClient.get("${key}", defaultValue)\`, which will just r return this.isDeclared(key) && Boolean(this.cache[key].isOverridden); } + isStrictReadonly(key: string) { + return this.isDeclared(key) && Boolean(this.cache[key].readonlyMode === 'strict'); + } + getUpdate$() { return this.update$.asObservable(); } @@ -130,6 +134,9 @@ You can use \`IUiSettingsClient.get("${key}", defaultValue)\`, which will just r `Unable to update "${key}" because its value is overridden by the Kibana server` ); } + if (this.isStrictReadonly(key)) { + throw new Error(`Unable to update "${key}" because this setting is not in the allowlist.`); + } } protected abstract update(key: string, newVal: any): Promise; diff --git a/packages/core/ui-settings/core-ui-settings-common/index.ts b/packages/core/ui-settings/core-ui-settings-common/index.ts index f04a41613f76fc..02604e122a2ae5 100644 --- a/packages/core/ui-settings/core-ui-settings-common/index.ts +++ b/packages/core/ui-settings/core-ui-settings-common/index.ts @@ -8,6 +8,7 @@ export type { UiSettingsType, + ReadonlyModeType, DeprecationSettings, UiSettingsParams, UserProvidedValues, diff --git a/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts b/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts index 9a4cf094433d4c..2655eda8b94b98 100644 --- a/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts +++ b/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts @@ -25,6 +25,14 @@ export type UiSettingsType = | 'image' | 'color'; +/** + * Type for the readonly mode of the readonly settings. + * 'strict' indicates that the value cannot be changed through API and is not displayed in the UI + * 'ui' indicates that the value is just not displayed in the UI + * @public + * */ +export type ReadonlyModeType = 'strict' | 'ui'; + /** * UiSettings deprecation field options. * @public @@ -57,6 +65,8 @@ export interface UiSettingsParams { requiresPageReload?: boolean; /** a flag indicating that value cannot be changed */ readonly?: boolean; + /** a flag indicating the level of restriction of the readonly settings {@link ReadonlyModeType} */ + readonlyMode?: ReadonlyModeType; /** * a flag indicating that value might contain user sensitive data. * used by telemetry to mask the value of the setting when sent. diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts index 23438e2ab74af9..72450e86eadb10 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts @@ -112,6 +112,18 @@ describe('uiSettings', () => { expect(() => setup.registerGlobal(defaults)).not.toThrow(); }); }); + + describe('#setAllowlist', () => { + // Skipped because we disabled this multi-call check temporarily + it.skip('throws if setAllowlist is called twice', async () => { + const { setAllowlist } = await service.setup(setupDeps); + setAllowlist(['mySetting']); + + expect(() => setAllowlist(['newSetting'])).toThrowErrorMatchingInlineSnapshot( + `"The uiSettings allowlist has already been set up. Instead of calling setAllowlist(), add your settings to packages/serverless/settings"` + ); + }); + }); }); describe('#start', () => { @@ -213,6 +225,59 @@ describe('uiSettings', () => { await customizedService.start(); }); + + it('throws when the allowlist contains unregistered settings', async () => { + const { setAllowlist } = await service.setup(setupDeps); + setAllowlist(['mySetting']); + + await expect(service.start()).rejects.toMatchInlineSnapshot( + `[Error: The uiSetting with key [mySetting] is in the allowlist but is not registered. Make sure to remove it from the allowlist in /packages/serverless/settings]` + ); + }); + }); + + describe('#applyAllowlist', () => { + const settingId = 'mySetting'; + const testSetting = { + name: 'My setting', + value: 10, + readonly: true, + schema: schema.number(), + }; + + it('allowlisted readonly settings have "ui" readonly mode', async () => { + const { register, setAllowlist } = await service.setup(setupDeps); + register({ [settingId]: testSetting }); + setAllowlist([settingId]); + + const expectedSetting = { + ...testSetting, + readonlyMode: 'ui', + }; + + const start = await service.start(); + start.asScopedToClient(savedObjectsClient); + expect(MockUiSettingsClientConstructor.mock.calls[0][0].defaults).toEqual({ + [settingId]: expectedSetting, + }); + }); + + it('non-allowlisted settings have "strict" readonly mode', async () => { + const { register, setAllowlist } = await service.setup(setupDeps); + register({ [settingId]: testSetting }); + setAllowlist([]); + + const expectedSetting = { + ...testSetting, + readonlyMode: 'strict', + }; + + const start = await service.start(); + start.asScopedToClient(savedObjectsClient); + expect(MockUiSettingsClientConstructor.mock.calls[0][0].defaults).toEqual({ + [settingId]: expectedSetting, + }); + }); }); describe('#asScopedToClient', () => { diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts index 3352ab0ab63b0d..63b3ef7f662621 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts @@ -15,7 +15,11 @@ import type { CoreContext, CoreService } from '@kbn/core-base-server-internal'; import type { InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; import type { InternalSavedObjectsServiceSetup } from '@kbn/core-saved-objects-server-internal'; -import type { UiSettingsParams, UiSettingsScope } from '@kbn/core-ui-settings-common'; +import type { + ReadonlyModeType, + UiSettingsParams, + UiSettingsScope, +} from '@kbn/core-ui-settings-common'; import { UiSettingsConfigType, uiSettingsConfig as uiConfigDefinition } from './ui_settings_config'; import { UiSettingsClient, UiSettingsClientFactory, UiSettingsGlobalClient } from './clients'; import type { @@ -47,14 +51,17 @@ export class UiSettingsService private readonly log: Logger; private readonly config$: Observable; private readonly isDist: boolean; + private readonly isDev: boolean; private readonly uiSettingsDefaults = new Map(); private readonly uiSettingsGlobalDefaults = new Map(); private overrides: Record = {}; + private allowlist: Set | null = null; constructor(private readonly coreContext: CoreContext) { this.log = coreContext.logger.get('ui-settings-service'); this.isDist = coreContext.env.packageInfo.dist; this.config$ = coreContext.configService.atPath(uiConfigDefinition.path); + this.isDev = coreContext.env.mode.dev; } public async preboot(): Promise { @@ -94,10 +101,19 @@ export class UiSettingsService return { register: this.register, registerGlobal: this.registerGlobal, + setAllowlist: this.setAllowlist, }; } public async start(): Promise { + if (this.allowlist) { + // If we are in development mode, check if all settings in the allowlist are registered + if (this.isDev) { + this.validateAllowlist(); + } + this.applyAllowlist(this.uiSettingsDefaults, false); + this.applyAllowlist(this.uiSettingsGlobalDefaults, true); + } this.validatesDefinitions(); this.validatesOverrides(); @@ -148,6 +164,55 @@ export class UiSettingsService }); }; + private setAllowlist = (keys: string[]) => { + // Disabling this check for now since it causes some test failures + // if (this.allowlist) { + // throw new Error( + // `The uiSettings allowlist has already been set up. Instead of calling setAllowlist(), add your settings to packages/serverless/settings` + // ); + // } + this.allowlist = new Set(keys); + }; + + private validateAllowlist() { + this.allowlist?.forEach((key) => { + if (!this.uiSettingsDefaults.has(key) && !this.uiSettingsGlobalDefaults.has(key)) { + throw new Error( + `The uiSetting with key [${key}] is in the allowlist but is not registered. Make sure to remove it from the allowlist in /packages/serverless/settings` + ); + } + }); + } + + private setReadonlyMode(key: string, mode: ReadonlyModeType, isGlobal: boolean) { + if (isGlobal) { + const definition = this.uiSettingsGlobalDefaults.get(key); + if (definition) { + this.uiSettingsGlobalDefaults.set(key, { ...definition, readonlyMode: mode }); + } + } else { + const definition = this.uiSettingsDefaults.get(key); + if (definition) { + this.uiSettingsDefaults.set(key, { ...definition, readonlyMode: mode }); + } + } + } + + private applyAllowlist(settingsDefaults: Map, isGlobal: boolean) { + for (const [key, definition] of settingsDefaults) { + // Settings in the allowlist that are already read-only should have 'ui' readonly mode + if (this.allowlist?.has(key) && definition.readonly === true) { + this.setReadonlyMode(key, 'ui', isGlobal); + } + + // Setting that are not in the allowlist should have 'strict' readonly mode + if (!this.allowlist?.has(key)) { + definition.readonly = true; + this.setReadonlyMode(key, 'strict', isGlobal); + } + } + } + private validatesDefinitions() { for (const [key, definition] of this.uiSettingsDefaults) { if (!definition.schema) { diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts b/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts index 5d4b4c62ebb1e1..280d75319a8bfe 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts @@ -49,6 +49,7 @@ const createSetupMock = () => { const mocked: jest.Mocked = { register: jest.fn(), registerGlobal: jest.fn(), + setAllowlist: jest.fn(), }; return mocked; diff --git a/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts b/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts index 18d25a9031b246..65bae4100e4ad6 100644 --- a/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts +++ b/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts @@ -48,6 +48,19 @@ export interface UiSettingsServiceSetup { * ``` */ registerGlobal(settings: Record): void; + + /** + * Sets an allowlist of setting keys. + * @param keys + * + * @example + * ```ts + * setup(core: CoreSetup){ + * core.uiSettings.setAllowlist(['csv:quoteValues', 'dateFormat:dow']); + * } + * ``` + */ + setAllowlist(keys: string[]): void; } /** @public */ diff --git a/packages/kbn-management/settings/setting_ids/README.mdx b/packages/kbn-management/settings/setting_ids/README.mdx new file mode 100644 index 00000000000000..e3109e2bcf1b53 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/README.mdx @@ -0,0 +1,39 @@ +--- +id: kbn-management/settings/ids +slug: /kbn-management/settings/setting_ids/ +title: Setting ID's +description: ID's of all advanced settings. +tags: ['management', 'settings'] +date: 2023-09-04 +--- + +This package contains the id's of all advanced settings. + +When registering an advanced setting, add its id to this package and import it for use in the setting definition: + +**packages/kbn-management/settings/setting_ids/index.ts** + +```ts +export const MY_SETTING_ID = 'mySetting'; +``` + +**src/plugins/my_plugin/server/plugin.ts** + +```ts +import { MY_SETTING_ID } from '@kbn/management-settings-ids'; + +export class MyPlugin implements Plugin { + public setup(core: CoreSetup, dependencies: SetupDependencies) { + core.uiSettings.register({ + [MY_SETTING_ID]: { + name: 'My setting', + value: 10, + schema: schema.number(), + }, + ... + }); + + return {}; + } +} +``` diff --git a/packages/kbn-management/settings/setting_ids/index.ts b/packages/kbn-management/settings/setting_ids/index.ts new file mode 100644 index 00000000000000..1069050ccd3047 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/index.ts @@ -0,0 +1,178 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// General settings +export const DISABLE_REQUEST_BATCHING_ID = 'bfetch:disable'; +export const DISABLE_BATCH_COMPRESSION_ID = 'bfetch:disableCompression'; +export const CSV_QUOTE_VALUES_ID = 'csv:quoteValues'; +export const CSV_SEPARATOR_ID = 'csv:separator'; +export const DATE_FORMAT_ID = 'dateFormat'; +export const DATE_FORMAT_DOW_ID = 'dateFormat:dow'; +export const DATE_FORMAT_SCALED_ID = 'dateFormat:scaled'; +export const DATE_FORMAT_TZ_ID = 'dateFormat:tz'; +export const DATE_FORMAT_NANOS_ID = 'dateNanosFormat'; +export const DEFAULT_INDEX_ID = 'defaultIndex'; +export const DEFAULT_ROUTE_ID = 'defaultRoute'; +export const FIELDS_POPULAR_LIMIT_ID = 'fields:popularLimit'; +export const FILE_UPLOAD_MAX_SIZE_ID = 'fileUpload:maxFileSize'; +export const FILTER_EDITOR_SUGGEST_VALUES_ID = 'filterEditor:suggestValues'; +export const FILTERS_PINNED_BY_DEFAULT_ID = 'filters:pinnedByDefault'; +export const FORMAT_BYTES_DEFAULT_PATTERN_ID = 'format:bytes:defaultPattern'; +export const FORMAT_CURRENCY_DEFAULT_PATTERN_ID = 'format:currency:defaultPattern'; +export const FORMAT_DEFAULT_TYPE_MAP_ID = 'format:defaultTypeMap'; +export const FORMAT_NUMBER_DEFAULT_LOCALE_ID = 'format:number:defaultLocale'; +export const FORMAT_NUMBER_DEFAULT_PATTERN_ID = 'format:number:defaultPattern'; +export const FORMAT_PERCENT_DEFAULT_PATTERN_ID = 'format:percent:defaultPattern'; +export const HIDE_ANNOUNCEMENTS_ID = 'hideAnnouncements'; +export const HISTOGRAM_BAR_TARGET_ID = 'histogram:barTarget'; +export const HISTOGRAM_MAX_BARS_ID = 'histogram:maxBars'; +export const HISTORY_LIMIT_ID = 'history:limit'; +export const META_FIELDS_ID = 'metaFields'; +export const METRICS_ALLOW_CHECKING_FOR_FAILED_SHARDS_ID = 'metrics:allowCheckingForFailedShards'; +export const METRICS_ALLOW_STRING_INDICES_ID = 'metrics:allowStringIndices'; +export const METRICS_MAX_BUCKETS_ID = 'metrics:max_buckets'; +export const QUERY_ALLOW_LEADING_WILDCARDS_ID = 'query:allowLeadingWildcards'; +export const QUERY_STRING_OPTIONS_ID = 'query:queryString:options'; +export const SAVED_OBJECTS_LISTING_LIMIT_ID = 'savedObjects:listingLimit'; +export const SAVED_OBJECTS_PER_PAGE_ID = 'savedObjects:perPage'; +export const SEARCH_QUERY_LANGUAGE_ID = 'search:queryLanguage'; +export const SHORT_DOTS_ENABLE_ID = 'shortDots:enable'; +export const SORT_OPTIONS_ID = 'sort:options'; +export const STATE_STORE_IN_SESSION_STORAGE_ID = 'state:storeInSessionStorage'; +export const THEME_DARK_MODE_ID = 'theme:darkMode'; +export const TIMEPICKER_QUICK_RANGES_ID = 'timepicker:quickRanges'; +export const TIMEPICKER_REFRESH_INTERVAL_DEFAULTS_ID = 'timepicker:refreshIntervalDefaults'; +export const TIMEPICKER_TIME_DEFAULTS_ID = 'timepicker:timeDefaults'; + +// Presentation labs settings +export const LABS_CANVAS_BY_VALUE_EMBEDDABLE_ID = 'labs:canvas:byValueEmbeddable'; +export const LABS_CANVAS_ENABLE_UI_ID = 'labs:canvas:enable_ui'; +export const LABS_DASHBOARD_CONTROLS_ID = 'labs:dashboard:dashboardControls'; +export const LABS_DASHBOARD_DEFER_BELOW_FOLD_ID = 'labs:dashboard:deferBelowFold'; +export const LABS_DASHBOARDS_ENABLE_UI_ID = 'labs:dashboard:enable_ui'; + +// Accessibility settings +export const ACCESSIBILITY_DISABLE_ANIMATIONS_ID = 'accessibility:disableAnimations'; + +// Autocomplete settings +export const AUTOCOMPLETE_USE_TIME_RANGE_ID = 'autocomplete:useTimeRange'; +export const AUTOCOMPLETE_VALUE_SUGGESTION_METHOD_ID = 'autocomplete:valueSuggestionMethod'; + +// Banner settings +export const BANNERS_PLACEMENT_ID = 'banners:placement'; +export const BANNERS_TEXT_CONTENT_ID = 'banners:textContent'; +export const BANNERS_TEXT_COLOR_ID = 'banners:textColor'; +export const BANNERS_BACKGROUND_COLOR_ID = 'banners:backgroundColor'; + +// Discover settings +export const CONTEXT_DEFAULT_SIZE_ID = 'context:defaultSize'; +export const CONTEXT_STEP_ID = 'context:step'; +export const CONTEXT_TIE_BREAKER_FIELDS_ID = 'context:tieBreakerFields'; +export const DEFAULT_COLUMNS_ID = 'defaultColumns'; +export const DISCOVER_ENABLE_SQL_ID = 'discover:enableSql'; +export const DISCOVER_MAX_DOC_FIELDS_DISPLAYED_ID = 'discover:maxDocFieldsDisplayed'; +export const DISCOVER_MODIFY_COLUMNS_ON_SWITCH_ID = 'discover:modifyColumnsOnSwitch'; +export const DISCOVER_ROW_HEIGHT_OPTION_ID = 'discover:rowHeightOption'; +export const DISCOVER_SAMPLE_ROWS_PER_PAGE_ID = 'discover:sampleRowsPerPage'; +export const DISCOVER_SAMPLE_SIZE_ID = 'discover:sampleSize'; +export const DISCOVER_SEARCH_FIELDS_FROM_SOURCE_ID = 'discover:searchFieldsFromSource'; +export const DISCOVER_SEARCH_ON_PAGE_LOAD_ID = 'discover:searchOnPageLoad'; +export const DISCOVER_SHOW_FIELD_STATISTICS_ID = 'discover:showFieldStatistics'; +export const DISCOVER_SHOW_LEGACY_FIELD_TOP_VALUES_ID = 'discover:showLegacyFieldTopValues'; +export const DISCOVER_SHOW_MULTI_FIELDS_ID = 'discover:showMultiFields'; +export const DISCOVER_SORT_DEFAULT_ORDER_ID = 'discover:sort:defaultOrder'; +export const DOC_TABLE_HIDE_TIME_COLUMNS_ID = 'doc_table:hideTimeColumn'; +export const DOC_TABLE_HIGHLIGHT_ID = 'doc_table:highlight'; +export const DOC_TABLE_LEGACY_ID = 'doc_table:legacy'; +export const TRUNCATE_MAX_HEIGHT_ID = 'truncate:maxHeight'; + +// Machine learning settings +export const ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID = + 'ml:anomalyDetection:results:enableTimeDefaults'; +export const ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID = + 'ml:anomalyDetection:results:timeDefaults'; + +// Notifications settings +export const NOTIFICATIONS_BANNER_ID = 'notifications:banner'; +export const NOTIFICATIONS_LIFETIME_BANNER_ID = 'notifications:lifetime:banner'; +export const NOTIFICATIONS_LIFETIME_ERROR_ID = 'notifications:lifetime:error'; +export const NOTIFICATIONS_LIFETIME_INFO_ID = 'notifications:lifetime:info'; +export const NOTIFICATIONS_LIFETIME_WARNING_ID = 'notifications:lifetime:warning'; + +// Observability settings +export const OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID = 'observability:apmAWSLambdaPriceFactor'; +export const OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID = + 'observability:apmAWSLambdaRequestCostPerMillion'; +export const OBSERVABILITY_APM_AGENT_EXPLORER_VIEW_ID = 'observability:apmAgentExplorerView'; +export const OBSERVABILITY_APM_DEFAULT_SERVICE_ENVIRONMENT_ID = + 'observability:apmDefaultServiceEnvironment'; +export const OBSERVABILITY_APM_ENABLE_CRITICAL_PATH_ID = 'observability:apmEnableCriticalPath'; +export const OBSERVABILITY_APM_LABS_BUTTON_ID = 'observability:apmLabsButton'; +export const OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID = 'observability:apmProgressiveLoading'; +export const OBSERVABILITY_APM_SERVICE_GROUP_MAX_NUMBER_OF_SERVCIE_ID = + 'observability:apmServiceGroupMaxNumberOfServices'; +export const OBSERVABILITY_APM_SERVICE_INVENTORY_OPTIMIZED_SORTING_ID = + 'observability:apmServiceInventoryOptimizedSorting'; +export const OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID = 'observability:apmTraceExplorerTab'; +export const OBSERVABILITY_ENABLE_AWS_LAMBDA_METRICS_ID = 'observability:enableAwsLambdaMetrics'; +export const OBSERVABILITY_ENABLE_COMPARISON_BY_DEFAULT_ID = + 'observability:enableComparisonByDefault'; +export const OBSERVABILITY_ENABLE_INFRASTRUCTURE_HOSTS_VIEW_ID = + 'observability:enableInfrastructureHostsView'; +export const OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID = 'observability:enableInspectEsQueries'; +export const OBSERVABILITY_MAX_SUGGESTIONS_ID = 'observability:maxSuggestions'; +export const OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID = + 'observability:profilingElasticsearchPlugin'; + +// Reporting settings +export const XPACK_REPORTING_CUSTOM_PDF_LOGO_ID = 'xpackReporting:customPdfLogo'; + +// Rollups settings +export const ROLLUPS_ENABLE_INDEX_PATTERNS_ID = 'rollups.enableIndexPatterns'; + +// Search settings +export const COURIER_CUSTOM_REQUEST_PREFERENCE_ID = 'courier:customRequestPreference'; +export const COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID = + 'courier:ignoreFilterIfFieldNotInIndex'; +export const COURIER_MAX_CONCURRENT_SHARD_REQUEST_ID = 'courier:maxConcurrentShardRequests'; +export const COURIER_SET_REQUEST_PREFERENCE_ID = 'courier:setRequestPreference'; +export const SEARCH_INCLUDE_FROZEN_ID = 'search:includeFrozen'; +export const SEARCH_TIMEOUT_ID = 'search:timeout'; + +// Security solution settings +export const SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID = + 'securitySolution:refreshIntervalDefaults'; +export const SECURITY_SOLUTION_TIME_DEFAULTS_ID = 'securitySolution:timeDefaults'; +export const SECURITY_SOLUTION_DEFAULT_INDEX_ID = 'securitySolution:defaultIndex'; +export const SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID = 'securitySolution:defaultThreatIndex'; +export const SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID = 'securitySolution:defaultAnomalyScore'; +export const SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID = 'securitySolution:enableGroupedNav'; +export const SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID = 'securitySolution:enableNewsFeed'; +export const SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID = 'securitySolution:rulesTableRefresh'; +export const SECURITY_SOLUTION_NEWS_FEED_URL_ID = 'securitySolution:newsFeedUrl'; +export const SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID = 'securitySolution:ipReputationLinks'; +export const SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID = 'securitySolution:enableCcsWarning'; +export const SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID = + 'securitySolution:showRelatedIntegrations'; + +// Timelion settings +export const TIMELION_ES_DEFAULT_INDEX_ID = 'timelion:es.default_index'; +export const TIMELION_ES_TIME_FIELD_ID = 'timelion:es.timefield'; +export const TIMELION_MAX_BUCKETS_ID = 'timelion:max_buckets'; +export const TIMELION_MIN_INTERVAL_ID = 'timelion:min_interval'; +export const TIMELION_TARGET_BUCKETS_ID = 'timelion:target_buckets'; + +// Visualization settings +export const VISUALIZATION_COLOR_MAPPING_ID = 'visualization:colorMapping'; +export const VISUALIZATION_HEATMAP_MAX_BUCKETS_ID = 'visualization:heatmap:maxBuckets'; +export const VISUALIZATION_USE_LEGACY_TIME_AXIS_ID = 'visualization:useLegacyTimeAxis'; +export const VISUALIZATION_LEGACY_GAUGE_CHARTS_LIBRARY_ID = + 'visualization:visualize:legacyGaugeChartsLibrary'; +export const VISUALIZATION_LEGACY_HEATMAP_CHARTS_LIBRARY_ID = + 'visualization:visualize:legacyHeatmapChartsLibrary'; +export const VISUALIZATION_ENABLE_LABS_ID = 'visualize:enableLabs'; diff --git a/packages/kbn-management/settings/setting_ids/kibana.jsonc b/packages/kbn-management/settings/setting_ids/kibana.jsonc new file mode 100644 index 00000000000000..934b0dd5baaace --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-ids", + "owner": "@elastic/appex-sharedux @elastic/platform-deployment-management" +} diff --git a/packages/kbn-management/settings/setting_ids/package.json b/packages/kbn-management/settings/setting_ids/package.json new file mode 100644 index 00000000000000..59c9769cd1bf75 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-ids", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/setting_ids/tsconfig.json b/packages/kbn-management/settings/setting_ids/tsconfig.json new file mode 100644 index 00000000000000..53e5c76cbab879 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], +} diff --git a/packages/serverless/settings/common/README.mdx b/packages/serverless/settings/common/README.mdx new file mode 100644 index 00000000000000..ece99219fbc3bc --- /dev/null +++ b/packages/serverless/settings/common/README.mdx @@ -0,0 +1,14 @@ +--- +id: serverless/packages/settings/common +slug: /serverless/packages/settings/common +title: Serverless Common Advanced Settings +description: A package of common settings for all Serverless projects. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are available in all Serverless projects in the Advanced settings app. +This list is consumed by the `serverless` plugin, which merges it with any serverless project-specific settings that +have been set up, and sends it to the uiSettings service to set an allowlist for the settings. + +If you need to register a setting that should be available in all serverless projects, make sure to add its Id to this list. diff --git a/packages/serverless/settings/common/index.ts b/packages/serverless/settings/common/index.ts new file mode 100644 index 00000000000000..326108abcd747c --- /dev/null +++ b/packages/serverless/settings/common/index.ts @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as settings from '@kbn/management-settings-ids'; + +const GENERAL_SETTINGS = [ + settings.CSV_QUOTE_VALUES_ID, + settings.DATE_FORMAT_DOW_ID, + settings.DATE_FORMAT_SCALED_ID, + settings.DATE_FORMAT_TZ_ID, + settings.DATE_FORMAT_NANOS_ID, + settings.DEFAULT_INDEX_ID, + settings.FILTERS_PINNED_BY_DEFAULT_ID, + settings.FORMAT_BYTES_DEFAULT_PATTERN_ID, + settings.FORMAT_CURRENCY_DEFAULT_PATTERN_ID, + settings.FORMAT_NUMBER_DEFAULT_LOCALE_ID, + settings.FORMAT_NUMBER_DEFAULT_PATTERN_ID, + settings.FORMAT_PERCENT_DEFAULT_PATTERN_ID, + settings.META_FIELDS_ID, + settings.STATE_STORE_IN_SESSION_STORAGE_ID, + settings.TIMEPICKER_QUICK_RANGES_ID, + settings.TIMEPICKER_TIME_DEFAULTS_ID, +]; + +const PRESENTATION_LABS_SETTINGS = [settings.LABS_DASHBOARD_DEFER_BELOW_FOLD_ID]; + +const ACCESSIBILITY_SETTINGS = [settings.ACCESSIBILITY_DISABLE_ANIMATIONS_ID]; + +const BANNER_SETTINGS = [ + settings.BANNERS_PLACEMENT_ID, + settings.BANNERS_TEXT_CONTENT_ID, + settings.BANNERS_TEXT_COLOR_ID, + settings.BANNERS_BACKGROUND_COLOR_ID, +]; + +const DISCOVER_SETTINGS = [settings.DEFAULT_COLUMNS_ID]; + +const NOTIFICATION_SETTINGS = [ + settings.NOTIFICATIONS_BANNER_ID, + settings.NOTIFICATIONS_LIFETIME_BANNER_ID, + settings.NOTIFICATIONS_LIFETIME_ERROR_ID, + settings.NOTIFICATIONS_LIFETIME_INFO_ID, + settings.NOTIFICATIONS_LIFETIME_WARNING_ID, +]; + +export const ALL_COMMON_SETTINGS = [ + ...GENERAL_SETTINGS, + ...PRESENTATION_LABS_SETTINGS, + ...ACCESSIBILITY_SETTINGS, + ...BANNER_SETTINGS, + ...DISCOVER_SETTINGS, + ...NOTIFICATION_SETTINGS, +]; diff --git a/packages/serverless/settings/common/kibana.jsonc b/packages/serverless/settings/common/kibana.jsonc new file mode 100644 index 00000000000000..ee4ea591c85c5c --- /dev/null +++ b/packages/serverless/settings/common/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-common-settings", + "owner": "@elastic/appex-sharedux @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/common/package.json b/packages/serverless/settings/common/package.json new file mode 100644 index 00000000000000..3674091a63be5e --- /dev/null +++ b/packages/serverless/settings/common/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-common-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/common/tsconfig.json b/packages/serverless/settings/common/tsconfig.json new file mode 100644 index 00000000000000..16d6022e3d9bc0 --- /dev/null +++ b/packages/serverless/settings/common/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/serverless/settings/observability_project/README.mdx b/packages/serverless/settings/observability_project/README.mdx new file mode 100644 index 00000000000000..e7c16971c6cb6c --- /dev/null +++ b/packages/serverless/settings/observability_project/README.mdx @@ -0,0 +1,31 @@ +--- +id: serverless/packages/settings/observability_project +slug: /serverless/packages/settings/observability_project +title: Serverless Observability Advanced Settings +description: A package of settings for the Serverless Observability project. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are only available in the Serverless Observability project. +This list is consumed by the `serverless_observability` plugin, which sets up its project settings: + +```ts +export class ServerlessObservabilityPlugin + implements + Plugin< + ServerlessObservabilityPluginSetup, + ServerlessObservabilityPluginStart, + SetupDependencies, + StartDependencies + > +{ + public setup(_coreSetup: CoreSetup, pluginsSetup: SetupDependencies) { + pluginsSetup.serverless.setupProjectSettings(OBSERVABILITY_PROJECT_SETTINGS); + return {}; + } +} +``` + +If you need to register a setting that should be available in the Serverless Observability project, make sure to add +its Id to this list. diff --git a/packages/serverless/settings/observability_project/index.ts b/packages/serverless/settings/observability_project/index.ts new file mode 100644 index 00000000000000..7f76a35e0fcea7 --- /dev/null +++ b/packages/serverless/settings/observability_project/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as settings from '@kbn/management-settings-ids'; + +export const OBSERVABILITY_PROJECT_SETTINGS = [ + settings.ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID, + settings.ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID, +]; diff --git a/packages/serverless/settings/observability_project/kibana.jsonc b/packages/serverless/settings/observability_project/kibana.jsonc new file mode 100644 index 00000000000000..4df29091e66198 --- /dev/null +++ b/packages/serverless/settings/observability_project/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-observability-settings", + "owner": "@elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/observability_project/package.json b/packages/serverless/settings/observability_project/package.json new file mode 100644 index 00000000000000..127cb4621c7423 --- /dev/null +++ b/packages/serverless/settings/observability_project/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-observability-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/observability_project/tsconfig.json b/packages/serverless/settings/observability_project/tsconfig.json new file mode 100644 index 00000000000000..16d6022e3d9bc0 --- /dev/null +++ b/packages/serverless/settings/observability_project/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/serverless/settings/search_project/README.mdx b/packages/serverless/settings/search_project/README.mdx new file mode 100644 index 00000000000000..a19718c645a824 --- /dev/null +++ b/packages/serverless/settings/search_project/README.mdx @@ -0,0 +1,34 @@ +--- +id: serverless/packages/settings/search_project +slug: /serverless/packages/settings/search_project +title: Serverless Search Advanced Settings +description: A package of settings for the Serverless Search project. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are only available in the Serverless Search project. +This list is consumed by the `serverless_search` plugin, which sets up its project settings: + +```ts +export class ServerlessSearchPlugin + implements + Plugin< + ServerlessSearchPluginSetup, + ServerlessSearchPluginStart, + SetupDependencies, + StartDependencies + > +{ + public setup( + { getStartServices, http }: CoreSetup, + pluginsSetup: SetupDependencies + ) { + pluginsSetup.serverless.setupProjectSettings(SEARCH_PROJECT_SETTINGS); + return {}; + } +} +``` + +If you need to register a setting that should be available in the Serverless Search project, make sure to add +its Id to this list. diff --git a/packages/serverless/settings/search_project/index.ts b/packages/serverless/settings/search_project/index.ts new file mode 100644 index 00000000000000..a26c6585016173 --- /dev/null +++ b/packages/serverless/settings/search_project/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID } from '@kbn/management-settings-ids'; + +export const SEARCH_PROJECT_SETTINGS = [COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID]; diff --git a/packages/serverless/settings/search_project/kibana.jsonc b/packages/serverless/settings/search_project/kibana.jsonc new file mode 100644 index 00000000000000..f73b63503ae4de --- /dev/null +++ b/packages/serverless/settings/search_project/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-search-settings", + "owner": "@elastic/enterprise-search-frontend @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/search_project/package.json b/packages/serverless/settings/search_project/package.json new file mode 100644 index 00000000000000..2dc7bf717e6127 --- /dev/null +++ b/packages/serverless/settings/search_project/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-search-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/search_project/tsconfig.json b/packages/serverless/settings/search_project/tsconfig.json new file mode 100644 index 00000000000000..16d6022e3d9bc0 --- /dev/null +++ b/packages/serverless/settings/search_project/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/serverless/settings/security_project/README.mdx b/packages/serverless/settings/security_project/README.mdx new file mode 100644 index 00000000000000..4d5d788eb84d09 --- /dev/null +++ b/packages/serverless/settings/security_project/README.mdx @@ -0,0 +1,31 @@ +--- +id: serverless/packages/settings/security_project +slug: /serverless/packages/settings/security_project +title: Serverless Security Advanced Settings +description: A package of settings for the Serverless Security project. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are only available in the Serverless Security project. +This list is consumed by the `security_solution_serverless` plugin, which sets up its project settings: + +```ts +export class SecuritySolutionServerlessPlugin + implements + Plugin< + SecuritySolutionServerlessPluginSetup, + SecuritySolutionServerlessPluginStart, + SecuritySolutionServerlessPluginSetupDeps, + SecuritySolutionServerlessPluginStartDeps + > +{ + public setup(coreSetup: CoreSetup, pluginsSetup: SecuritySolutionServerlessPluginSetupDeps) { + pluginsSetup.serverless.setupProjectSettings(SECURITY_PROJECT_SETTINGS); + return {}; + } +} +``` + +If you need to register a setting that should be available in the Serverless Security project, make sure to add +its Id to this list. diff --git a/packages/serverless/settings/security_project/index.ts b/packages/serverless/settings/security_project/index.ts new file mode 100644 index 00000000000000..070a75f163d415 --- /dev/null +++ b/packages/serverless/settings/security_project/index.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as settings from '@kbn/management-settings-ids'; + +export const SECURITY_PROJECT_SETTINGS = [ + settings.ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID, + settings.ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID, + settings.SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID, + settings.SECURITY_SOLUTION_TIME_DEFAULTS_ID, + settings.SECURITY_SOLUTION_DEFAULT_INDEX_ID, + settings.SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID, + settings.SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID, + settings.SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID, + settings.SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID, + settings.SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID, + settings.SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID, +]; diff --git a/packages/serverless/settings/security_project/kibana.jsonc b/packages/serverless/settings/security_project/kibana.jsonc new file mode 100644 index 00000000000000..818e3068d704c1 --- /dev/null +++ b/packages/serverless/settings/security_project/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-security-settings", + "owner": "@elastic/security-solution @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/security_project/package.json b/packages/serverless/settings/security_project/package.json new file mode 100644 index 00000000000000..5d58ccbd142b28 --- /dev/null +++ b/packages/serverless/settings/security_project/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-security-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/security_project/tsconfig.json b/packages/serverless/settings/security_project/tsconfig.json new file mode 100644 index 00000000000000..16d6022e3d9bc0 --- /dev/null +++ b/packages/serverless/settings/security_project/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/tsconfig.base.json b/tsconfig.base.json index e5808369793aef..1459ef0fc229ec 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -954,6 +954,8 @@ "@kbn/management-cards-navigation/*": ["packages/kbn-management/cards_navigation/*"], "@kbn/management-plugin": ["src/plugins/management"], "@kbn/management-plugin/*": ["src/plugins/management/*"], + "@kbn/management-settings-ids": ["packages/kbn-management/settings/setting_ids"], + "@kbn/management-settings-ids/*": ["packages/kbn-management/settings/setting_ids/*"], "@kbn/management-settings-section-registry": ["packages/kbn-management/settings/section_registry"], "@kbn/management-settings-section-registry/*": ["packages/kbn-management/settings/section_registry/*"], "@kbn/management-storybook-config": ["packages/kbn-management/storybook/config"], @@ -1260,12 +1262,20 @@ "@kbn/server-route-repository/*": ["packages/kbn-server-route-repository/*"], "@kbn/serverless": ["x-pack/plugins/serverless"], "@kbn/serverless/*": ["x-pack/plugins/serverless/*"], + "@kbn/serverless-common-settings": ["packages/serverless/settings/common"], + "@kbn/serverless-common-settings/*": ["packages/serverless/settings/common/*"], "@kbn/serverless-observability": ["x-pack/plugins/serverless_observability"], "@kbn/serverless-observability/*": ["x-pack/plugins/serverless_observability/*"], + "@kbn/serverless-observability-settings": ["packages/serverless/settings/observability_project"], + "@kbn/serverless-observability-settings/*": ["packages/serverless/settings/observability_project/*"], "@kbn/serverless-project-switcher": ["packages/serverless/project_switcher"], "@kbn/serverless-project-switcher/*": ["packages/serverless/project_switcher/*"], "@kbn/serverless-search": ["x-pack/plugins/serverless_search"], "@kbn/serverless-search/*": ["x-pack/plugins/serverless_search/*"], + "@kbn/serverless-search-settings": ["packages/serverless/settings/search_project"], + "@kbn/serverless-search-settings/*": ["packages/serverless/settings/search_project/*"], + "@kbn/serverless-security-settings": ["packages/serverless/settings/security_project"], + "@kbn/serverless-security-settings/*": ["packages/serverless/settings/security_project/*"], "@kbn/serverless-storybook-config": ["packages/serverless/storybook/config"], "@kbn/serverless-storybook-config/*": ["packages/serverless/storybook/config/*"], "@kbn/serverless-types": ["packages/serverless/types"], diff --git a/x-pack/plugins/actions/server/plugin.test.ts b/x-pack/plugins/actions/server/plugin.test.ts index d3bc3be1a9deb9..dd936600d7055b 100644 --- a/x-pack/plugins/actions/server/plugin.test.ts +++ b/x-pack/plugins/actions/server/plugin.test.ts @@ -15,6 +15,7 @@ import { featuresPluginMock } from '@kbn/features-plugin/server/mocks'; import { encryptedSavedObjectsMock } from '@kbn/encrypted-saved-objects-plugin/server/mocks'; import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; import { eventLogMock } from '@kbn/event-log-plugin/server/mocks'; +import { serverlessPluginMock } from '@kbn/serverless/server/mocks'; import { ActionType, ActionsApiRequestHandlerContext, ExecutorType } from './types'; import { ActionsConfig } from './config'; import { @@ -361,7 +362,7 @@ describe('Actions Plugin', () => { eventLog: eventLogMock.createSetup(), usageCollection: usageCollectionPluginMock.createSetupContract(), features: featuresPluginMock.createSetup(), - serverless: {}, + serverless: serverlessPluginMock.createSetupContract(), }; } @@ -560,7 +561,7 @@ describe('Actions Plugin', () => { ...pluginsSetup.encryptedSavedObjects, canEncrypt: true, }, - serverless: {}, + serverless: serverlessPluginMock.createSetupContract(), }); pluginSetup.registerType({ @@ -579,7 +580,10 @@ describe('Actions Plugin', () => { pluginSetup.setEnabledConnectorTypes(['.server-log', 'non-existing']); await expect(async () => - plugin.start(coreStart, { ...pluginsStart, serverless: {} }) + plugin.start(coreStart, { + ...pluginsStart, + serverless: serverlessPluginMock.createStartContract(), + }) ).rejects.toThrowErrorMatchingInlineSnapshot( `"Action type \\"non-existing\\" is not registered."` ); diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index ef5de6194d475b..60a27eb04e411f 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -40,7 +40,7 @@ import { } from '@kbn/event-log-plugin/server'; import { MonitoringCollectionSetup } from '@kbn/monitoring-collection-plugin/server'; -import { ServerlessPluginSetup } from '@kbn/serverless/server'; +import { ServerlessPluginSetup, ServerlessPluginStart } from '@kbn/serverless/server'; import { ActionsConfig, AllowedHosts, EnabledConnectorTypes, getValidatedConfig } from './config'; import { resolveCustomHosts } from './lib/custom_host_settings'; import { ActionsClient } from './actions_client/actions_client'; @@ -179,7 +179,7 @@ export interface ActionsPluginsStart { eventLog: IEventLogClientService; spaces?: SpacesPluginStart; security?: SecurityPluginStart; - serverless?: ServerlessPluginSetup; + serverless?: ServerlessPluginStart; } const includedHiddenTypes = [ diff --git a/x-pack/plugins/alerting/server/plugin.test.ts b/x-pack/plugins/alerting/server/plugin.test.ts index 302bc7210c9f34..3f59d1457d57c6 100644 --- a/x-pack/plugins/alerting/server/plugin.test.ts +++ b/x-pack/plugins/alerting/server/plugin.test.ts @@ -37,6 +37,7 @@ jest.mock('./alerts_service/alerts_service', () => ({ import { SharePluginStart } from '@kbn/share-plugin/server'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; import { generateAlertingConfig } from './test_utils'; +import { serverlessPluginMock } from '@kbn/serverless/server/mocks'; const sampleRuleType: RuleType = { id: 'test', @@ -73,8 +74,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - // serverless setup is currently empty, and there is no mock - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }; let plugin: AlertingPlugin; @@ -242,7 +244,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }); const startContract = plugin.start(coreMock.createStart(), { @@ -292,7 +296,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }); const startContract = plugin.start(coreMock.createStart(), { @@ -353,7 +359,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }); const startContract = plugin.start(coreMock.createStart(), { diff --git a/x-pack/plugins/event_log/server/plugin.test.ts b/x-pack/plugins/event_log/server/plugin.test.ts index 35e02459010b15..d8a51a4f0eb472 100644 --- a/x-pack/plugins/event_log/server/plugin.test.ts +++ b/x-pack/plugins/event_log/server/plugin.test.ts @@ -10,6 +10,7 @@ import { coreMock } from '@kbn/core/server/mocks'; import { IEventLogService } from '.'; import { Plugin } from './plugin'; import { spacesMock } from '@kbn/spaces-plugin/server/mocks'; +import { serverlessPluginMock } from '@kbn/serverless/server/mocks'; describe('event_log plugin', () => { it('can setup and start', () => { @@ -18,8 +19,9 @@ describe('event_log plugin', () => { const coreStart = coreMock.createStart() as CoreStart; const plugin = new Plugin(initializerContext); - // serverless setup is currently empty, and there is no mock - const setup = plugin.setup(coreSetup, { serverless: {} }); + const setup = plugin.setup(coreSetup, { + serverless: serverlessPluginMock.createSetupContract(), + }); expect(typeof setup.getLogger).toBe('function'); expect(typeof setup.getProviderActions).toBe('function'); expect(typeof setup.isIndexingEntries).toBe('function'); @@ -41,8 +43,7 @@ describe('event_log plugin', () => { const plugin = new Plugin(initializerContext); const spaces = spacesMock.createStart(); - // serverless setup is currently empty, and there is no mock - plugin.setup(coreSetup, { serverless: {} }); + plugin.setup(coreSetup, { serverless: serverlessPluginMock.createSetupContract() }); plugin.start(coreStart, { spaces }); await plugin.stop(); expect(mockLogger.debug).toBeCalledWith('shutdown: waiting to finish'); diff --git a/x-pack/plugins/security_solution_serverless/server/plugin.ts b/x-pack/plugins/security_solution_serverless/server/plugin.ts index f4937ea4f0b329..e5696ce363617c 100644 --- a/x-pack/plugins/security_solution_serverless/server/plugin.ts +++ b/x-pack/plugins/security_solution_serverless/server/plugin.ts @@ -13,6 +13,7 @@ import type { Logger, } from '@kbn/core/server'; +import { SECURITY_PROJECT_SETTINGS } from '@kbn/serverless-security-settings'; import { getProductAppFeatures } from '../common/pli/pli_features'; import type { ServerlessSecurityConfig } from './config'; @@ -89,6 +90,9 @@ export class SecuritySolutionServerlessPlugin taskManager: pluginsSetup.taskManager, cloudSetup: pluginsSetup.cloudSetup, }); + + pluginsSetup.serverless.setupProjectSettings(SECURITY_PROJECT_SETTINGS); + return {}; } diff --git a/x-pack/plugins/security_solution_serverless/server/types.ts b/x-pack/plugins/security_solution_serverless/server/types.ts index 63fb4d0685738e..1beca2fc23b9d5 100644 --- a/x-pack/plugins/security_solution_serverless/server/types.ts +++ b/x-pack/plugins/security_solution_serverless/server/types.ts @@ -20,6 +20,7 @@ import type { SecuritySolutionEssPluginSetup } from '@kbn/security-solution-ess/ import type { MlPluginSetup } from '@kbn/ml-plugin/server'; import type { FleetStartContract } from '@kbn/fleet-plugin/server'; +import type { ServerlessPluginSetup } from '@kbn/serverless/server'; import type { ProductTier } from '../common/product'; import type { ServerlessSecurityConfig } from './config'; @@ -33,6 +34,7 @@ export interface SecuritySolutionServerlessPluginSetupDeps { security: SecurityPluginSetup; securitySolution: SecuritySolutionPluginSetup; securitySolutionEss: SecuritySolutionEssPluginSetup; + serverless: ServerlessPluginSetup; features: PluginSetupContract; ml: MlPluginSetup; taskManager: TaskManagerSetupContract; diff --git a/x-pack/plugins/security_solution_serverless/tsconfig.json b/x-pack/plugins/security_solution_serverless/tsconfig.json index 2ad30566e55cdb..636642b2a68d5c 100644 --- a/x-pack/plugins/security_solution_serverless/tsconfig.json +++ b/x-pack/plugins/security_solution_serverless/tsconfig.json @@ -40,6 +40,7 @@ "@kbn/security-solution-features", "@kbn/cases-plugin", "@kbn/fleet-plugin", + "@kbn/serverless-security-settings", "@kbn/core-elasticsearch-server", "@kbn/usage-collection-plugin", "@kbn/cloud-defend-plugin" diff --git a/x-pack/plugins/serverless/jest.config.js b/x-pack/plugins/serverless/jest.config.js new file mode 100644 index 00000000000000..1b7860b8f3d78c --- /dev/null +++ b/x-pack/plugins/serverless/jest.config.js @@ -0,0 +1,15 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/x-pack/plugins/serverless'], + coverageDirectory: '/target/kibana-coverage/jest/x-pack/plugins/serverless', + coverageReporters: ['text', 'html'], + collectCoverageFrom: ['/x-pack/plugins/serverless/{common,public,server}/**/*.{ts,tsx}'], +}; diff --git a/x-pack/plugins/serverless/server/mocks.ts b/x-pack/plugins/serverless/server/mocks.ts new file mode 100644 index 00000000000000..28b336d4b6c587 --- /dev/null +++ b/x-pack/plugins/serverless/server/mocks.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +function createSetupContract() { + return { + setupProjectSettings: jest.fn(), + }; +} + +function createStartContract() { + return {}; +} + +export const serverlessPluginMock = { + createSetupContract, + createStartContract, +}; diff --git a/x-pack/plugins/serverless/server/plugin.test.ts b/x-pack/plugins/serverless/server/plugin.test.ts new file mode 100644 index 00000000000000..d002325368be66 --- /dev/null +++ b/x-pack/plugins/serverless/server/plugin.test.ts @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { coreMock } from '@kbn/core/server/mocks'; +import { config } from './config'; +import { ServerlessPlugin } from './plugin'; + +describe('Serverless Plugin', () => { + let plugin: ServerlessPlugin; + let mockCoreSetup: ReturnType; + let mockCoreStart: ReturnType; + beforeEach(() => { + plugin = new ServerlessPlugin( + coreMock.createPluginInitializerContext( + config.schema.validate({ + enabled: true, + }) + ) + ); + + mockCoreSetup = coreMock.createSetup({ + pluginStartContract: {}, + }); + mockCoreStart = coreMock.createStart(); + }); + + describe('start()', () => { + it('throws if project settings are not set up', () => { + plugin.setup(mockCoreSetup); + expect(() => plugin.start(mockCoreStart)).toThrowError( + "The uiSettings allowlist for serverless hasn't been set up. Make sure to set up your serverless project settings with setupProjectSettings()" + ); + }); + }); +}); diff --git a/x-pack/plugins/serverless/server/plugin.ts b/x-pack/plugins/serverless/server/plugin.ts index a2b1121d0c562f..eefe74e6de9038 100644 --- a/x-pack/plugins/serverless/server/plugin.ts +++ b/x-pack/plugins/serverless/server/plugin.ts @@ -13,6 +13,7 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { getConfigDirectory } from '@kbn/utils'; import { ProjectType } from '@kbn/serverless-types'; +import { ALL_COMMON_SETTINGS } from '@kbn/serverless-common-settings'; import { ServerlessPluginSetup, ServerlessPluginStart } from './types'; import { ServerlessConfig } from './config'; import { API_SWITCH_PROJECT } from '../common'; @@ -35,6 +36,13 @@ const typeToIdMap: Record = { export class ServerlessPlugin implements Plugin { private readonly config: ServerlessConfig; + private projectSettingsAdded: boolean = false; + + private setupProjectSettings(core: CoreSetup, keys: string[]): void { + const settings = [...ALL_COMMON_SETTINGS].concat(keys); + core.uiSettings.setAllowlist(settings); + this.projectSettingsAdded = true; + } constructor(private readonly context: PluginInitializerContext) { this.config = this.context.config.get(); @@ -75,10 +83,17 @@ export class ServerlessPlugin implements Plugin this.setupProjectSettings(core, keys), + }; } public start(_core: CoreStart) { + if (!this.projectSettingsAdded) { + throw new Error( + "The uiSettings allowlist for serverless hasn't been set up. Make sure to set up your serverless project settings with setupProjectSettings()" + ); + } return {}; } diff --git a/x-pack/plugins/serverless/server/types.ts b/x-pack/plugins/serverless/server/types.ts index 92a804b34a948e..71c06ce1b96b4b 100644 --- a/x-pack/plugins/serverless/server/types.ts +++ b/x-pack/plugins/serverless/server/types.ts @@ -5,8 +5,9 @@ * 2.0. */ -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface ServerlessPluginSetup {} +export interface ServerlessPluginSetup { + setupProjectSettings(keys: string[]): void; +} // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessPluginStart {} diff --git a/x-pack/plugins/serverless/tsconfig.json b/x-pack/plugins/serverless/tsconfig.json index 88f7b5af1636ce..4bb3e35e344723 100644 --- a/x-pack/plugins/serverless/tsconfig.json +++ b/x-pack/plugins/serverless/tsconfig.json @@ -25,5 +25,6 @@ "@kbn/core-chrome-browser-internal", "@kbn/i18n-react", "@kbn/cloud-plugin", + "@kbn/serverless-common-settings", ] } diff --git a/x-pack/plugins/serverless_observability/server/plugin.ts b/x-pack/plugins/serverless_observability/server/plugin.ts index ae7bcd8baa0648..c6e502f61ca8cb 100644 --- a/x-pack/plugins/serverless_observability/server/plugin.ts +++ b/x-pack/plugins/serverless_observability/server/plugin.ts @@ -7,6 +7,7 @@ import type { PluginInitializerContext, Plugin, CoreSetup } from '@kbn/core/server'; +import { OBSERVABILITY_PROJECT_SETTINGS } from '@kbn/serverless-observability-settings'; import type { ServerlessObservabilityPluginSetup, ServerlessObservabilityPluginStart, @@ -27,6 +28,8 @@ export class ServerlessObservabilityPlugin public setup(_coreSetup: CoreSetup, pluginsSetup: SetupDependencies) { pluginsSetup.ml.setFeaturesEnabled({ ad: true, dfa: false, nlp: false }); + + pluginsSetup.serverless.setupProjectSettings(OBSERVABILITY_PROJECT_SETTINGS); return {}; } diff --git a/x-pack/plugins/serverless_observability/server/types.ts b/x-pack/plugins/serverless_observability/server/types.ts index 5ebad2274b9a5f..d899efedb1617a 100644 --- a/x-pack/plugins/serverless_observability/server/types.ts +++ b/x-pack/plugins/serverless_observability/server/types.ts @@ -6,6 +6,7 @@ */ import type { MlPluginSetup } from '@kbn/ml-plugin/server'; +import { ServerlessPluginSetup } from '@kbn/serverless/server'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessObservabilityPluginSetup {} @@ -17,4 +18,5 @@ export interface StartDependencies {} export interface SetupDependencies { ml: MlPluginSetup; + serverless: ServerlessPluginSetup; } diff --git a/x-pack/plugins/serverless_observability/tsconfig.json b/x-pack/plugins/serverless_observability/tsconfig.json index dec3814883e0e9..8e88263a527bbc 100644 --- a/x-pack/plugins/serverless_observability/tsconfig.json +++ b/x-pack/plugins/serverless_observability/tsconfig.json @@ -29,5 +29,6 @@ "@kbn/data-plugin", "@kbn/observability-plugin", "@kbn/io-ts-utils", + "@kbn/serverless-observability-settings", ] } diff --git a/x-pack/plugins/serverless_search/server/plugin.ts b/x-pack/plugins/serverless_search/server/plugin.ts index 693cdc1e7035e1..e43c5b0f18bbb6 100644 --- a/x-pack/plugins/serverless_search/server/plugin.ts +++ b/x-pack/plugins/serverless_search/server/plugin.ts @@ -13,6 +13,7 @@ import type { CoreSetup, } from '@kbn/core/server'; import type { SecurityPluginStart } from '@kbn/security-plugin/server'; +import { SEARCH_PROJECT_SETTINGS } from '@kbn/serverless-search-settings'; import { registerApiKeyRoutes } from './routes/api_key_routes'; import { registerIndicesRoutes } from './routes/indices_routes'; @@ -71,6 +72,7 @@ export class ServerlessSearchPlugin }); pluginsSetup.ml.setFeaturesEnabled({ ad: false, dfa: false, nlp: false }); + pluginsSetup.serverless.setupProjectSettings(SEARCH_PROJECT_SETTINGS); return {}; } diff --git a/x-pack/plugins/serverless_search/server/types.ts b/x-pack/plugins/serverless_search/server/types.ts index 8e8f7f15a81241..fe063c1a2aa5c2 100644 --- a/x-pack/plugins/serverless_search/server/types.ts +++ b/x-pack/plugins/serverless_search/server/types.ts @@ -7,6 +7,7 @@ import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import type { MlPluginSetup } from '@kbn/ml-plugin/server'; +import type { ServerlessPluginSetup } from '@kbn/serverless/server'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessSearchPluginSetup {} @@ -18,4 +19,5 @@ export interface StartDependencies { } export interface SetupDependencies { ml: MlPluginSetup; + serverless: ServerlessPluginSetup; } diff --git a/x-pack/plugins/serverless_search/tsconfig.json b/x-pack/plugins/serverless_search/tsconfig.json index c149beabd33ecd..4e24925e4b3d95 100644 --- a/x-pack/plugins/serverless_search/tsconfig.json +++ b/x-pack/plugins/serverless_search/tsconfig.json @@ -31,6 +31,7 @@ "@kbn/management-cards-navigation", "@kbn/core-elasticsearch-server", "@kbn/search-api-panels", + "@kbn/serverless-search-settings", "@kbn/core-lifecycle-browser", "@kbn/react-kibana-context-theme", "@kbn/search-connectors", diff --git a/x-pack/test_serverless/functional/config.base.ts b/x-pack/test_serverless/functional/config.base.ts index 02ddf326fef8d2..0f1eb73bbe2c73 100644 --- a/x-pack/test_serverless/functional/config.base.ts +++ b/x-pack/test_serverless/functional/config.base.ts @@ -62,6 +62,9 @@ export function createTestConfig(options: CreateTestConfigOptions) { indexManagement: { pathname: '/app/management/data/index_management', }, + advancedSettings: { + pathname: '/app/management/kibana/settings', + }, }, // choose where screenshots should be saved screenshots: { diff --git a/x-pack/test_serverless/functional/test_suites/common/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/common/advanced_settings.ts new file mode 100644 index 00000000000000..f24d3350b97440 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/common/advanced_settings.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { ALL_COMMON_SETTINGS } from '@kbn/serverless-common-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Common advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders common settings', () => { + for (const settingId of ALL_COMMON_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const isColorPickerField = + settingId === 'banners:textColor' || settingId === 'banners:backgroundColor'; + const fieldTestSubj = + (isColorPickerField ? 'euiColorPickerAnchor ' : '') + + 'advancedSetting-editField-' + + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/common/index.ts b/x-pack/test_serverless/functional/test_suites/common/index.ts index 597a1b6f84963f..89fe34c19f640f 100644 --- a/x-pack/test_serverless/functional/test_suites/common/index.ts +++ b/x-pack/test_serverless/functional/test_suites/common/index.ts @@ -18,6 +18,7 @@ export default function ({ loadTestFile }: FtrProviderContext) { // Management loadTestFile(require.resolve('./index_management')); + loadTestFile(require.resolve('./advanced_settings')); // Data View Management loadTestFile(require.resolve('./data_view_mgmt')); diff --git a/x-pack/test_serverless/functional/test_suites/observability/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/observability/advanced_settings.ts new file mode 100644 index 00000000000000..e723b81dbe20f1 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/observability/advanced_settings.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { OBSERVABILITY_PROJECT_SETTINGS } from '@kbn/serverless-observability-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Observability advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders observability settings', () => { + for (const settingId of OBSERVABILITY_PROJECT_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const fieldTestSubj = 'advancedSetting-editField-' + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/observability/index.ts b/x-pack/test_serverless/functional/test_suites/observability/index.ts index 2d4c664085dbb0..3c387337a23e5f 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/index.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/index.ts @@ -17,5 +17,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./cases/configure')); loadTestFile(require.resolve('./cases/create_case_form')); loadTestFile(require.resolve('./cases/list_view')); + loadTestFile(require.resolve('./advanced_settings')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/search/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/search/advanced_settings.ts new file mode 100644 index 00000000000000..63b6053589ea64 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/advanced_settings.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { SEARCH_PROJECT_SETTINGS } from '@kbn/serverless-search-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Search advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders search settings', () => { + for (const settingId of SEARCH_PROJECT_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const fieldTestSubj = 'advancedSetting-editField-' + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/search/index.ts b/x-pack/test_serverless/functional/test_suites/search/index.ts index e169f69f3f78b2..fbaaf96aed8a4d 100644 --- a/x-pack/test_serverless/functional/test_suites/search/index.ts +++ b/x-pack/test_serverless/functional/test_suites/search/index.ts @@ -16,5 +16,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./dashboards/build_dashboard')); loadTestFile(require.resolve('./dashboards/import_dashboard')); + loadTestFile(require.resolve('./advanced_settings')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts new file mode 100644 index 00000000000000..27fa42549dcc60 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { SECURITY_PROJECT_SETTINGS } from '@kbn/serverless-security-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Security advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders security settings', () => { + for (const settingId of SECURITY_PROJECT_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const fieldTestSubj = 'advancedSetting-editField-' + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/security/index.ts b/x-pack/test_serverless/functional/test_suites/security/index.ts index b4c46b5f4c2632..d68c184813ceaf 100644 --- a/x-pack/test_serverless/functional/test_suites/security/index.ts +++ b/x-pack/test_serverless/functional/test_suites/security/index.ts @@ -17,5 +17,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./ftr/cases/create_case_form')); loadTestFile(require.resolve('./ftr/cases/configure')); loadTestFile(require.resolve('./ftr/cases/list_view')); + loadTestFile(require.resolve('./advanced_settings')); }); } diff --git a/x-pack/test_serverless/tsconfig.json b/x-pack/test_serverless/tsconfig.json index 3950afef67928a..1a94c23b6f1c11 100644 --- a/x-pack/test_serverless/tsconfig.json +++ b/x-pack/test_serverless/tsconfig.json @@ -54,5 +54,9 @@ "@kbn/bfetch-plugin", "@kbn/rison", "@kbn/std", + "@kbn/serverless-common-settings", + "@kbn/serverless-observability-settings", + "@kbn/serverless-search-settings", + "@kbn/serverless-security-settings", ] } diff --git a/yarn.lock b/yarn.lock index 1693ec65418745..51180726acd2ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4850,6 +4850,10 @@ version "0.0.0" uid "" +"@kbn/management-settings-ids@link:packages/kbn-management/settings/setting_ids": + version "0.0.0" + uid "" + "@kbn/management-settings-section-registry@link:packages/kbn-management/settings/section_registry": version "0.0.0" uid "" @@ -5458,6 +5462,14 @@ version "0.0.0" uid "" +"@kbn/serverless-common-settings@link:packages/serverless/settings/common": + version "0.0.0" + uid "" + +"@kbn/serverless-observability-settings@link:packages/serverless/settings/observability_project": + version "0.0.0" + uid "" + "@kbn/serverless-observability@link:x-pack/plugins/serverless_observability": version "0.0.0" uid "" @@ -5466,10 +5478,18 @@ version "0.0.0" uid "" +"@kbn/serverless-search-settings@link:packages/serverless/settings/search_project": + version "0.0.0" + uid "" + "@kbn/serverless-search@link:x-pack/plugins/serverless_search": version "0.0.0" uid "" +"@kbn/serverless-security-settings@link:packages/serverless/settings/security_project": + version "0.0.0" + uid "" + "@kbn/serverless-storybook-config@link:packages/serverless/storybook/config": version "0.0.0" uid "" From f27519adf0fe1749318464334c7a76e556298fc6 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 11 Sep 2023 17:05:32 -0400 Subject: [PATCH 15/39] skip failing test suite (#165883) --- x-pack/test/functional/apps/transform/edit_clone/cloning.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/transform/edit_clone/cloning.ts b/x-pack/test/functional/apps/transform/edit_clone/cloning.ts index 152ea8c9caa662..0ec4ef0b67b9e7 100644 --- a/x-pack/test/functional/apps/transform/edit_clone/cloning.ts +++ b/x-pack/test/functional/apps/transform/edit_clone/cloning.ts @@ -189,7 +189,8 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const transform = getService('transform'); - describe('cloning', function () { + // Failing: See https://github.com/elastic/kibana/issues/165883 + describe.skip('cloning', function () { const transformConfigWithPivot = getTransformConfig(); const transformConfigWithRuntimeMapping = getTransformConfigWithRuntimeMappings(); const transformConfigWithBoolFilterAgg = getTransformConfigWithBoolFilterAgg(); From 7267efec495df33e522857f3812c13537bce10a0 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Mon, 11 Sep 2023 14:25:16 -0700 Subject: [PATCH 16/39] [DOCS] Move preconfigured xMatters connector details (#165923) --- .../connector-apis-passthru.asciidoc | 45 ++++++++-- .../connectors/action-types/xmatters.asciidoc | 61 ++----------- .../pre-configured-connectors.asciidoc | 41 +++++++++ docs/settings/alert-action-settings.asciidoc | 14 +++ .../plugins/actions/docs/openapi/bundled.json | 89 ++++++++++++++++++- .../plugins/actions/docs/openapi/bundled.yaml | 69 +++++++++++++- .../create_xmatters_connector_request.yaml | 8 ++ .../create_xmatters_connector_response.yaml | 12 +++ .../schemas/config_properties_xmatters.yaml | 16 +++- .../schemas/secrets_properties_xmatters.yaml | 18 +++- .../s@{spaceid}@api@actions@connector.yaml | 4 + ...}@api@actions@connector@{connectorid}.yaml | 2 +- 12 files changed, 305 insertions(+), 74 deletions(-) create mode 100644 x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml create mode 100644 x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml diff --git a/docs/api-generated/connectors/connector-apis-passthru.asciidoc b/docs/api-generated/connectors/connector-apis-passthru.asciidoc index 004946cfdb335b..fd96198a2db6a5 100644 --- a/docs/api-generated/connectors/connector-apis-passthru.asciidoc +++ b/docs/api-generated/connectors/connector-apis-passthru.asciidoc @@ -1012,6 +1012,7 @@ Any modifications made to this file will be overwritten.
  • config_properties_servicenow_itom - Connector request properties for a ServiceNow ITSM connector
  • config_properties_swimlane - Connector request properties for a Swimlane connector
  • config_properties_webhook - Connector request properties for a Webhook connector
  • +
  • config_properties_xmatters - Connector request properties for an xMatters connector
  • connector_response_properties - Connector response properties
  • connector_response_properties_cases_webhook - Connector request properties for a Webhook - Case Management connector
  • connector_response_properties_email - Connector response properties for an email connector
  • @@ -1097,6 +1098,7 @@ Any modifications made to this file will be overwritten.
  • secrets_properties_slack_webhook - Connector secrets properties for a Webhook Slack connector
  • secrets_properties_swimlane - Connector secrets properties for a Swimlane connector
  • secrets_properties_webhook - Connector secrets properties for a Webhook connector
  • +
  • secrets_properties_xmatters - Connector secrets properties for an xMatters connector
  • updateConnector_400_response -
  • update_connector_request_cases_webhook - Update Webhook - Case Managment connector request
  • update_connector_request_index - Update index connector request
  • @@ -1110,6 +1112,7 @@ Any modifications made to this file will be overwritten.
  • update_connector_request_slack_api - Update Slack connector request
  • update_connector_request_slack_webhook - Update Slack connector request
  • update_connector_request_swimlane - Update Swimlane connector request
  • +
  • update_connector_request_xmatters - Update xMatters connector request
  • @@ -1179,12 +1182,12 @@ Any modifications made to this file will be overwritten.

    Create_connector_request_body_properties - Create connector request body properties Up

    The properties vary depending on the connector type.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .xmatters.
    +
    secrets
    @@ -1335,9 +1338,9 @@ Any modifications made to this file will be overwritten.

    Update_connector_request_body_properties - Update connector request body properties Up

    The properties vary depending on the connector type.
    -
    config
    +
    config
    name
    String The display name for the connector.
    -
    secrets
    +
    secrets
    @@ -1484,11 +1487,19 @@ Any modifications made to this file will be overwritten.
    certificate
    full
    none
    +
    +

    config_properties_xmatters - Connector request properties for an xMatters connector Up

    +
    Defines properties for connectors when type is .xmatters.
    +
    +
    configUrl (optional)
    String The request URL for the Elastic Alerts trigger in xMatters. It is applicable only when usesBasic is true.
    +
    usesBasic (optional)
    Boolean Specifies whether the connector uses HTTP basic authentication (true) or URL authentication (false).
    +
    +

    connector_response_properties - Connector response properties Up

    The properties vary depending on the connector type.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    @@ -1773,7 +1784,7 @@ Any modifications made to this file will be overwritten.

    connector_response_properties_xmatters - Connector response properties for an xMatters connector Up

    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    @@ -2005,12 +2016,12 @@ Any modifications made to this file will be overwritten.

    create_connector_request_xmatters - Create xMatters connector request Up

    The xMatters connector uses the xMatters Workflow for Elastic to send actionable alerts to on-call xMatters resources.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .xmatters.
    +
    secrets
    @@ -2444,6 +2455,15 @@ Any modifications made to this file will be overwritten.
    user (optional)
    String The username for HTTP basic authentication. If hasAuth is set to true and authType is webhook-authentication-basic, this property is required.
    +
    +

    secrets_properties_xmatters - Connector secrets properties for an xMatters connector Up

    +
    Defines secrets for connectors when type is .xmatters.
    +
    +
    password (optional)
    String A user name for HTTP basic authentication. It is applicable only when usesBasic is true.
    +
    secretsUrl (optional)
    String The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. It is applicable only when usesBasic is false.
    +
    user (optional)
    String A password for HTTP basic authentication. It is applicable only when usesBasic is true.
    +
    +

    updateConnector_400_response - Up

    @@ -2556,5 +2576,14 @@ Any modifications made to this file will be overwritten.
    secrets
    +
    ++++ diff --git a/docs/management/connectors/action-types/xmatters.asciidoc b/docs/management/connectors/action-types/xmatters.asciidoc index 333b4a8b666bec..ebc230bf0b39b9 100644 --- a/docs/management/connectors/action-types/xmatters.asciidoc +++ b/docs/management/connectors/action-types/xmatters.asciidoc @@ -33,59 +33,12 @@ xMatters connectors have the following configuration properties: Name:: The name of the connector. Authentication Type:: The type of authentication used in the request made to xMatters. -URL:: The request URL for the Elastic Alerts trigger in xMatters. If you are using the <> setting, make sure the hostname is added to the allowed hosts. -Username:: Username for HTTP Basic Authentication. -Password:: Password for HTTP Basic Authentication. - -[float] -[[preconfigured-xmatters-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -Connector using Basic Authentication -[source,text] --- -xpack.actions.preconfigured: - my-xmatters: - name: preconfigured-xmatters-connector-type - actionTypeId: .xmatters - config: - configUrl: https://test.host - usesBasic: true - secrets: - user: testuser - password: passwordkeystorevalue --- - -Connector using URL Authentication -[source,text] --- -xpack.actions.preconfigured: - my-xmatters: - name: preconfigured-xmatters-connector-type - actionTypeId: .xmatters - config: - usesBasic: false - secrets: - secretsUrl: https://test.host?apiKey=1234-abcd --- - -Config defines information for the connector type: - -`configUrl`:: A URL string that corresponds to *URL*. Only used if `usesBasic` is true. - -`usesBasic`:: A boolean that corresponds to *Authentication Type*. If `true`, this connector will require values for `user` and `password` inside the secrets configuration. Defaults to `true`. - -Secrets defines sensitive information for the connector type: - -`user`:: A string that corresponds to *User*. Required if `usesBasic` is set to `true`. - -`password`:: A string that corresponds to *Password*. Should be stored in the <>. Required if `usesBasic` is set to `true`. - -`secretsUrl`:: A URL string that corresponds to *URL*. Only used if `usesBasic` is false, indicating the API key is included in the URL. +URL:: +The request URL for the Elastic Alerts trigger in xMatters. +If you are using URL authentication, include the API key in the URL. For example, `https://example.com?apiKey=1234-abcd`. +If you are using the <> setting, make sure the hostname is added to the allowed hosts. +Username:: Username for HTTP basic authentication. +Password:: Password for HTTP basic authentication. [float] [[xmatters-action-configuration]] @@ -100,7 +53,7 @@ image::management/connectors/images/xmatters-params-test.png[xMatters params tes xMatters rules have the following properties: -Severity:: Severity of the rule. +Severity:: Severity of the rule. Tags:: Comma-separated list of tags for the rule as provided by the user in Elastic. [float] diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index de7297d851a019..2a6020b932a41c 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -113,6 +113,7 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre * <> * <> * <> +* <> [float] [[preconfigured-index-configuration]] @@ -292,3 +293,43 @@ xpack.actions.preconfigured: <14> A stringified JSON payload with Mustache variables that is sent to the create comment URL to create a case comment. <15> A user name, which is required when `hasAuth` is `true`. <16> A password, which is required when `hasAuth` is `true`. + +[float] +[[preconfigured-xmatters-configuration]] +==== xMatters connectors + +The following example creates an <> with basic authentication: + +[source,text] +-- +xpack.actions.preconfigured: +my-xmatters: + name: preconfigured-xmatters-connector-type + actionTypeId: .xmatters + config: + configUrl: https://test.host <1> + usesBasic: true <2> + secrets: + user: testuser <3> + password: passwordkeystorevalue <4> +-- +<1> The request URL for the Elastic Alerts trigger in xMatters. +<2> Indicates whether the connector uses HTTP basic authentication. If `true`, you must provide `user` and `password` values. Defaults to `true`. +<3> A user name for authentication, which is required when `usesBasic` is `true`. +<4> A password for authentication, which is required when `usesBasic` is `true`. NOTE: This value should be stored in the <>. + +The following example creates an xMatters connector with URL authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-xmatters: + name: preconfigured-xmatters-connector-type + actionTypeId: .xmatters + config: + usesBasic: false <1> + secrets: + secretsUrl: https://test.host?apiKey=1234-abcd <2> +-- +<1> Indicates whether the connector uses HTTP basic authentication. Set to `false` to use URL authentication. Defaults to `true`. +<2> The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 606373ffd7be52..fb07862d107ef6 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -269,6 +269,9 @@ A configuration URL that varies by connector: NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. -- +`xpack.actions.preconfigured..config.configUrl`:: +For an <> with basic authentication, specifies the request URL for the Elastic Alerts trigger in xMatters. + `xpack.actions.preconfigured..config.createCommentJson`:: For a <>, specifies a stringified JSON payload with Mustache variables that is sent to the create comment URL to create a case comment. The required variable is `case.description`. + @@ -336,6 +339,9 @@ For a <>, specifies the REST A + NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. +`xpack.actions.preconfigured..config.usesBasic`:: +For an <>, specifies whether it uses HTTP basic authentication. Defaults to `true`. + `xpack.actions.preconfigured..config.viewIncidentUrl`:: For a <>, specifies a URL string with either the external service ID or external service title Mustache variable to view a case in the external system. @@ -365,16 +371,24 @@ A password secret that varies by connector: + -- * For a <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <>, specifies a password that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- `xpack.actions.preconfigured..secrets.routingKey`:: For a <>, specifies the 32 character PagerDuty Integration Key for an integration on a service, also referred to as the routing key. +`xpack.actions.preconfigured..secrets.secretsUrl`:: +For an <> with URL authentication, specifies the request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. +It is used only when `xpack.actions.preconfigured..config.usesBasic` is `false`. ++ +NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure this hostname is added to the allowed hosts. + `xpack.actions.preconfigured..secrets.user`:: A user name secret that varies by connector: + -- * For a <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <>, specifies a user name that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- [float] diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index d6ca91579738dd..5f44f75f84d3ad 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -125,6 +125,9 @@ }, "createWebhookConnectorRequest": { "$ref": "#/components/examples/create_webhook_connector_request" + }, + "createXmattersConnectorRequest": { + "$ref": "#/components/examples/create_xmatters_connector_request" } } } @@ -144,6 +147,9 @@ }, "createWebhookConnectorResponse": { "$ref": "#/components/examples/create_webhook_connector_response" + }, + "createXmattersConnectorResponse": { + "$ref": "#/components/examples/create_xmatters_connector_response" } } } @@ -477,6 +483,9 @@ }, { "$ref": "#/components/schemas/update_connector_request_swimlane" + }, + { + "$ref": "#/components/schemas/update_connector_request_xmatters" } ] }, @@ -2743,16 +2752,40 @@ } }, "config_properties_xmatters": { - "title": "Connector request properties for a xMatters connector", + "title": "Connector request properties for an xMatters connector", "description": "Defines properties for connectors when type is `.xmatters`.", "type": "object", - "additionalProperties": true + "properties": { + "configUrl": { + "description": "The request URL for the Elastic Alerts trigger in xMatters. It is applicable only when `usesBasic` is `true`.\n", + "type": "string", + "nullable": true + }, + "usesBasic": { + "description": "Specifies whether the connector uses HTTP basic authentication (`true`) or URL authentication (`false`).", + "type": "boolean", + "default": true + } + } }, "secrets_properties_xmatters": { "title": "Connector secrets properties for an xMatters connector", "description": "Defines secrets for connectors when type is `.xmatters`.", "type": "object", - "additionalProperties": true + "properties": { + "password": { + "description": "A user name for HTTP basic authentication. It is applicable only when `usesBasic` is `true`.\n", + "type": "string" + }, + "secretsUrl": { + "description": "The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. It is applicable only when `usesBasic` is `false`.\n", + "type": "string" + }, + "user": { + "description": "A password for HTTP basic authentication. It is applicable only when `usesBasic` is `true`.\n", + "type": "string" + } + } }, "create_connector_request_xmatters": { "title": "Create xMatters connector request", @@ -3883,6 +3916,27 @@ } } }, + "update_connector_request_xmatters": { + "title": "Update xMatters connector request", + "type": "object", + "required": [ + "config", + "name", + "secrets" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_xmatters" + }, + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_xmatters" + } + } + }, "connector_types": { "title": "Connector types", "type": "string", @@ -4662,6 +4716,19 @@ } } }, + "create_xmatters_connector_request": { + "summary": "Create an xMatters connector with URL authentication.", + "value": { + "name": "my-xmatters-connector", + "connector_type_id": ".xmatters", + "config": { + "usesBasic": false + }, + "secrets": { + "secretsUrl": "https://example.com?apiKey=xxxxx" + } + } + }, "create_index_connector_response": { "summary": "A new index connector.", "value": { @@ -4700,6 +4767,22 @@ "is_system_action": false } }, + "create_xmatters_connector_response": { + "summary": "A new xMatters connector.", + "value": { + "id": "4d2d8da0-4d1f-11ee-9367-577408be4681", + "name": "my-xmatters-connector", + "config": { + "usesBasic": false, + "configUrl": null + }, + "connector_type_id": ".xmatters", + "is_preconfigured": false, + "is_deprecated": false, + "is_missing_secrets": false, + "is_system_action": false + } + }, "get_connector_response": { "summary": "A list of connector types", "value": { diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index 611ec6c72309ac..0a5cc5d053d5a7 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -63,6 +63,8 @@ paths: $ref: '#/components/examples/create_index_connector_request' createWebhookConnectorRequest: $ref: '#/components/examples/create_webhook_connector_request' + createXmattersConnectorRequest: + $ref: '#/components/examples/create_xmatters_connector_request' responses: '200': description: Indicates a successful call. @@ -75,6 +77,8 @@ paths: $ref: '#/components/examples/create_index_connector_response' createWebhookConnectorResponse: $ref: '#/components/examples/create_webhook_connector_response' + createXmattersConnectorResponse: + $ref: '#/components/examples/create_xmatters_connector_response' '401': $ref: '#/components/responses/401' servers: @@ -250,6 +254,7 @@ paths: - $ref: '#/components/schemas/update_connector_request_slack_api' - $ref: '#/components/schemas/update_connector_request_slack_webhook' - $ref: '#/components/schemas/update_connector_request_swimlane' + - $ref: '#/components/schemas/update_connector_request_xmatters' examples: updateIndexConnectorRequest: $ref: '#/components/examples/update_index_connector_request' @@ -1866,15 +1871,36 @@ components: secrets: $ref: '#/components/schemas/secrets_properties_webhook' config_properties_xmatters: - title: Connector request properties for a xMatters connector + title: Connector request properties for an xMatters connector description: Defines properties for connectors when type is `.xmatters`. type: object - additionalProperties: true + properties: + configUrl: + description: | + The request URL for the Elastic Alerts trigger in xMatters. It is applicable only when `usesBasic` is `true`. + type: string + nullable: true + usesBasic: + description: Specifies whether the connector uses HTTP basic authentication (`true`) or URL authentication (`false`). + type: boolean + default: true secrets_properties_xmatters: title: Connector secrets properties for an xMatters connector description: Defines secrets for connectors when type is `.xmatters`. type: object - additionalProperties: true + properties: + password: + description: | + A user name for HTTP basic authentication. It is applicable only when `usesBasic` is `true`. + type: string + secretsUrl: + description: | + The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. It is applicable only when `usesBasic` is `false`. + type: string + user: + description: | + A password for HTTP basic authentication. It is applicable only when `usesBasic` is `true`. + type: string create_connector_request_xmatters: title: Create xMatters connector request description: | @@ -2674,6 +2700,21 @@ components: example: my-connector secrets: $ref: '#/components/schemas/secrets_properties_swimlane' + update_connector_request_xmatters: + title: Update xMatters connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/config_properties_xmatters' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_xmatters' connector_types: title: Connector types type: string @@ -3240,6 +3281,15 @@ components: crt: QmFnIEF0dH... key: LS0tLS1CRUdJ... password: my-passphrase + create_xmatters_connector_request: + summary: Create an xMatters connector with URL authentication. + value: + name: my-xmatters-connector + connector_type_id: .xmatters + config: + usesBasic: false + secrets: + secretsUrl: https://example.com?apiKey=xxxxx create_index_connector_response: summary: A new index connector. value: @@ -3272,6 +3322,19 @@ components: is_deprecated: false is_missing_secrets: false is_system_action: false + create_xmatters_connector_response: + summary: A new xMatters connector. + value: + id: 4d2d8da0-4d1f-11ee-9367-577408be4681 + name: my-xmatters-connector + config: + usesBasic: false + configUrl: null + connector_type_id: .xmatters + is_preconfigured: false + is_deprecated: false + is_missing_secrets: false + is_system_action: false get_connector_response: summary: A list of connector types value: diff --git a/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml new file mode 100644 index 00000000000000..818e8695bb1bb2 --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml @@ -0,0 +1,8 @@ +summary: Create an xMatters connector with URL authentication. +value: + name: my-xmatters-connector + connector_type_id: .xmatters + config: + usesBasic: false + secrets: + secretsUrl: https://example.com?apiKey=xxxxx \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml new file mode 100644 index 00000000000000..c681cf31b9c47b --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml @@ -0,0 +1,12 @@ +summary: A new xMatters connector. +value: + id: 4d2d8da0-4d1f-11ee-9367-577408be4681 + name: my-xmatters-connector + config: + usesBasic: false + configUrl: null + connector_type_id: .xmatters + is_preconfigured: false + is_deprecated: false + is_missing_secrets: false + is_system_action: false \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml index 6625eb09b4d35d..350e96f3aa63d0 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml @@ -1,5 +1,15 @@ -title: Connector request properties for a xMatters connector +title: Connector request properties for an xMatters connector description: Defines properties for connectors when type is `.xmatters`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +properties: + configUrl: + description: > + The request URL for the Elastic Alerts trigger in xMatters. + It is applicable only when `usesBasic` is `true`. + type: string + nullable: true + usesBasic: + description: Specifies whether the connector uses HTTP basic authentication (`true`) or URL authentication (`false`). + type: boolean + default: true + \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml index 67071884663dd2..0d9622a3bbd3f9 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml @@ -1,5 +1,19 @@ title: Connector secrets properties for an xMatters connector description: Defines secrets for connectors when type is `.xmatters`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +properties: + password: + description: > + A user name for HTTP basic authentication. + It is applicable only when `usesBasic` is `true`. + type: string + secretsUrl: + description: > + The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. + It is applicable only when `usesBasic` is `false`. + type: string + user: + description: > + A password for HTTP basic authentication. + It is applicable only when `usesBasic` is `true`. + type: string diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml index d8d8735db82d88..33786a0871c547 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml @@ -42,6 +42,8 @@ post: $ref: '../components/examples/create_index_connector_request.yaml' createWebhookConnectorRequest: $ref: '../components/examples/create_webhook_connector_request.yaml' + createXmattersConnectorRequest: + $ref: '../components/examples/create_xmatters_connector_request.yaml' responses: '200': description: Indicates a successful call. @@ -54,6 +56,8 @@ post: $ref: '../components/examples/create_index_connector_response.yaml' createWebhookConnectorResponse: $ref: '../components/examples/create_webhook_connector_response.yaml' + createXmattersConnectorResponse: + $ref: '../components/examples/create_xmatters_connector_response.yaml' '401': $ref: '../components/responses/401.yaml' servers: diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml index f0158d9c2a5cd4..9129c007947d35 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml @@ -175,7 +175,7 @@ put: # - $ref: '../components/schemas/update_connector_request_teams.yaml' # - $ref: '../components/schemas/update_connector_request_tines.yaml' # - $ref: '../components/schemas/update_connector_request_webhook.yaml' -# - $ref: '../components/schemas/update_connector_request_xmatters.yaml' + - $ref: '../components/schemas/update_connector_request_xmatters.yaml' examples: updateIndexConnectorRequest: $ref: '../components/examples/update_index_connector_request.yaml' From f165e38845d14df56b12f09a897759e0dbad2c18 Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Mon, 11 Sep 2023 18:47:22 -0400 Subject: [PATCH 17/39] [serverless] Advanced Settings - Field Row components (#165286) --- .github/CODEOWNERS | 5 + package.json | 5 + .../components/field_input/README.mdx | 12 + .../__stories__/array_input.stories.tsx | 12 + .../__stories__/boolean_input.stories.tsx | 12 + .../__stories__/color_input.stories.tsx | 12 + .../field_input/__stories__/common.tsx | 120 +++++ .../__stories__/image_input.stories.tsx | 12 + .../__stories__/json_input.stories.tsx | 12 + .../__stories__/markdown_input.stories.tsx | 12 + .../__stories__/number_input.stories.tsx | 12 + .../__stories__/select_input.stories.tsx | 27 + .../__stories__/text_input.stories.tsx | 12 + .../components/field_input/code_editor.tsx | 108 ++++ .../field_input/field_input.test.tsx | 201 ++++++++ .../components/field_input/field_input.tsx | 250 +++++++++ .../settings/components/field_input/index.ts | 16 + .../field_input/input/array_input.test.tsx | 74 +++ .../field_input/input/array_input.tsx | 62 +++ .../field_input/input/boolean_input.test.tsx | 57 +++ .../field_input/input/boolean_input.tsx | 53 ++ .../field_input/input/code_editor_input.tsx | 103 ++++ .../input/color_picker_input.test.tsx | 50 ++ .../field_input/input/color_picker_input.tsx | 57 +++ .../field_input/input/image_input.test.tsx | 55 ++ .../field_input/input/image_input.tsx | 108 ++++ .../components/field_input/input/index.ts | 18 + .../input/json_editor_input.test.tsx | 118 +++++ .../input/markdown_editor_input.test.tsx | 62 +++ .../field_input/input/number_input.test.tsx | 56 ++ .../field_input/input/number_input.tsx | 51 ++ .../field_input/input/select_input.test.tsx | 90 ++++ .../field_input/input/select_input.tsx | 71 +++ .../field_input/input/text_input.test.tsx | 50 ++ .../field_input/input/text_input.tsx | 46 ++ .../components/field_input/kibana.jsonc | 5 + .../field_input/mocks/context.mock.tsx | 55 ++ .../components/field_input/mocks/index.ts | 12 + .../components/field_input/package.json | 6 + .../components/field_input/services.tsx | 58 +++ .../components/field_input/setup_tests.ts | 10 + .../components/field_input/tsconfig.json | 32 ++ .../settings/components/field_input/types.ts | 64 +++ .../settings/components/field_row/README.mdx | 37 ++ .../__stories__/array_field.stories.tsx | 12 + .../__stories__/boolean_field.stories.tsx | 12 + .../color_picker_field.stories.tsx | 12 + .../field_row/__stories__/common.tsx | 150 ++++++ .../__stories__/image_field.stories.tsx | 12 + .../__stories__/json_field.stories.tsx | 12 + .../__stories__/markdown_field.stories.tsx | 12 + .../__stories__/number_field.stories.tsx | 12 + .../__stories__/select_field.stories.tsx | 27 + .../__stories__/text_field.stories.tsx | 12 + .../components/field_row/assets/form_row.png | Bin 0 -> 651841 bytes .../components/field_row/assets/page.png | Bin 0 -> 244949 bytes .../description/default_value.test.tsx | 84 +++ .../field_row/description/default_value.tsx | 65 +++ .../description/deprecation.test.tsx | 58 +++ .../field_row/description/deprecation.tsx | 66 +++ .../description/description.test.tsx | 43 ++ .../field_row/description/description.tsx | 81 +++ .../components/field_row/description/index.ts | 9 + .../components/field_row/field_row.styles.ts | 56 ++ .../components/field_row/field_row.test.tsx | 481 ++++++++++++++++++ .../components/field_row/field_row.tsx | 160 ++++++ .../settings/components/field_row/index.ts | 9 + .../input_footer/change_image_link.test.tsx | 81 +++ .../input_footer/change_image_link.tsx | 86 ++++ .../field_row/input_footer/index.ts | 9 + .../field_row/input_footer/input_footer.tsx | 66 +++ .../input_footer/overridden_message.test.tsx | 34 ++ .../input_footer/overridden_message.tsx | 42 ++ .../input_footer/reset_link.test.tsx | 54 ++ .../field_row/input_footer/reset_link.tsx | 64 +++ .../components/field_row/kibana.jsonc | 5 + .../components/field_row/mocks/context.tsx | 54 ++ .../components/field_row/mocks/index.ts | 9 + .../components/field_row/package.json | 6 + .../components/field_row/services.tsx | 66 +++ .../components/field_row/setup_tests.ts | 10 + .../field_row/title/icon_custom.tsx | 48 ++ .../field_row/title/icon_unsaved.tsx | 58 +++ .../components/field_row/title/index.ts | 9 + .../components/field_row/title/title.tsx | 61 +++ .../components/field_row/tsconfig.json | 33 ++ .../settings/components/field_row/types.ts | 52 ++ .../settings/field_definition/README.mdx | 14 + .../field_definition/get_definition.ts | 151 ++++++ .../settings/field_definition/index.ts | 32 ++ .../field_definition/is/field_definition.ts | 114 +++++ .../settings/field_definition/is/index.ts | 33 ++ .../field_definition/is/unsaved_change.ts | 115 +++++ .../settings/field_definition/kibana.jsonc | 5 + .../settings/field_definition/package.json | 6 + .../storybook/field_definition.ts | 100 ++++ .../field_definition/storybook/index.ts | 10 + .../field_definition/storybook/values.ts | 88 ++++ .../settings/field_definition/tsconfig.json | 19 + .../{section_registry => }/jest.config.js | 12 +- .../kbn-management/settings/types/README.mdx | 12 + .../settings/types/field_definition.ts | 155 ++++++ .../kbn-management/settings/types/index.ts | 61 +++ .../settings/types/kibana.jsonc | 5 + .../kbn-management/settings/types/metadata.ts | 114 +++++ .../settings/types/package.json | 6 + .../settings/types/setting_type.ts | 72 +++ .../settings/types/tsconfig.json | 18 + .../settings/types/unsaved_change.ts | 127 +++++ .../settings/utilities/README.mdx | 12 + .../settings/utilities/get_input_value.ts | 46 ++ .../settings/utilities/has_unsaved_change.ts | 35 ++ .../settings/utilities/index.ts | 11 + .../settings/utilities/is_unsaved_value.ts | 27 + .../settings/utilities/kibana.jsonc | 5 + .../settings/utilities/package.json | 6 + .../settings/utilities/tsconfig.json | 21 + .../storybook/config/tsconfig.json | 5 +- packages/kbn-storybook/templates/index.ejs | 2 +- tsconfig.base.json | 10 + yarn.lock | 20 + 121 files changed, 5992 insertions(+), 9 deletions(-) create mode 100644 packages/kbn-management/settings/components/field_input/README.mdx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/common.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_input/code_editor.tsx create mode 100644 packages/kbn-management/settings/components/field_input/field_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/field_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/index.ts create mode 100644 packages/kbn-management/settings/components/field_input/input/array_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/array_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/boolean_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/image_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/image_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/index.ts create mode 100644 packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/number_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/number_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/select_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/select_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/text_input.test.tsx create mode 100644 packages/kbn-management/settings/components/field_input/input/text_input.tsx create mode 100644 packages/kbn-management/settings/components/field_input/kibana.jsonc create mode 100644 packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx create mode 100644 packages/kbn-management/settings/components/field_input/mocks/index.ts create mode 100644 packages/kbn-management/settings/components/field_input/package.json create mode 100644 packages/kbn-management/settings/components/field_input/services.tsx create mode 100644 packages/kbn-management/settings/components/field_input/setup_tests.ts create mode 100644 packages/kbn-management/settings/components/field_input/tsconfig.json create mode 100644 packages/kbn-management/settings/components/field_input/types.ts create mode 100644 packages/kbn-management/settings/components/field_row/README.mdx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/common.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx create mode 100644 packages/kbn-management/settings/components/field_row/assets/form_row.png create mode 100644 packages/kbn-management/settings/components/field_row/assets/page.png create mode 100644 packages/kbn-management/settings/components/field_row/description/default_value.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/description/default_value.tsx create mode 100644 packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/description/deprecation.tsx create mode 100644 packages/kbn-management/settings/components/field_row/description/description.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/description/description.tsx create mode 100644 packages/kbn-management/settings/components/field_row/description/index.ts create mode 100644 packages/kbn-management/settings/components/field_row/field_row.styles.ts create mode 100644 packages/kbn-management/settings/components/field_row/field_row.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/field_row.tsx create mode 100644 packages/kbn-management/settings/components/field_row/index.ts create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/index.ts create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx create mode 100644 packages/kbn-management/settings/components/field_row/kibana.jsonc create mode 100644 packages/kbn-management/settings/components/field_row/mocks/context.tsx create mode 100644 packages/kbn-management/settings/components/field_row/mocks/index.ts create mode 100644 packages/kbn-management/settings/components/field_row/package.json create mode 100644 packages/kbn-management/settings/components/field_row/services.tsx create mode 100644 packages/kbn-management/settings/components/field_row/setup_tests.ts create mode 100644 packages/kbn-management/settings/components/field_row/title/icon_custom.tsx create mode 100644 packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx create mode 100644 packages/kbn-management/settings/components/field_row/title/index.ts create mode 100644 packages/kbn-management/settings/components/field_row/title/title.tsx create mode 100644 packages/kbn-management/settings/components/field_row/tsconfig.json create mode 100644 packages/kbn-management/settings/components/field_row/types.ts create mode 100644 packages/kbn-management/settings/field_definition/README.mdx create mode 100644 packages/kbn-management/settings/field_definition/get_definition.ts create mode 100644 packages/kbn-management/settings/field_definition/index.ts create mode 100644 packages/kbn-management/settings/field_definition/is/field_definition.ts create mode 100644 packages/kbn-management/settings/field_definition/is/index.ts create mode 100644 packages/kbn-management/settings/field_definition/is/unsaved_change.ts create mode 100644 packages/kbn-management/settings/field_definition/kibana.jsonc create mode 100644 packages/kbn-management/settings/field_definition/package.json create mode 100644 packages/kbn-management/settings/field_definition/storybook/field_definition.ts create mode 100644 packages/kbn-management/settings/field_definition/storybook/index.ts create mode 100644 packages/kbn-management/settings/field_definition/storybook/values.ts create mode 100644 packages/kbn-management/settings/field_definition/tsconfig.json rename packages/kbn-management/settings/{section_registry => }/jest.config.js (55%) create mode 100644 packages/kbn-management/settings/types/README.mdx create mode 100644 packages/kbn-management/settings/types/field_definition.ts create mode 100644 packages/kbn-management/settings/types/index.ts create mode 100644 packages/kbn-management/settings/types/kibana.jsonc create mode 100644 packages/kbn-management/settings/types/metadata.ts create mode 100644 packages/kbn-management/settings/types/package.json create mode 100644 packages/kbn-management/settings/types/setting_type.ts create mode 100644 packages/kbn-management/settings/types/tsconfig.json create mode 100644 packages/kbn-management/settings/types/unsaved_change.ts create mode 100644 packages/kbn-management/settings/utilities/README.mdx create mode 100644 packages/kbn-management/settings/utilities/get_input_value.ts create mode 100644 packages/kbn-management/settings/utilities/has_unsaved_change.ts create mode 100644 packages/kbn-management/settings/utilities/index.ts create mode 100644 packages/kbn-management/settings/utilities/is_unsaved_value.ts create mode 100644 packages/kbn-management/settings/utilities/kibana.jsonc create mode 100644 packages/kbn-management/settings/utilities/package.json create mode 100644 packages/kbn-management/settings/utilities/tsconfig.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a53f01d6082cce..859d976720aac0 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -480,8 +480,13 @@ packages/kbn-managed-vscode-config @elastic/kibana-operations packages/kbn-managed-vscode-config-cli @elastic/kibana-operations packages/kbn-management/cards_navigation @elastic/platform-deployment-management src/plugins/management @elastic/platform-deployment-management +packages/kbn-management/settings/components/field_input @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/components/field_row @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/field_definition @elastic/platform-deployment-management @elastic/appex-sharedux packages/kbn-management/settings/setting_ids @elastic/appex-sharedux @elastic/platform-deployment-management packages/kbn-management/settings/section_registry @elastic/appex-sharedux @elastic/platform-deployment-management +packages/kbn-management/settings/types @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/utilities @elastic/platform-deployment-management @elastic/appex-sharedux packages/kbn-management/storybook/config @elastic/platform-deployment-management test/plugin_functional/plugins/management_test_plugin @elastic/kibana-app-services packages/kbn-mapbox-gl @elastic/kibana-gis diff --git a/package.json b/package.json index b02c4b9f83623b..e365e7f5e8b92f 100644 --- a/package.json +++ b/package.json @@ -500,8 +500,13 @@ "@kbn/logstash-plugin": "link:x-pack/plugins/logstash", "@kbn/management-cards-navigation": "link:packages/kbn-management/cards_navigation", "@kbn/management-plugin": "link:src/plugins/management", + "@kbn/management-settings-components-field-input": "link:packages/kbn-management/settings/components/field_input", + "@kbn/management-settings-components-field-row": "link:packages/kbn-management/settings/components/field_row", + "@kbn/management-settings-field-definition": "link:packages/kbn-management/settings/field_definition", "@kbn/management-settings-ids": "link:packages/kbn-management/settings/setting_ids", "@kbn/management-settings-section-registry": "link:packages/kbn-management/settings/section_registry", + "@kbn/management-settings-types": "link:packages/kbn-management/settings/types", + "@kbn/management-settings-utilities": "link:packages/kbn-management/settings/utilities", "@kbn/management-test-plugin": "link:test/plugin_functional/plugins/management_test_plugin", "@kbn/mapbox-gl": "link:packages/kbn-mapbox-gl", "@kbn/maps-custom-raster-source-plugin": "link:x-pack/examples/third_party_maps_source_example", diff --git a/packages/kbn-management/settings/components/field_input/README.mdx b/packages/kbn-management/settings/components/field_input/README.mdx new file mode 100644 index 00000000000000..8deb8f1981c76e --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/README.mdx @@ -0,0 +1,12 @@ +--- +id: management/settings/components/fieldInput +slug: /management/settings/components/field-input +title: Management Settings Field Input Component +description: A package containing a component for rendering and manipulating the raw value of a UiSetting in Field Row. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains a component for rendering and manipulating the raw value of a UiSetting. It's used primarily by the `FieldRow` component to drive unsaved or reset changes. \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx new file mode 100644 index 00000000000000..cd1198343aa145 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Array Input', 'An input with an array value.'); +export const ArrayInput = getInputStory('array' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx new file mode 100644 index 00000000000000..ace55571e5793c --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Boolean Input', 'An input with a boolean value.'); +export const BooleanInput = getInputStory('boolean' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx new file mode 100644 index 00000000000000..ba32182db8a3d2 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Color Input', 'An input with a color value.'); +export const ColorInput = getInputStory('color' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/common.tsx b/packages/kbn-management/settings/components/field_input/__stories__/common.tsx new file mode 100644 index 00000000000000..c3e167323d59fb --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/common.tsx @@ -0,0 +1,120 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import type { ComponentMeta } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { EuiPanel } from '@elastic/eui'; +import { UiSettingsType } from '@kbn/core-ui-settings-common'; +import { SettingType, UiSettingMetadata } from '@kbn/management-settings-types'; +import { + useFieldDefinition, + getDefaultValue, +} from '@kbn/management-settings-field-definition/storybook'; + +import { FieldInputProvider } from '../services'; +import { FieldInput as Component, FieldInput } from '../field_input'; +import { InputProps, OnChangeFn } from '../types'; + +/** + * Props for a {@link FieldInput} Storybook story. + */ +export type StoryProps = Pick, 'value' | 'isDisabled'>; + +/** + * Interface defining available {@link https://storybook.js.org/docs/react/writing-stories/parameters parameters} + * for a {@link FieldInput} Storybook story. + */ +interface Params { + argTypes?: Record; + settingFields?: Partial>; +} + +/** + * Interface defining types for available {@link https://storybook.js.org/docs/react/writing-stories/args arguments} + * for a {@link FieldInput} Storybook story. + */ +export interface Args { + /** True if the field is disabled, false otherwise. */ + isDisabled: boolean; +} + +/** + * Default argument values for a {@link FieldInput} Storybook story. + */ +export const storyArgs = { + /** True if the field is disabled, false otherwise. */ + isDisabled: false, +}; + +/** + * Utility function for returning a {@link FieldInput} Storybook story + * definition. + * @param title The title displayed in the Storybook UI. + * @param description The description of the story. + * @returns A Storybook Story. + */ +export const getStory = (title: string, description: string) => + ({ + title: `Settings/Field Input/${title}`, + description, + argTypes: { + isDisabled: { + name: 'Is field disabled?', + }, + value: { + name: 'Current saved value', + }, + }, + decorators: [ + (Story) => ( + + + + + + ), + ], + } as ComponentMeta); + +/** + * Utility function for returning a {@link FieldInput} Storybook story. + * @param type The type of the UiSetting for this {@link FieldRow}. + * @param params Additional, optional {@link https://storybook.js.org/docs/react/writing-stories/parameters parameters}. + * @returns A Storybook Story. + */ +export const getInputStory = (type: SettingType, params: Params = {}) => { + const Story = ({ value, isDisabled = false }: StoryProps) => { + const setting: UiSettingMetadata = { + type, + value, + userValue: value, + ...params.settingFields, + }; + + const [field, unsavedChange, onChangeFn] = useFieldDefinition(setting); + + const onChange: OnChangeFn = (newChange) => { + onChangeFn(newChange); + }; + return ( + + ); + }; + + Story.args = { + value: getDefaultValue(type), + ...params.argTypes, + ...storyArgs, + }; + + return Story; +}; diff --git a/packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx new file mode 100644 index 00000000000000..28a87465c680a7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Image Input', 'An input with an image value.'); +export const ImageInput = getInputStory('image' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx new file mode 100644 index 00000000000000..f00fca4e5e9a55 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('JSON Input', 'An input with a JSON value.'); +export const JSONInput = getInputStory('json' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx new file mode 100644 index 00000000000000..ef0f9d358462fa --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Markdown Input', 'An input with a markdown value.'); +export const MarkdownInput = getInputStory('markdown' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx new file mode 100644 index 00000000000000..1d6aaa8952a3fe --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Number Input', 'An input with a number value.'); +export const NumberInput = getInputStory('number' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx new file mode 100644 index 00000000000000..c7571494e7ca8f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx @@ -0,0 +1,27 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +const argTypes = { + value: { + name: 'Current saved value', + control: { + type: 'select', + options: ['option1', 'option2', 'option3'], + }, + }, +}; + +const settingFields = { + optionLabels: { option1: 'Option 1', option2: 'Option 2', option3: 'Option 3' }, + options: ['option1', 'option2', 'option3'], +}; + +export default getStory('Select Input', 'An input with multiple values.'); +export const SelectInput = getInputStory('select' as const, { argTypes, settingFields }); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx new file mode 100644 index 00000000000000..39de404bde4047 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('String Input', 'An input with a string value.'); +export const StringInput = getInputStory('string' as const); diff --git a/packages/kbn-management/settings/components/field_input/code_editor.tsx b/packages/kbn-management/settings/components/field_input/code_editor.tsx new file mode 100644 index 00000000000000..3f46778917fdde --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/code_editor.tsx @@ -0,0 +1,108 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// This component was ported directly from `advancedSettings`, and hasn't really +// been vetted. It has, however, been refactored to be compliant with our +// current standards. +// +// @see src/plugins/advanced_settings/public/management_app/components/field/field_code_editor.tsx +// + +import React, { useCallback } from 'react'; +import { monaco, XJsonLang } from '@kbn/monaco'; +import { + CodeEditor as KibanaReactCodeEditor, + MarkdownLang, + type CodeEditorProps as KibanaReactCodeEditorProps, +} from '@kbn/kibana-react-plugin/public'; + +type Props = Pick; +type Options = KibanaReactCodeEditorProps['options']; + +export interface CodeEditorProps extends Props { + type: 'markdown' | 'json'; + isReadOnly: boolean; + name: string; +} + +const MIN_DEFAULT_LINES_COUNT = 6; +const MAX_DEFAULT_LINES_COUNT = 30; + +export const CodeEditor = ({ onChange, type, isReadOnly, name, ...props }: CodeEditorProps) => { + // setting editor height based on lines height and count to stretch and fit its content + const setEditorCalculatedHeight = useCallback( + (editor: monaco.editor.IStandaloneCodeEditor) => { + const editorElement = editor.getDomNode(); + + if (!editorElement) { + return; + } + + const lineHeight = editor.getOption(monaco.editor.EditorOption.lineHeight); + let lineCount = editor.getModel()?.getLineCount() || MIN_DEFAULT_LINES_COUNT; + if (lineCount < MIN_DEFAULT_LINES_COUNT) { + lineCount = MIN_DEFAULT_LINES_COUNT; + } else if (lineCount > MAX_DEFAULT_LINES_COUNT) { + lineCount = MAX_DEFAULT_LINES_COUNT; + } + const height = lineHeight * lineCount; + + editorElement.id = name; + editorElement.style.height = `${height}px`; + editor.layout(); + }, + [name] + ); + + const trimEditorBlankLines = useCallback((editor: monaco.editor.IStandaloneCodeEditor) => { + const editorModel = editor.getModel(); + + if (!editorModel) { + return; + } + const trimmedValue = editorModel.getValue().trim(); + editorModel.setValue(trimmedValue); + }, []); + + const editorDidMount = useCallback( + (editor) => { + setEditorCalculatedHeight(editor); + + editor.onDidChangeModelContent(() => { + setEditorCalculatedHeight(editor); + }); + + editor.onDidBlurEditorWidget(() => { + trimEditorBlankLines(editor); + }); + }, + [setEditorCalculatedHeight, trimEditorBlankLines] + ); + + const options: Options = { + readOnly: isReadOnly, + lineNumbers: 'off', + scrollBeyondLastLine: false, + automaticLayout: true, + folding: false, + tabSize: 2, + scrollbar: { + alwaysConsumeMouseWheel: false, + }, + wordWrap: 'on', + wrappingIndent: 'indent', + }; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/field_input.test.tsx b/packages/kbn-management/settings/components/field_input/field_input.test.tsx new file mode 100644 index 00000000000000..9bbac96b7c12cd --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/field_input.test.tsx @@ -0,0 +1,201 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; +import { FieldInput, FieldInputProps } from './field_input'; +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { TEST_SUBJ_PREFIX_FIELD } from './input'; +import { wrap } from './mocks'; +import { CodeEditorProps } from './code_editor'; + +const name = 'test'; + +jest.mock('./code_editor', () => ({ + CodeEditor: ({ value, onChange }: CodeEditorProps) => ( + { + if (onChange) { + onChange(e.target.value, e as any); + } + }} + /> + ), +})); + +describe('FieldInput', () => { + const getDefaultProps = (type: SettingType): FieldInputProps => { + let options; + if (type === 'select') { + options = { + labels: { + option1: 'Option 1', + option2: 'Option 2', + option3: 'Option 3', + }, + values: ['option1', 'option2', 'option3'], + }; + } + + const props: FieldInputProps = { + field: { + id: 'test', + name, + type, + ariaAttributes: { + ariaLabel: 'Test', + }, + options, + } as FieldDefinition, + onChange: jest.fn(), + }; + + return props; + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders a TextInput for a string field', () => { + const props = getDefaultProps('string'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a NumberInput for a number field', () => { + const props = getDefaultProps('number'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a BooleanInput for a boolean field', () => { + const props = getDefaultProps('boolean'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a ColorInput for a color field', () => { + const props = getDefaultProps('color'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a ImageInput for a color field', () => { + const props = getDefaultProps('image'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a JsonInput for a json field', () => { + const props = getDefaultProps('json'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a MarkdownInput for a markdown field', () => { + const props = getDefaultProps('markdown'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a SelectInput for an select field', () => { + const props = { + ...getDefaultProps('select'), + value: 'option2', + }; + + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('calls the onChange prop when the value changes', () => { + const props = getDefaultProps('string'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + fireEvent.change(input, { target: { value: 'new value' } }); + expect(props.onChange).toHaveBeenCalledWith({ value: 'new value' }); + }); + + it('disables the input when isDisabled prop is true', () => { + const props = getDefaultProps('string'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeDisabled(); + }); + + it('throws an error if the field and unsavedChange types do not match', () => { + const consoleMock = jest.spyOn(console, 'error').mockImplementation(() => {}); + + [ + 'array', + 'boolean', + 'color', + 'image', + 'json', + 'markdown', + 'string', + 'select', + 'undefined', + ].forEach((type) => { + expect(() => + render( + wrap( + } + /> + ) + ) + ).toThrowError(`Unsaved change for ${type} mismatch: number`); + }); + + expect(() => + render( + wrap( + } + /> + ) + ) + ).toThrowError(`Unsaved change for number mismatch: string`); + + consoleMock.mockRestore(); + }); + + it('throws an error if type is unknown or incompatible', () => { + const consoleMock = jest.spyOn(console, 'error').mockImplementation(() => {}); + const defaultProps = getDefaultProps('string'); + const props = { + ...defaultProps, + field: { + ...defaultProps.field, + type: 'foobar', + }, + } as unknown as FieldInputProps<'string'>; + + expect(() => render(wrap())).toThrowError( + 'Unknown or incompatible field type: foobar' + ); + + consoleMock.mockRestore(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/field_input.tsx b/packages/kbn-management/settings/components/field_input/field_input.tsx new file mode 100644 index 00000000000000..301be48ee51414 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/field_input.tsx @@ -0,0 +1,250 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +import { + isArrayFieldDefinition, + isBooleanFieldDefinition, + isColorFieldDefinition, + isImageFieldDefinition, + isJsonFieldDefinition, + isMarkdownFieldDefinition, + isNumberFieldDefinition, + isSelectFieldDefinition, + isStringFieldDefinition, + isUndefinedFieldDefinition, +} from '@kbn/management-settings-field-definition'; + +import { + isArrayFieldUnsavedChange, + isBooleanFieldUnsavedChange, + isColorFieldUnsavedChange, + isImageFieldUnsavedChange, + isJsonFieldUnsavedChange, + isMarkdownFieldUnsavedChange, + isNumberFieldUnsavedChange, + isSelectFieldUnsavedChange, + isStringFieldUnsavedChange, + isUndefinedFieldUnsavedChange, +} from '@kbn/management-settings-field-definition/is'; + +import { getInputValue } from '@kbn/management-settings-utilities'; + +import { + BooleanInput, + CodeEditorInput, + ColorPickerInput, + ImageInput, + NumberInput, + SelectInput, + TextInput, + ArrayInput, + TextInputProps, +} from './input'; + +import { OnChangeFn } from './types'; + +/** + * The props that are passed to the {@link FieldInput} component. + */ +export interface FieldInputProps { + /** The {@link FieldDefinition} for the component. */ + field: FieldDefinition; + /** An {@link UnsavedFieldChange} for the component, if any. */ + unsavedChange?: UnsavedFieldChange; + /** The `onChange` handler for the input. */ + onChange: OnChangeFn; + /** True if the input is disabled, false otherwise. */ + isDisabled?: boolean; + /** True if the value within the input is invalid, false otherwise. */ + isInvalid?: boolean; +} + +/** + * Build and return an `Error` if the type of the {@link UnsavedFieldChange} does not + * match the type of the {@link FieldDefinition}. + */ +const getMismatchError = (type: SettingType, unsavedType?: SettingType) => + new Error(`Unsaved change for ${type} mismatch: ${unsavedType}`); + +/** + * An input that allows one to change a setting in Kibana. + * + * @param props The props for the {@link FieldInput} component. + */ +export const FieldInput = (props: FieldInputProps) => { + const { + field, + unsavedChange, + isDisabled = false, + isInvalid = false, + onChange: onChangeProp, + } = props; + const { id, name, ariaAttributes } = field; + + const inputProps = { + ...ariaAttributes, + id, + isDisabled, + isInvalid, + name, + }; + + // These checks might seem excessive or redundant, but they are necessary to ensure that + // the types are honored correctly using type guards. These checks get compiled down to + // checks against the `type` property-- which we were doing in the previous code, albeit + // in an unenforceable way. + // + // Based on the success of a check, we can render the `FieldInput` in a indempotent and + // type-safe way. + // + if (isArrayFieldDefinition(field)) { + // If the composing component mistakenly provides an incompatible `UnsavedFieldChange`, + // we can throw an `Error`. We might consider switching to a `console.error` and not + // rendering the input, but that might be less helpful. + if (!isArrayFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + + // This is a safe cast because we've already checked that the type is correct in both + // the `FieldDefinition` and the `UnsavedFieldChange`... no need for a further + // type guard. + const onChange = onChangeProp as OnChangeFn<'array'>; + + return ; + } + + if (isBooleanFieldDefinition(field)) { + if (!isBooleanFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'boolean'>; + + return ; + } + + if (isColorFieldDefinition(field)) { + if (!isColorFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'color'>; + + return ; + } + + if (isImageFieldDefinition(field)) { + if (!isImageFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value, unsaved] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'image'>; + + return ( + + ); + } + + if (isJsonFieldDefinition(field)) { + if (!isJsonFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'json'>; + + return ( + + ); + } + + if (isMarkdownFieldDefinition(field)) { + if (!isMarkdownFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'markdown'>; + + return ( + + ); + } + + if (isNumberFieldDefinition(field)) { + if (!isNumberFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'number'>; + + return ; + } + + if (isSelectFieldDefinition(field)) { + if (!isSelectFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'select'>; + const { + options: { values: optionValues, labels: optionLabels }, + } = field; + + return ; + } + + if (isStringFieldDefinition(field)) { + if (!isStringFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'string'>; + + return ; + } + + if (isUndefinedFieldDefinition(field)) { + if (!isUndefinedFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + return ; + } + + throw new Error(`Unknown or incompatible field type: ${field.type}`); +}; diff --git a/packages/kbn-management/settings/components/field_input/index.ts b/packages/kbn-management/settings/components/field_input/index.ts new file mode 100644 index 00000000000000..8570f9af23c93c --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { FieldInput, type FieldInputProps } from './field_input'; + +export type { + FieldInputKibanaDependencies, + FieldInputServices, + OnChangeFn, + OnChangeParams, +} from './types'; diff --git a/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx new file mode 100644 index 00000000000000..2b420d39ee2a5c --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx @@ -0,0 +1,74 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import React from 'react'; +import { act, fireEvent, render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; + +import { ArrayInput } from './array_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { wrap } from '../mocks'; + +const name = 'Some array field'; +const id = 'some:array:field'; + +describe('ArrayInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: ['foo', 'bar'], + }; + + beforeEach(() => { + defaultProps.onChange.mockClear(); + }); + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders an array of strings', () => { + render(wrap()); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toHaveValue('foo, bar'); + }); + + it('formats array when blurred', () => { + render(wrap()); + const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.focus(input); + userEvent.type(input, ',baz'); + expect(input).toHaveValue('foo, bar,baz'); + input.blur(); + expect(input).toHaveValue('foo, bar, baz'); + }); + + it('only calls onChange when blurred ', () => { + render(wrap()); + const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + + fireEvent.focus(input); + userEvent.type(input, ',baz'); + + expect(input).toHaveValue('foo, bar,baz'); + expect(defaultProps.onChange).not.toHaveBeenCalled(); + + act(() => { + input.blur(); + }); + + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: ['foo', 'bar', 'baz'] }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/array_input.tsx b/packages/kbn-management/settings/components/field_input/input/array_input.tsx new file mode 100644 index 00000000000000..d5e4d8f202ec57 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/array_input.tsx @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useEffect, useState } from 'react'; +import { EuiFieldText } from '@elastic/eui'; + +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for an {@link ArrayFieldInput} component. + */ +export type ArrayInputProps = InputProps<'array'>; + +const REGEX = /,\s+/g; + +/** + * Component for manipulating an `array` field. + */ +export const ArrayInput = ({ + id, + name, + onChange: onChangeProp, + ariaLabel, + isDisabled = false, + value: valueProp, + ariaDescribedBy, +}: ArrayInputProps) => { + const [value, setValue] = useState(valueProp?.join(', ')); + + useEffect(() => { + setValue(valueProp?.join(', ')); + }, [valueProp]); + + // In the past, each keypress would invoke the `onChange` callback. This + // is likely wasteful, so we've switched it to `onBlur` instead. + const onBlur = (event: React.ChangeEvent) => { + const blurValue = event.target.value + .replace(REGEX, ',') + .split(',') + .filter((v) => v !== ''); + onChangeProp({ value: blurValue }); + setValue(blurValue.join(', ')); + }; + + return ( + setValue(event.target.value)} + {...{ name, onBlur, value }} + /> + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx new file mode 100644 index 00000000000000..6c713261f11ca7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { act, fireEvent, render, screen } from '@testing-library/react'; + +import { BooleanInput } from './boolean_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +import { wrap } from '../mocks'; + +const name = 'Some boolean field'; +const id = 'some:boolean:field'; + +describe('BooleanInput', () => { + const defaultProps = { + id, + name, + ariaLabel: name, + onChange: jest.fn(), + }; + + beforeEach(() => { + defaultProps.onChange.mockClear(); + }); + + it('renders true', () => { + render(wrap()); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toBeChecked(); + }); + + it('renders false', () => { + render(wrap()); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).not.toBeChecked(); + }); + + it('calls onChange when toggled', () => { + render(wrap()); + const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(defaultProps.onChange).not.toHaveBeenCalled(); + + act(() => { + fireEvent.click(input); + }); + + expect(defaultProps.onChange).toBeCalledWith({ value: false }); + + act(() => { + fireEvent.click(input); + }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx b/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx new file mode 100644 index 00000000000000..d95073c096dd66 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import { EuiSwitch, EuiSwitchProps } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import type { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link BooleanInput} component. + */ +export type BooleanInputProps = InputProps<'boolean'>; + +/** + * Component for manipulating a `boolean` field. + */ +export const BooleanInput = ({ + id, + ariaDescribedBy, + ariaLabel, + isDisabled: disabled = false, + name, + onChange: onChangeProp, + value, +}: BooleanInputProps) => { + const onChange: EuiSwitchProps['onChange'] = (event) => + onChangeProp({ value: event.target.checked }); + + return ( + + ) : ( + + ) + } + aria-label={ariaLabel} + aria-describedby={ariaDescribedBy} + checked={!!value} + data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} + {...{ disabled, name, onChange }} + /> + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx b/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx new file mode 100644 index 00000000000000..b5d0f2da8a86ca --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx @@ -0,0 +1,103 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import { i18n } from '@kbn/i18n'; +import { SettingType } from '@kbn/management-settings-types'; + +import { CodeEditor } from '../code_editor'; +import type { InputProps, OnChangeFn } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +type Type = Extract; + +/** + * Props for a {@link CodeEditorInput} component. + */ +export interface CodeEditorInputProps extends InputProps { + /** The default value of the {@link CodeEditor} component. */ + defaultValue?: string; + /** + * The `onChange` event handler, expanded to include both `markdown` + * and `json` + */ + onChange: OnChangeFn; + /** + * The {@link UiSettingType}, expanded to include both `markdown` + * and `json` + */ + type: Type; +} + +/** + * Component for manipulating a `json` or `markdown` field. + * + * TODO: clintandrewhall - `kibana_react` `CodeEditor` does not support `disabled`. + */ +export const CodeEditorInput = ({ + ariaDescribedBy, + ariaLabel, + defaultValue, + id, + isDisabled = false, + onChange: onChangeProp, + type, + value: valueProp = '', +}: CodeEditorInputProps) => { + const onChange = (newValue: string) => { + let newUnsavedValue; + let errorParams = {}; + + switch (type) { + case 'json': + const isJsonArray = Array.isArray(JSON.parse(defaultValue || '{}')); + newUnsavedValue = newValue || (isJsonArray ? '[]' : '{}'); + + try { + JSON.parse(newUnsavedValue); + } catch (e) { + errorParams = { + error: i18n.translate('management.settings.field.codeEditorSyntaxErrorMessage', { + defaultMessage: 'Invalid JSON syntax', + }), + isInvalid: true, + }; + } + break; + default: + newUnsavedValue = newValue; + } + + // TODO: clintandrewhall - should we make this onBlur instead of onChange? + onChangeProp({ + value: newUnsavedValue, + ...errorParams, + }); + }; + + // nit: we have to do this because, while the `UiSettingsService` might return + // `null`, the {@link CodeEditor} component doesn't accept `null` as a value. + // + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + // + const value = valueProp === null ? '' : valueProp; + + return ( +
    + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx new file mode 100644 index 00000000000000..d50b58481a885b --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; +import { ColorPickerInput } from './color_picker_input'; +import { wrap } from '../mocks'; + +const name = 'Some color field'; +const id = 'some:color:field'; + +describe('ColorPickerInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: '#000000', + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByRole } = render(wrap()); + const input = getByRole('textbox'); + expect(input).toHaveValue('#000000'); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByRole } = render(wrap()); + const input = getByRole('textbox'); + const newValue = '#ffffff'; + fireEvent.change(input, { target: { value: newValue } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: newValue }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByRole } = render(wrap()); + const input = getByRole('textbox'); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx b/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx new file mode 100644 index 00000000000000..b5c5f7d4de616a --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiColorPicker, EuiColorPickerProps } from '@elastic/eui'; + +import { i18n } from '@kbn/i18n'; +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link ColorPickerInput} component. + */ +export type ColorPickerInputProps = InputProps<'color'>; + +const invalidMessage = i18n.translate('management.settings.fieldInput.color.invalidMessage', { + defaultMessage: 'Provide a valid color value', +}); + +/** + * Component for manipulating a `color` field. + */ +export const ColorPickerInput = ({ + ariaDescribedBy, + ariaLabel, + id, + isDisabled = false, + isInvalid = false, + onChange: onChangeProp, + name, + value: color, +}: ColorPickerInputProps) => { + const onChange: EuiColorPickerProps['onChange'] = (newColor, { isValid }) => { + if (newColor !== '' && !isValid) { + onChangeProp({ value: newColor, isInvalid: true, error: invalidMessage }); + } else { + onChangeProp({ value: newColor }); + } + }; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx new file mode 100644 index 00000000000000..041d0aba447146 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { ImageInput } from './image_input'; +import { wrap } from '../mocks'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { act } from 'react-dom/test-utils'; +import userEvent from '@testing-library/user-event'; + +const name = 'Some image field'; +const id = 'some:image:field'; + +describe('ImageInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + hasChanged: false, + isDefaultValue: false, + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('calls the onChange prop when a file is selected', async () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`) as HTMLInputElement; + const file = new File(['(⌐□_□)'], 'test.png', { type: 'image/png' }); + + act(() => { + userEvent.upload(input, [file]); + }); + + expect(input.files?.length).toBe(1); + + // This doesn't work for some reason. + // expect(defaultProps.onChange).toHaveBeenCalledWith({ value: file }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/image_input.tsx b/packages/kbn-management/settings/components/field_input/input/image_input.tsx new file mode 100644 index 00000000000000..b118c538e7b34f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/image_input.tsx @@ -0,0 +1,108 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { i18n } from '@kbn/i18n'; +import { EuiFilePicker, EuiImage } from '@elastic/eui'; + +import type { InputProps } from '../types'; +import { useServices } from '../services'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link ImageInput} component. + */ +export interface ImageInputProps extends InputProps<'image'> { + /** Indicate if the image has changed from the saved setting in the UI. */ + hasChanged: boolean; + /** Indicate if the image value is the default value in Kibana. */ + isDefaultValue: boolean; +} + +const getImageAsBase64 = async (file: Blob): Promise => { + const reader = new FileReader(); + reader.readAsDataURL(file); + + return new Promise((resolve, reject) => { + reader.onload = () => { + resolve(reader.result!); + }; + reader.onerror = (err) => { + reject(err); + }; + }); +}; + +const errorMessage = i18n.translate('management.settings.field.imageChangeErrorMessage', { + defaultMessage: 'Image could not be saved', +}); + +/** + * Component for manipulating an `image` field. + */ +export const ImageInput = React.forwardRef( + ( + { + ariaDescribedBy, + ariaLabel, + id, + isDisabled, + isDefaultValue, + onChange: onChangeProp, + name, + value, + hasChanged, + }, + ref + ) => { + const { showDanger } = useServices(); + + const onChange = async (files: FileList | null) => { + if (files === null || !files.length) { + onChangeProp({ value: '' }); + return null; + } + + const file = files[0]; + + try { + let base64Image = ''; + + if (file instanceof File) { + base64Image = String(await getImageAsBase64(file)); + } + + onChangeProp({ value: base64Image }); + } catch (err) { + showDanger(errorMessage); + onChangeProp({ value: '', error: errorMessage }); + } + }; + + const a11yProps = { + 'aria-label': ariaLabel, + 'aria-describedby': ariaDescribedBy, + }; + + // TODO: this check will be a bug, if a default image is ever actually + // defined in Kibana. + if (value && !isDefaultValue && !hasChanged) { + return ; + } else { + return ( + + ); + } + } +); diff --git a/packages/kbn-management/settings/components/field_input/input/index.ts b/packages/kbn-management/settings/components/field_input/input/index.ts new file mode 100644 index 00000000000000..2790604feb9e93 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { ArrayInput, type ArrayInputProps } from './array_input'; +export { CodeEditorInput, type CodeEditorInputProps } from './code_editor_input'; +export { BooleanInput, type BooleanInputProps } from './boolean_input'; +export { ColorPickerInput, type ColorPickerInputProps } from './color_picker_input'; +export { ImageInput, type ImageInputProps } from './image_input'; +export { NumberInput, type NumberInputProps } from './number_input'; +export { SelectInput, type SelectInputProps } from './select_input'; +export { TextInput, type TextInputProps } from './text_input'; + +export const TEST_SUBJ_PREFIX_FIELD = 'management-settings-editField'; diff --git a/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx new file mode 100644 index 00000000000000..04108a32597382 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx @@ -0,0 +1,118 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent, waitFor } from '@testing-library/react'; + +import { CodeEditorInput } from './code_editor_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { CodeEditorProps } from '../code_editor'; + +const name = 'Some json field'; +const id = 'some:json:field'; +const initialValue = '{"foo":"bar"}'; + +jest.mock('../code_editor', () => ({ + CodeEditor: ({ value, onChange }: CodeEditorProps) => ( + { + if (onChange) { + onChange(e.target.value, e as any); + } + }} + /> + ), +})); + +describe('JsonEditorInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: initialValue, + type: 'json' as 'json', + }; + + beforeEach(() => { + defaultProps.onChange.mockClear(); + }); + + it('renders without errors', () => { + const { container } = render(); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(initialValue); + }); + + it('calls the onChange prop when the object value changes', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '{"bar":"foo"}' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '{"bar":"foo"}' }); + }); + + it('calls the onChange prop when the object value changes with no value', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '{}' }); + }); + + it('calls the onChange prop with an error when the object value changes to invalid JSON', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '{"bar" "foo"}' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + value: '{"bar" "foo"}', + error: 'Invalid JSON syntax', + isInvalid: true, + }); + }); + + it('calls the onChange prop when the array value changes', () => { + const props = { ...defaultProps, defaultValue: '["bar", "foo"]', value: undefined }; + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '["foo", "bar", "baz"]' } }); + waitFor(() => + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '["foo", "bar", "baz"]' }) + ); + }); + + it('calls the onChange prop when the array value changes with no value', () => { + const props = { + ...defaultProps, + defaultValue: '["bar", "foo"]', + value: '["bar", "foo"]', + }; + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '[]' }); + }); + + it('calls the onChange prop with an array when the array value changes to invalid JSON', () => { + const props = { ...defaultProps, defaultValue: '["bar", "foo"]', value: undefined }; + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '["bar", "foo" | "baz"]' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + value: '["bar", "foo" | "baz"]', + error: 'Invalid JSON syntax', + isInvalid: true, + }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx new file mode 100644 index 00000000000000..4df09c3e5df713 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; + +import { CodeEditorInput } from './code_editor_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { CodeEditorProps } from '../code_editor'; + +const name = 'Some json field'; +const id = 'some:json:field'; +const initialValue = '# A Markdown Title'; + +jest.mock('../code_editor', () => ({ + CodeEditor: ({ value, onChange }: CodeEditorProps) => ( + { + if (onChange) { + onChange(e.target.value, e as any); + } + }} + /> + ), +})); + +describe('JsonEditorInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: initialValue, + type: 'markdown' as 'markdown', + }; + + it('renders without errors', () => { + const { container } = render(); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(initialValue); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '# New Markdown Title' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '# New Markdown Title' }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx new file mode 100644 index 00000000000000..2df3bbc96254f9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx @@ -0,0 +1,56 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent, waitFor } from '@testing-library/react'; +import { NumberInput } from './number_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { wrap } from '../mocks'; + +const name = 'Some number field'; +const id = 'some:number:field'; + +describe('NumberInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: 12345, + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(defaultProps.value); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '54321' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 54321 }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); + + it('recovers if value is null', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + waitFor(() => expect(input).toHaveValue(undefined)); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/number_input.tsx b/packages/kbn-management/settings/components/field_input/input/number_input.tsx new file mode 100644 index 00000000000000..8d4862fa5e52e9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/number_input.tsx @@ -0,0 +1,51 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiFieldNumber } from '@elastic/eui'; +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link NumberInput} component. + */ +export type NumberInputProps = InputProps<'number'>; + +/** + * Component for manipulating a `number` field. + */ +export const NumberInput = ({ + ariaDescribedBy, + ariaLabel, + id, + isDisabled: disabled = false, + name, + onChange: onChangeProp, + value: valueProp, +}: NumberInputProps) => { + const onChange = (event: React.ChangeEvent) => + onChangeProp({ value: Number(event.target.value) }); + + // nit: we have to do this because, while the `UiSettingsService` might return + // `null`, the {@link EuiFieldNumber} component doesn't accept `null` as a + // value. + // + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + // + const value = valueProp === null ? undefined : valueProp; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx new file mode 100644 index 00000000000000..fe6fa934ab5bb4 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; +import { SelectInput, SelectInputProps } from './select_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { wrap } from '../mocks'; + +const name = 'Some select field'; +const id = 'some:select:field'; + +describe('SelectInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + optionLabels: { + option1: 'Option 1', + option2: 'Option 2', + option3: 'Option 3', + }, + optionValues: ['option1', 'option2', 'option3'], + value: 'option2', + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue('option2'); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: 'option3' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 'option3' }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); + + it('throws when optionValues is not provided', () => { + const consoleMock = jest.spyOn(console, 'error').mockImplementation(() => {}); + const props = { + ...defaultProps, + optionLabels: undefined as any, + optionValues: [], + } as SelectInputProps; + + expect(() => render(wrap())).toThrowError( + 'non-empty `optionValues` are required for `SelectInput`.' + ); + consoleMock.mockRestore(); + }); + + it('recovers if optionLabel is missing', () => { + const props = { + ...defaultProps, + optionLabels: {}, + } as SelectInputProps; + const { container } = render(wrap()); + + expect(container).toBeInTheDocument(); + }); + + it('recovers if value is null', () => { + const props = { + ...defaultProps, + value: null, + } as SelectInputProps; + const { container } = render(wrap()); + + expect(container).toBeInTheDocument(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/select_input.tsx b/packages/kbn-management/settings/components/field_input/input/select_input.tsx new file mode 100644 index 00000000000000..4ca8fdf21532dc --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/select_input.tsx @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useMemo } from 'react'; +import { EuiSelect } from '@elastic/eui'; +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link SelectInput} component. + */ +export interface SelectInputProps extends InputProps<'select'> { + /** Specify the option labels to their values. */ + optionLabels: Record; + /** Specify the option values. */ + optionValues: Array; +} + +/** + * Component for manipulating a `select` field. + */ +export const SelectInput = ({ + ariaDescribedBy, + ariaLabel, + id, + isDisabled = false, + onChange: onChangeProp, + optionLabels = {}, + optionValues: optionsProp, + value: valueProp, +}: SelectInputProps) => { + if (optionsProp.length === 0) { + throw new Error('non-empty `optionValues` are required for `SelectInput`.'); + } + + const options = useMemo( + () => + optionsProp?.map((option) => ({ + text: optionLabels.hasOwnProperty(option) ? optionLabels[option] : option, + value: option, + })), + [optionsProp, optionLabels] + ); + + const onChange = (event: React.ChangeEvent) => { + onChangeProp({ value: event.target.value }); + }; + + // nit: we have to do this because, while the `UiSettingsService` might return + // `null`, the {@link EuiSelect} component doesn't accept `null` as a value. + // + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + // + const value = valueProp === null ? undefined : valueProp; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx new file mode 100644 index 00000000000000..d4dee9f32cdf69 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; + +import { TextInput } from './text_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +const name = 'Some text field'; +const id = 'some:text:field'; + +describe('TextInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: 'initial value', + }; + + it('renders without errors', () => { + const { container } = render(); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue('initial value'); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: 'new value' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 'new value' }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/text_input.tsx b/packages/kbn-management/settings/components/field_input/input/text_input.tsx new file mode 100644 index 00000000000000..aa1dc913eeeea7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/text_input.tsx @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiFieldText } from '@elastic/eui'; + +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link TextInput} component. + */ +export type TextInputProps = InputProps<'string'>; + +/** + * Component for manipulating a `string` field. + */ +export const TextInput = ({ + name, + onChange: onChangeProp, + ariaLabel, + id, + isDisabled = false, + value: valueProp, + ariaDescribedBy, +}: TextInputProps) => { + const value = valueProp || ''; + const onChange = (event: React.ChangeEvent) => + onChangeProp({ value: event.target.value }); + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/kibana.jsonc b/packages/kbn-management/settings/components/field_input/kibana.jsonc new file mode 100644 index 00000000000000..625ab3cc564b99 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-components-field-input", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx b/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx new file mode 100644 index 00000000000000..daf926561bc843 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { ReactChild } from 'react'; +import { I18nProvider } from '@kbn/i18n-react'; + +import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; +import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { I18nStart } from '@kbn/core-i18n-browser'; + +import { FieldInputProvider } from '../services'; +import { FieldInputServices } from '../types'; + +const createRootMock = () => { + const i18n: I18nStart = { + Context: ({ children }) => {children}, + }; + const theme = themeServiceMock.createStartContract(); + return { + i18n, + theme, + }; +}; + +export const createFieldInputServicesMock = (): FieldInputServices => ({ + showDanger: jest.fn(), +}); + +export const TestWrapper = ({ + children, + services = createFieldInputServicesMock(), +}: { + children: ReactChild; + services?: FieldInputServices; +}) => { + return ( + + {children} + + ); +}; + +export const wrap = ( + component: JSX.Element, + services: FieldInputServices = createFieldInputServicesMock() +) => ( + + {component} + +); diff --git a/packages/kbn-management/settings/components/field_input/mocks/index.ts b/packages/kbn-management/settings/components/field_input/mocks/index.ts new file mode 100644 index 00000000000000..8eb7547c59584f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/mocks/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { TestWrapper, createFieldInputServicesMock, wrap } from './context.mock'; + +export type { FieldInputProvider } from '../services'; +export type { FieldInputServices } from '../types'; diff --git a/packages/kbn-management/settings/components/field_input/package.json b/packages/kbn-management/settings/components/field_input/package.json new file mode 100644 index 00000000000000..ca9dda8f8b3846 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-components-field-input", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/services.tsx b/packages/kbn-management/settings/components/field_input/services.tsx new file mode 100644 index 00000000000000..b76c9b7a9a6a5d --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/services.tsx @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { FC, useContext } from 'react'; +import type { FieldInputServices, FieldInputKibanaDependencies } from './types'; + +const FieldInputContext = React.createContext(null); + +/** + * React Provider that provides services to a {@link FieldInput} component and its dependents. + */ +export const FieldInputProvider: FC = ({ children, ...services }) => { + // Typescript types are widened to accept more than what is needed. Take only what is necessary + // so the context remains clean. + const { showDanger } = services; + + return {children}; +}; + +/** + * Kibana-specific Provider that maps Kibana plugins and services to a {@link FieldInputProvider}. + */ +export const FieldInputKibanaProvider: FC = ({ + children, + toasts, +}) => { + return ( + toasts.addDanger(message), + }} + > + {children} + + ); +}; + +/** + * React hook for accessing pre-wired services. + * + * @see {@link FieldInputServices} + */ +export const useServices = () => { + const context = useContext(FieldInputContext); + + if (!context) { + throw new Error( + 'FieldInputContext is missing. Ensure your component or React root is wrapped with FieldInputProvider.' + ); + } + + return context; +}; diff --git a/packages/kbn-management/settings/components/field_input/setup_tests.ts b/packages/kbn-management/settings/components/field_input/setup_tests.ts new file mode 100644 index 00000000000000..8d1acb92329341 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/setup_tests.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-extraneous-dependencies +import '@testing-library/jest-dom'; diff --git a/packages/kbn-management/settings/components/field_input/tsconfig.json b/packages/kbn-management/settings/components/field_input/tsconfig.json new file mode 100644 index 00000000000000..a6fe848abc2a96 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/tsconfig.json @@ -0,0 +1,32 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + "@kbn/management-settings-field-definition", + "@kbn/monaco", + "@kbn/kibana-react-plugin", + "@kbn/management-settings-utilities", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/core-notifications-browser", + "@kbn/core-ui-settings-common", + "@kbn/react-kibana-context-root", + "@kbn/core-theme-browser-mocks", + "@kbn/core-i18n-browser", + ] +} diff --git a/packages/kbn-management/settings/components/field_input/types.ts b/packages/kbn-management/settings/components/field_input/types.ts new file mode 100644 index 00000000000000..73e676785e6b92 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/types.ts @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SettingType } from '@kbn/management-settings-types'; +import { ToastsStart } from '@kbn/core-notifications-browser'; +import { KnownTypeToValue } from '@kbn/management-settings-types'; + +/** + * Contextual services used by a {@link FieldInput} component. + */ +export interface FieldInputServices { + /** + * Displays a danger toast message. + * @param value The message to display. + */ + showDanger: (value: string) => void; +} + +/** + * An interface containing a collection of Kibana plugins and services required to + * render this component. + */ +export interface FieldInputKibanaDependencies { + /** The portion of the {@link ToastsStart} contract used by this component. */ + toasts: Pick; +} + +/** + * Props passed to a {@link FieldInput} component. + */ +export interface InputProps | null> { + id: string; + ariaDescribedBy?: string; + ariaLabel: string; + isDisabled?: boolean; + isInvalid?: boolean; + value?: V; + name: string; + /** The `onChange` handler. */ + onChange: OnChangeFn; +} + +/** + * Parameters for the {@link OnChangeFn} handler. + */ +export interface OnChangeParams { + /** The value provided to the handler. */ + value?: KnownTypeToValue | null; + /** An error message, if one occurred. */ + error?: string; + /** True if the format of a change is not valid, false otherwise. */ + isInvalid?: boolean; +} + +/** + * A function that is called when the value of a {@link FieldInput} changes. + * @param params The {@link OnChangeParams} parameters passed to the handler. + */ +export type OnChangeFn = (params: OnChangeParams) => void; diff --git a/packages/kbn-management/settings/components/field_row/README.mdx b/packages/kbn-management/settings/components/field_row/README.mdx new file mode 100644 index 00000000000000..6fe238938407c4 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/README.mdx @@ -0,0 +1,37 @@ +--- +id: management/settings/components/fieldRow +slug: /management/settings/components/field-row +title: Management Settings Field Row Component +description: A package containing a component for rendering and manipulating a UiSetting in the Advanced Settings UI. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains a component for rendering and manipulating a single UiSetting in the Advanced Settings UI. + +For reference, this is an example of the current Advanced Settings UI: + +
    Advanced Settings as a form.
    + +*Advanced Settings as a form.* + +## Implementation + +A `FormRow` represents a single UiSetting, and is responsible for rendering the UiSetting's label, description, and equivalent value input. It displays the state of any unsaved change, (e.g. error). It also handles the logic for updating the UiSetting's value in a consuming component through the `onChange` handler. + +
    Anatomy of a `FormRow`
    + +*Anatomy of a `FormRow`* + +## Notes + +- This implementation was extracted from the `advancedSettings` plugin. +- The type for a `UiSettingMetadata` is limited due to the permissive nature of the [`UiSettingsParam` type](packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts). +- The source includes notations of several bugs which will surface if the assumptions about default settings from Kibana change. + +## Testing + +- Code coverage stands at 95%. +- Storybook stories are included. Run `yarn storybook management` to view them. \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx new file mode 100644 index 00000000000000..dfe384fdd23495 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Array Row', 'A setting with an array of values.'); +export const ArrayRow = getFieldRowStory('array' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx new file mode 100644 index 00000000000000..0d663a26cb5f8f --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getStory, getFieldRowStory } from './common'; + +export default getStory('Boolean Row', 'A setting with a boolean value.'); +export const BooleanRow = getFieldRowStory('boolean' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx new file mode 100644 index 00000000000000..61b0033d191754 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Color Row', 'A setting with an base64 image value.'); +export const ColorRow = getFieldRowStory('color' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/common.tsx b/packages/kbn-management/settings/components/field_row/__stories__/common.tsx new file mode 100644 index 00000000000000..a18592ca867b2c --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/common.tsx @@ -0,0 +1,150 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import type { ComponentMeta } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import { EuiPanel } from '@elastic/eui'; +import { SettingType } from '@kbn/management-settings-types'; + +import { KnownTypeToMetadata, UiSettingMetadata } from '@kbn/management-settings-types/metadata'; +import { + useFieldDefinition, + getDefaultValue, + getUserValue, +} from '@kbn/management-settings-field-definition/storybook'; +import { FieldRow as Component, FieldRow } from '../field_row'; +import { FieldRowProvider } from '../services'; +import { OnChangeFn } from '../types'; + +/** + * Props for a {@link FieldInput} Storybook story. + */ +export interface StoryProps + extends Pick, 'userValue' | 'value'> { + /** Simulate if the UiSetting is custom. */ + isCustom: boolean; + /** Simulate if the UiSetting is deprecated. */ + isDeprecated: boolean; + /** Simulate if the UiSetting is overriden. */ + isOverridden: boolean; + /** Simulate if saving settings is enabled in the UI. */ + isSavingEnabled: boolean; +} + +/** + * Utility function for returning a {@link FieldRow} Storybook story + * definition. + * @param title The title displayed in the Storybook UI. + * @param description The description of the Story. + * @returns A Storybook Story. + */ +export const getStory = ( + title: string, + description: string, + argTypes: Record = {} +) => + ({ + title: `Settings/Field Row/${title}`, + description, + argTypes: { + userValue: { + name: 'Current saved value', + }, + value: { + name: 'Default value from Kibana', + }, + isSavingEnabled: { + name: 'Saving is enabled?', + }, + isCustom: { + name: 'Setting is custom?', + }, + isDeprecated: { + name: 'Setting is deprecated?', + }, + isOverridden: { + name: 'Setting is overridden?', + }, + ...argTypes, + }, + decorators: [ + (Story) => ( + + + + + + ), + ], + } as ComponentMeta); + +/** + * Default argument values for a {@link FieldInput} Storybook story. + */ +export const storyArgs = { + /** True if the saving settings is disabled, false otherwise. */ + isSavingEnabled: true, + /** True if the UiSetting is custom, false otherwise. */ + isCustom: false, + /** True if the UiSetting is deprecated, false otherwise. */ + isDeprecated: false, + /** True if the UiSetting is overridden, false otherwise. */ + isOverridden: false, +}; + +/** + * Utility function for returning a {@link FieldRow} Storybook story. + * @param type The type of the UiSetting for this {@link FieldRow}. + * @returns A Storybook Story. + */ +export const getFieldRowStory = ( + type: SettingType, + settingFields: Partial> +) => { + const Story = ({ + isCustom, + isDeprecated, + isOverridden, + isSavingEnabled, + userValue, + value, + }: StoryProps) => { + const setting: UiSettingMetadata = { + type, + value, + userValue, + name: `Some ${type} setting`, + ...settingFields, + }; + + const [field, unsavedChange, onChangeFn] = useFieldDefinition(setting, { + isCustom, + isDeprecated, + isOverridden, + }); + + const onChange: OnChangeFn = (_key, change) => { + const { error, isInvalid, unsavedValue } = change; + onChangeFn({ error: error === null ? undefined : error, isInvalid, value: unsavedValue }); + }; + + return ; + }; + + Story.args = { + userValue: getUserValue(type), + value: getDefaultValue(type), + ...storyArgs, + }; + + return Story; +}; diff --git a/packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx new file mode 100644 index 00000000000000..26975a2c8e4af1 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Image Row', 'A setting with an base64 image value.'); +export const ImageRow = getFieldRowStory('image' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx new file mode 100644 index 00000000000000..8a941a3abd8049 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('JSON Row', 'A setting with a JSON value.'); +export const JSONRow = getFieldRowStory('json' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx new file mode 100644 index 00000000000000..0a858d5ec5ae7c --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Markdown Row', 'A setting with a Markdown value.'); +export const MarkdownRow = getFieldRowStory('markdown' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx new file mode 100644 index 00000000000000..dc97a11386afc0 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Number Row', 'A setting with a numeric value.'); +export const NumberRow = getFieldRowStory('number' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx new file mode 100644 index 00000000000000..299297f3412825 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx @@ -0,0 +1,27 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +const argTypes = { + value: { + name: 'Current saved value', + control: { + type: 'select', + options: ['option1', 'option2', 'option3'], + }, + }, +}; + +const settingFields = { + optionLabels: { option1: 'Option 1', option2: 'Option 2', option3: 'Option 3' }, + options: ['option1', 'option2', 'option3'], +}; + +export default getStory('Select Row', 'A setting with a boolean value.', argTypes); +export const SelectRow = getFieldRowStory('select' as const, settingFields); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx new file mode 100644 index 00000000000000..09ca6ada1d88d5 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('String Row', 'A setting with a string value.'); +export const StringRow = getFieldRowStory('string' as const); diff --git a/packages/kbn-management/settings/components/field_row/assets/form_row.png b/packages/kbn-management/settings/components/field_row/assets/form_row.png new file mode 100644 index 0000000000000000000000000000000000000000..e880adf032d8e250ff2a867ae7bb45743f27808d GIT binary patch literal 651841 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

    W4FuKfM^w&Ee7cjoS4 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
    Y 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

    tZqE=pS@|yeV7CXs=F8je2FC~=IK;~@6+joC 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%0A_IMD# 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ξ<{ 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 z z9z<27LWdgxA^;|-0g$w9_0D+NQk7c(t2~v8%=W_zh}xxpn8v5ft|rZXKYs-zUI0+2 zcWvzhFBu*h*_osBrLhBW3ubz=EF-532?*QSpYN<1sWTQq7n?pxfWT}%oEzkx?Z}R- z$tkMT#(-z6GN~I+`WcUd*Udak(Mv!;QcMESbN4{ZU?Mu1vB7Tmkp~=Vt+s^I|NNAe z;?(gzPaLis_hkJfiy%>s){aChdthtx6OLq;O8pf3~`1u}-qKv~o1S4Ui48PqQN=J)xl5?z?H8AVL-EcZ^_=G+NkE z2{abDeH}1d#_K~Gtds#L&~STsWOAzNU^8mxHiTstZ1j>t5rqanXVARD(+4ls3)k`x zXza*v=*>JoL$PD@g6&?ll!vQxRiK(q=GY4?z)U6^W+<&H#Z2KbP?J%6v_*@nR>s`^ z4?F-ry8dk4nX51{89WCnO5`%2*5j*@S7RM&%-Ml-8eSFbdl*mLP6@Sfd&^R9;nf2E zW{Yx~>7lABQz69EJ!eGjPBF#LPj3i?NdN}DE6=yOeu7ap?vBpwIoDJd$xHn3Xhe7O zeHMjb06Pu4U?x15-f6s`_}Uy7sv-pz*0+nWc(RK z=(4_lWbp>DnTHm|BgA;|lN|>vfE>K8l%5Kge5KhaD%{s%7P-@Xofdf*KVZu;)j z+nx!4v`W^>NHpdtSsMp5fKbWLl|7!WM1J&p^3Micv^N)f7wo89pPiHj*y;JQd(g!@ z_>IuD8q^*RHtE>#T)};=c

    E(_S49y`%9!ML|1YoY50MiJnrbV1n6Gc- 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 z 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 Rw5NbS1zFYmh0>3n{y%#bi--UK literal 0 HcmV?d00001 diff --git a/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx b/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx new file mode 100644 index 00000000000000..49bb85fb3cdcd0 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx @@ -0,0 +1,84 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { FieldDefaultValue, DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX } from './default_value'; +import { wrap } from '../mocks'; + +describe('FieldDefaultValue', () => { + it('renders without errors', () => { + const { container } = render( + wrap( + + ) + ); + + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if the default value is set', () => { + const { container } = render( + wrap( + + ) + ); + + expect(container).toBeEmptyDOMElement(); + }); + + it('does not render a code block for string fields', () => { + const { queryByTestId, getByText } = render( + wrap( + + ) + ); + const input = queryByTestId(`${DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX}-test`); + expect(input).not.toBeInTheDocument(); + const label = getByText('hello world'); + expect(label).toBeInTheDocument(); + }); + + it('renders a code block for JSON fields', () => { + const { getByTestId } = render( + wrap( + + ) + ); + const input = getByTestId(`${DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX}-test`); + expect(input).toBeInTheDocument(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/description/default_value.tsx b/packages/kbn-management/settings/components/field_row/description/default_value.tsx new file mode 100644 index 00000000000000..75fb9c4c7bdc4b --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/default_value.tsx @@ -0,0 +1,65 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiCode, EuiCodeBlock, EuiText } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { + isJsonFieldDefinition, + isMarkdownFieldDefinition, +} from '@kbn/management-settings-field-definition'; +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +export const DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX = 'default-display-block'; +/** + * Props for a {@link FieldDefaultValue} component. + */ +export interface FieldDefaultValueProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'id' | 'type' | 'isDefaultValue' | 'defaultValueDisplay'>; +} + +/** + * Component for displaying the default value of a {@link FieldDefinition} + * in the {@link FieldRow}. + */ +export const FieldDefaultValue = ({ field }: FieldDefaultValueProps) => { + if (field.isDefaultValue) { + return null; + } + + const { defaultValueDisplay: display, id } = field; + + let value = {display}; + + if (isJsonFieldDefinition(field) || isMarkdownFieldDefinition(field)) { + value = ( + = 500 ? 300 : undefined} + > + {display} + + ); + } + + return ( + + + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx b/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx new file mode 100644 index 00000000000000..73e70df48e48f8 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { FieldDeprecation } from './deprecation'; +import { wrap } from '../mocks'; + +describe('FieldDeprecation', () => { + const defaultProps = { + field: { + name: 'test', + type: 'string', + deprecation: undefined, + }, + }; + + it('renders without errors', () => { + const { container } = render( + wrap( + + ) + ); + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if there is no deprecation', () => { + const { container } = render(wrap()); + expect(container.firstChild).toBeNull(); + }); + + it('renders a warning badge if there is a deprecation', () => { + const { getByText } = render( + wrap( + + ) + ); + const badge = getByText('Deprecated'); + expect(badge).toBeInTheDocument(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/description/deprecation.tsx b/packages/kbn-management/settings/components/field_row/description/deprecation.tsx new file mode 100644 index 00000000000000..664f9e3e960479 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/deprecation.tsx @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiBadge, EuiToolTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { useServices } from '../services'; + +export const DATA_TEST_SUBJ_DEPRECATION_PREFIX = 'description-block-deprecation'; + +type Field = Pick, 'id' | 'deprecation' | 'name'>; + +/** + * Props for a {@link FieldDeprecation} component. + */ +export interface FieldDeprecationProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Field; +} + +/** + * + */ +export const FieldDeprecation = ({ field }: FieldDeprecationProps) => { + const { links } = useServices(); + const { deprecation, name, id } = field; + + if (!deprecation) { + return null; + } + + return ( +

    + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/description/description.test.tsx b/packages/kbn-management/settings/components/field_row/description/description.test.tsx new file mode 100644 index 00000000000000..859a530f3ccdd9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/description.test.tsx @@ -0,0 +1,43 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { FieldDescription } from './description'; +import { FieldDefinition } from '@kbn/management-settings-types'; +import { wrap } from '../mocks'; + +const description = 'hello world description'; + +describe('FieldDescription', () => { + const defaultProps = { + field: { + defaultValue: null, + defaultValueDisplay: 'null', + id: 'test', + isDefaultValue: false, + name: 'test', + savedValue: 'hello world', + type: 'string', + } as FieldDefinition<'string'>, + }; + + it('renders without errors', () => { + const { getByText } = render( + wrap( + + ) + ); + expect(getByText(description)).toBeInTheDocument(); + }); + + it('renders no description without one', () => { + const { queryByText } = render(wrap()); + expect(queryByText(description)).toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/description/description.tsx b/packages/kbn-management/settings/components/field_row/description/description.tsx new file mode 100644 index 00000000000000..86529f366a321b --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/description.tsx @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { ReactElement } from 'react'; + +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { EuiText } from '@elastic/eui'; + +import { useFieldStyles } from '../field_row.styles'; +import { FieldDeprecation } from './deprecation'; +import { FieldDefaultValue } from './default_value'; + +export const DATA_TEST_SUBJ_DESCRIPTION = 'settings-description'; + +type Field = Pick< + FieldDefinition, + | 'defaultValue' + | 'defaultValueDisplay' + | 'description' + | 'id' + | 'isDefaultValue' + | 'name' + | 'savedValue' + | 'type' +>; + +/** + * Props for a {@link FieldDescription} component. + */ +export interface FieldDescriptionProps { + field: Field; + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for displaying the description of a {@link FieldDefinition}. + */ +export const FieldDescription = ({ + field, + unsavedChange, +}: FieldDescriptionProps) => { + const { cssDescription } = useFieldStyles({ field, unsavedChange }); + const { description, name } = field; + + // TODO - this does *not* match the `UiSetting` type. + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + let content: ReactElement | string | undefined = description; + + if (!React.isValidElement(content)) { + content = ( +
    @@ -2444,6 +2447,13 @@ Any modifications made to this file will be overwritten.
    apiToken (optional)
    String Swimlane API authentication token.
    +
    +

    secrets_properties_teams - Connector secrets properties for a Microsoft Teams connector Up

    +
    Defines secrets for connectors when type is .teams.
    +
    +
    webhookUrl
    String The URL of the incoming webhook. If you are using the xpack.actions.allowedHosts setting, add the hostname to the allowed hosts.
    +
    +

    secrets_properties_webhook - Connector secrets properties for a Webhook connector Up

    Defines secrets for connectors when type is .webhook.
    @@ -2576,6 +2586,14 @@ Any modifications made to this file will be overwritten.
    secrets
    +

    update_connector_request_xmatters - Update xMatters connector request Up

    diff --git a/docs/management/connectors/action-types/teams.asciidoc b/docs/management/connectors/action-types/teams.asciidoc index fd4798be97e563..174b0173cb08a8 100644 --- a/docs/management/connectors/action-types/teams.asciidoc +++ b/docs/management/connectors/action-types/teams.asciidoc @@ -3,6 +3,10 @@ ++++ Microsoft Teams ++++ +:frontmatter-description: Add a connector that can send messages to a Microsoft Teams channel. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The Microsoft Teams connector uses https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook[Incoming Webhooks]. @@ -25,28 +29,6 @@ Microsoft Teams connectors have the following configuration properties: Name:: The name of the connector. Webhook URL:: The URL of the incoming webhook. See https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook#add-an-incoming-webhook-to-a-teams-channel[Add Incoming Webhooks] for instructions on generating this URL. If you are using the <> setting, make sure the hostname is added to the allowed hosts. -[float] -[[preconfigured-teams-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-teams: - name: preconfigured-teams-connector-type - actionTypeId: .teams - secrets: - webhookUrl: 'https://outlook.office.com/webhook/abcd@0123456/IncomingWebhook/abcdefgh/ijklmnopqrstuvwxyz' --- - -Secrets defines sensitive information for the connector type. - -`webhookUrl`:: A string that corresponds to *Webhook URL*. - [float] [[teams-action-configuration]] === Test connectors diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 2a6020b932a41c..d271653d7aa28e 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -158,6 +158,23 @@ xpack.actions.preconfigured: <3> The account email for HTTP basic authentication. <4> The API authentication token for HTTP basic authentication. NOTE: This value should be stored in the <>. +[float] +[[preconfigured-teams-configuration]] +==== Microsoft Teams connectors + +The following example creates a <>: + +[source,text] +-- +xpack.actions.preconfigured: + my-teams: + name: preconfigured-teams-connector-type + actionTypeId: .teams + secrets: + webhookUrl: 'https://outlook.office.com/webhook/abcd@0123456/IncomingWebhook/abcdefgh/ijklmnopqrstuvwxyz' <1> +-- +<1> The URL of the incoming webhook. + [float] [[preconfigured-opsgenie-configuration]] ==== {opsgenie} connectors diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index fb07862d107ef6..ba4332c6eb756e 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -390,6 +390,11 @@ A user name secret that varies by connector: * For a <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. * For an <>, specifies a user name that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- +`xpack.actions.preconfigured..secrets.webhookUrl`:: +For a <>, specifies the URL of the incoming webhook. ++ +NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname is added to the allowed hosts. + [float] [[alert-settings]] diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index 5f44f75f84d3ad..6027a53092de1b 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -484,6 +484,9 @@ { "$ref": "#/components/schemas/update_connector_request_swimlane" }, + { + "$ref": "#/components/schemas/update_connector_request_teams" + }, { "$ref": "#/components/schemas/update_connector_request_xmatters" } @@ -2558,7 +2561,15 @@ "title": "Connector secrets properties for a Microsoft Teams connector", "description": "Defines secrets for connectors when type is `.teams`.", "type": "object", - "additionalProperties": true + "required": [ + "webhookUrl" + ], + "properties": { + "webhookUrl": { + "type": "string", + "description": "The URL of the incoming webhook. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts.\n" + } + } }, "create_connector_request_teams": { "title": "Create Microsoft Teams connector request", @@ -3459,6 +3470,9 @@ "name" ], "properties": { + "config": { + "type": "object" + }, "connector_type_id": { "type": "string", "description": "The type of connector.", @@ -3916,6 +3930,23 @@ } } }, + "update_connector_request_teams": { + "title": "Update Microsoft Teams connector request", + "type": "object", + "required": [ + "name", + "secrets" + ], + "properties": { + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_teams" + } + } + }, "update_connector_request_xmatters": { "title": "Update xMatters connector request", "type": "object", diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index 0a5cc5d053d5a7..ee987ebed15685 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -254,6 +254,7 @@ paths: - $ref: '#/components/schemas/update_connector_request_slack_api' - $ref: '#/components/schemas/update_connector_request_slack_webhook' - $ref: '#/components/schemas/update_connector_request_swimlane' + - $ref: '#/components/schemas/update_connector_request_teams' - $ref: '#/components/schemas/update_connector_request_xmatters' examples: updateIndexConnectorRequest: @@ -1713,7 +1714,13 @@ components: title: Connector secrets properties for a Microsoft Teams connector description: Defines secrets for connectors when type is `.teams`. type: object - additionalProperties: true + required: + - webhookUrl + properties: + webhookUrl: + type: string + description: | + The URL of the incoming webhook. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts. create_connector_request_teams: title: Create Microsoft Teams connector request description: The Microsoft Teams connector uses Incoming Webhooks. @@ -2395,6 +2402,8 @@ components: - is_preconfigured - name properties: + config: + type: object connector_type_id: type: string description: The type of connector. @@ -2700,6 +2709,18 @@ components: example: my-connector secrets: $ref: '#/components/schemas/secrets_properties_swimlane' + update_connector_request_teams: + title: Update Microsoft Teams connector request + type: object + required: + - name + - secrets + properties: + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_teams' update_connector_request_xmatters: title: Update xMatters connector request type: object diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml index 3d082bfdf78216..3e0dc777efa98d 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml @@ -7,6 +7,8 @@ required: - is_preconfigured - name properties: + config: + type: object connector_type_id: type: string description: The type of connector. diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml index f5e3aa51c75282..6af62782202870 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml @@ -1,5 +1,11 @@ title: Connector secrets properties for a Microsoft Teams connector description: Defines secrets for connectors when type is `.teams`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +required: + - webhookUrl +properties: + webhookUrl: + type: string + description: > + The URL of the incoming webhook. + If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts. \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml index 9129c007947d35..f4c1cd3dda8680 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml @@ -172,7 +172,7 @@ put: - $ref: '../components/schemas/update_connector_request_slack_api.yaml' - $ref: '../components/schemas/update_connector_request_slack_webhook.yaml' - $ref: '../components/schemas/update_connector_request_swimlane.yaml' -# - $ref: '../components/schemas/update_connector_request_teams.yaml' + - $ref: '../components/schemas/update_connector_request_teams.yaml' # - $ref: '../components/schemas/update_connector_request_tines.yaml' # - $ref: '../components/schemas/update_connector_request_webhook.yaml' - $ref: '../components/schemas/update_connector_request_xmatters.yaml' From d7573c77a3d01312139ac0da09880f33634aed20 Mon Sep 17 00:00:00 2001 From: Brad White Date: Mon, 11 Sep 2023 18:01:55 -0600 Subject: [PATCH 19/39] [kbn/es serverless] Enable security and transport ssl by default (#166023) ## Summary Due to most users needing security plugin enabled by default, this adjusts to that. Which requires transport SSL to be enabled as well. The `--ssl` flag now will enable HTTP SSL only. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Aleh Zasypkin --- .../src/create_serverless_root.ts | 2 + packages/kbn-es/src/cli_commands/docker.ts | 2 +- .../kbn-es/src/cli_commands/serverless.ts | 2 +- .../kbn-es/src/ess_resources/secrets.json | 1 - .../kbn-es/src/ess_resources/secrets_ssl.json | 11 ++ packages/kbn-es/src/paths.ts | 2 + packages/kbn-es/src/utils/docker.test.ts | 41 +++---- packages/kbn-es/src/utils/docker.ts | 104 ++++++++---------- packages/kbn-test/src/es/test_es_cluster.ts | 2 +- x-pack/test_serverless/shared/config.base.ts | 23 ++-- 10 files changed, 96 insertions(+), 94 deletions(-) create mode 100644 packages/kbn-es/src/ess_resources/secrets_ssl.json diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts index e20657b904278a..5802002edb71cb 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts @@ -86,6 +86,8 @@ function createServerlessES() { clean: true, kill: true, waitForReady: true, + // security is enabled by default, if needed kibana requires serviceAccountToken + esArgs: ['xpack.security.enabled=false'], }); const client = getServerlessESClient({ port: esPort }); diff --git a/packages/kbn-es/src/cli_commands/docker.ts b/packages/kbn-es/src/cli_commands/docker.ts index aad68bf0a1daee..3bbabe0e3f10c6 100644 --- a/packages/kbn-es/src/cli_commands/docker.ts +++ b/packages/kbn-es/src/cli_commands/docker.ts @@ -28,7 +28,7 @@ export const docker: Command = { --image Full path to image of ES to run, has precedence over tag. [default: ${DOCKER_IMG}] --password Sets password for elastic user [default: ${password}] --port The port to bind to on 127.0.0.1 [default: ${DEFAULT_PORT}] - --ssl Sets up SSL and enables security plugin on Elasticsearch + --ssl Sets up HTTP and Transport SSL and enables security plugin on Elasticsearch --kill Kill running ES nodes if detected -E Additional key=value settings to pass to Elasticsearch -D Override Docker command diff --git a/packages/kbn-es/src/cli_commands/serverless.ts b/packages/kbn-es/src/cli_commands/serverless.ts index 51cc1b619017ab..152ed48abfd766 100644 --- a/packages/kbn-es/src/cli_commands/serverless.ts +++ b/packages/kbn-es/src/cli_commands/serverless.ts @@ -26,7 +26,7 @@ export const serverless: Command = { --image Full path of ESS image to run, has precedence over tag. [default: ${SERVERLESS_IMG}] --clean Remove existing file system object store before running --port The port to bind to on 127.0.0.1 [default: ${DEFAULT_PORT}] - --ssl Sets up SSL and enables security plugin on Elasticsearch + --ssl Enable HTTP SSL on Elasticsearch --kill Kill running ESS nodes if detected --background Start ESS without attaching to the first node's logs -E Additional key=value settings to pass to Elasticsearch diff --git a/packages/kbn-es/src/ess_resources/secrets.json b/packages/kbn-es/src/ess_resources/secrets.json index ceb7366ee5321d..a70e5cf711c197 100644 --- a/packages/kbn-es/src/ess_resources/secrets.json +++ b/packages/kbn-es/src/ess_resources/secrets.json @@ -4,7 +4,6 @@ "compatibility": "8.11.0" }, "string_secrets": { - "xpack.security.http.ssl.keystore.secure_password": "storepass", "xpack.security.transport.ssl.keystore.secure_password": "storepass", "xpack.security.authc.realms.jwt.jwt1.client_authentication.shared_secret": "my_super_secret" } diff --git a/packages/kbn-es/src/ess_resources/secrets_ssl.json b/packages/kbn-es/src/ess_resources/secrets_ssl.json new file mode 100644 index 00000000000000..ceb7366ee5321d --- /dev/null +++ b/packages/kbn-es/src/ess_resources/secrets_ssl.json @@ -0,0 +1,11 @@ +{ + "metadata": { + "version": "1", + "compatibility": "8.11.0" + }, + "string_secrets": { + "xpack.security.http.ssl.keystore.secure_password": "storepass", + "xpack.security.transport.ssl.keystore.secure_password": "storepass", + "xpack.security.authc.realms.jwt.jwt1.client_authentication.shared_secret": "my_super_secret" + } +} \ No newline at end of file diff --git a/packages/kbn-es/src/paths.ts b/packages/kbn-es/src/paths.ts index 76cf4271c7ce89..823b8d6b593616 100644 --- a/packages/kbn-es/src/paths.ts +++ b/packages/kbn-es/src/paths.ts @@ -35,6 +35,8 @@ export const ESS_ROLE_MAPPING_PATH = resolve(__dirname, './ess_resources/role_ma export const ESS_SECRETS_PATH = resolve(__dirname, './ess_resources/secrets.json'); +export const ESS_SECRETS_SSL_PATH = resolve(__dirname, './ess_resources/secrets_ssl.json'); + export const ESS_JWKS_PATH = resolve(__dirname, './ess_resources/jwks.json'); export const ESS_RESOURCES_PATHS = [ diff --git a/packages/kbn-es/src/utils/docker.test.ts b/packages/kbn-es/src/utils/docker.test.ts index 905f51e2d67c31..e499e691b6b8d9 100644 --- a/packages/kbn-es/src/utils/docker.test.ts +++ b/packages/kbn-es/src/utils/docker.test.ts @@ -9,6 +9,7 @@ import mockFs from 'mock-fs'; import { existsSync } from 'fs'; import { stat } from 'fs/promises'; +import { basename } from 'path'; import { DOCKER_IMG, @@ -27,10 +28,11 @@ import { stopServerlessCluster, teardownServerlessClusterSync, verifyDockerInstalled, + getESp12Volume, } from './docker'; import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import { ES_P12_PATH } from '@kbn/dev-utils'; -import { ESS_RESOURCES_PATHS } from '../paths'; +import { ESS_CONFIG_PATH, ESS_RESOURCES_PATHS, ESS_SECRETS_PATH, ESS_JWKS_PATH } from '../paths'; jest.mock('execa'); const execa = jest.requireMock('execa'); @@ -68,9 +70,23 @@ afterEach(() => { jest.clearAllMocks(); }); +const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { + acc.push(`${path}:${ESS_CONFIG_PATH}${basename(path)}`); + + return acc; +}, []); + const volumeCmdTest = async (volumeCmd: string[]) => { - expect(volumeCmd).toHaveLength(2); - expect(volumeCmd).toEqual(expect.arrayContaining(['--volume', `${baseEsPath}:/objectstore:z`])); + expect(volumeCmd).toHaveLength(20); + expect(volumeCmd).toEqual( + expect.arrayContaining([ + ...getESp12Volume(), + ...essResources, + `${baseEsPath}:/objectstore:z`, + `${ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, + `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z`, + ]) + ); // extract only permission from mode // eslint-disable-next-line no-bitwise @@ -341,13 +357,10 @@ describe('resolveEsArgs()', () => { `); }); - test('should add SSL args and enable security when SSL is passed', () => { - const esArgs = resolveEsArgs([...defaultEsArgs, ['xpack.security.enabled', 'false']], { - ssl: true, - }); + test('should add SSL args when SSL is passed', () => { + const esArgs = resolveEsArgs(defaultEsArgs, { ssl: true }); - expect(esArgs).toHaveLength(20); - expect(esArgs).not.toEqual(expect.arrayContaining(['xpack.security.enabled=false'])); + expect(esArgs).toHaveLength(10); expect(esArgs).toMatchInlineSnapshot(` Array [ "--env", @@ -355,21 +368,11 @@ describe('resolveEsArgs()', () => { "--env", "qux=zip", "--env", - "xpack.security.enabled=true", - "--env", "xpack.security.http.ssl.enabled=true", "--env", "xpack.security.http.ssl.keystore.path=/usr/share/elasticsearch/config/certs/elasticsearch.p12", "--env", "xpack.security.http.ssl.verification_mode=certificate", - "--env", - "xpack.security.transport.ssl.enabled=true", - "--env", - "xpack.security.transport.ssl.keystore.path=/usr/share/elasticsearch/config/certs/elasticsearch.p12", - "--env", - "xpack.security.transport.ssl.verification_mode=certificate", - "--env", - "xpack.security.operator_privileges.enabled=true", ] `); }); diff --git a/packages/kbn-es/src/utils/docker.ts b/packages/kbn-es/src/utils/docker.ts index 085854e4ecb40f..83c3e58d8322b8 100644 --- a/packages/kbn-es/src/utils/docker.ts +++ b/packages/kbn-es/src/utils/docker.ts @@ -29,6 +29,7 @@ import { ESS_JWKS_PATH, ESS_CONFIG_PATH, ESS_FILES_PATH, + ESS_SECRETS_SSL_PATH, } from '../paths'; import { ELASTIC_SERVERLESS_SUPERUSER, @@ -153,44 +154,49 @@ const DEFAULT_SERVERLESS_ESARGS: Array<[string, string]> = [ ['xpack.ml.enabled', 'true'], - ['xpack.security.enabled', 'false'], -]; - -const DEFAULT_SSL_ESARGS: Array<[string, string]> = [ ['xpack.security.enabled', 'true'], - ['xpack.security.http.ssl.enabled', 'true'], + // JWT realm settings are to closer emulate a real ES serverless env + ['xpack.security.authc.realms.jwt.jwt1.allowed_audiences', 'elasticsearch'], - ['xpack.security.http.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + ['xpack.security.authc.realms.jwt.jwt1.allowed_issuer', 'https://kibana.elastic.co/jwt/'], - ['xpack.security.http.ssl.verification_mode', 'certificate'], + ['xpack.security.authc.realms.jwt.jwt1.claims.principal', 'sub'], - ['xpack.security.transport.ssl.enabled', 'true'], + ['xpack.security.authc.realms.jwt.jwt1.client_authentication.type', 'shared_secret'], - ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + ['xpack.security.authc.realms.jwt.jwt1.order', '-98'], - ['xpack.security.transport.ssl.verification_mode', 'certificate'], + ['xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path', `${ESS_CONFIG_PATH}secrets/jwks.json`], ['xpack.security.operator_privileges.enabled', 'true'], -]; -const SERVERLESS_SSL_ESARGS: Array<[string, string]> = [ - ['xpack.security.authc.realms.jwt.jwt1.client_authentication.type', 'shared_secret'], + ['xpack.security.transport.ssl.enabled', 'true'], - ['xpack.security.authc.realms.jwt.jwt1.order', '-98'], + ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], - ['xpack.security.authc.realms.jwt.jwt1.allowed_issuer', 'https://kibana.elastic.co/jwt/'], + ['xpack.security.transport.ssl.verification_mode', 'certificate'], +]; - ['xpack.security.authc.realms.jwt.jwt1.allowed_audiences', 'elasticsearch'], +const DEFAULT_SSL_ESARGS: Array<[string, string]> = [ + ['xpack.security.http.ssl.enabled', 'true'], - ['xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path', `${ESS_CONFIG_PATH}secrets/jwks.json`], + ['xpack.security.http.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], - ['xpack.security.authc.realms.jwt.jwt1.claims.principal', 'sub'], + ['xpack.security.http.ssl.verification_mode', 'certificate'], ]; const DOCKER_SSL_ESARGS: Array<[string, string]> = [ + ['xpack.security.enabled', 'true'], + ['xpack.security.http.ssl.keystore.password', ES_P12_PASSWORD], + ['xpack.security.transport.ssl.enabled', 'true'], + + ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + + ['xpack.security.transport.ssl.verification_mode', 'certificate'], + ['xpack.security.transport.ssl.keystore.password', ES_P12_PASSWORD], ]; @@ -418,13 +424,6 @@ export function resolveEsArgs( args.forEach((arg) => { const [key, ...value] = arg.split('='); - // Guide the user to use SSL flag instead of manual setup - if (key === 'xpack.security.enabled' && value?.[0] === 'true') { - throw createCliError( - 'Use the --ssl flag to automatically enable and set up the security plugin.' - ); - } - esArgs.set(key.trim(), value.join('=').trim()); }); } @@ -436,7 +435,7 @@ export function resolveEsArgs( return Array.from(esArgs).flatMap((e) => ['--env', e.join('=')]); } -function getESp12Volume() { +export function getESp12Volume() { return ['--volume', `${ES_P12_PATH}:${ESS_CONFIG_PATH}certs/elasticsearch.p12`]; } @@ -492,24 +491,22 @@ export async function setupServerlessVolumes(log: ToolingLog, options: Serverles volumeCmds.push(...fileCmds); } - if (ssl) { - const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { - acc.push('--volume', `${path}:${ESS_CONFIG_PATH}${basename(path)}`); + const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { + acc.push('--volume', `${path}:${ESS_CONFIG_PATH}${basename(path)}`); - return acc; - }, []); + return acc; + }, []); - volumeCmds.push( - ...getESp12Volume(), - ...essResources, + volumeCmds.push( + ...getESp12Volume(), + ...essResources, - '--volume', - `${ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, + '--volume', + `${ssl ? ESS_SECRETS_SSL_PATH : ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, - '--volume', - `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z` - ); - } + '--volume', + `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z` + ); return volumeCmds; } @@ -577,13 +574,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO ...node, image, params: node.params.concat( - resolveEsArgs( - DEFAULT_SERVERLESS_ESARGS.concat( - node.esArgs ?? [], - options.ssl ? SERVERLESS_SSL_ESARGS : [] - ), - options - ), + resolveEsArgs(DEFAULT_SERVERLESS_ESARGS.concat(node.esArgs ?? []), options), i === 0 ? portCmd : [], volumeCmd ), @@ -593,20 +584,15 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO ); log.success(`Serverless ES cluster running. - Stop the cluster: ${chalk.bold(`docker container stop ${nodeNames.join(' ')}`)} + Login with username ${chalk.bold.cyan(ELASTIC_SERVERLESS_SUPERUSER)} or ${chalk.bold.cyan( + SYSTEM_INDICES_SUPERUSER + )} and password ${chalk.bold.magenta(ELASTIC_SERVERLESS_SUPERUSER_PASSWORD)} + Stop the cluster: ${chalk.bold(`docker container stop ${nodeNames.join(' ')}`)} `); if (options.ssl) { - log.success(`SSL and Security have been enabled for ES. - Login through your browser with username ${chalk.bold.cyan( - ELASTIC_SERVERLESS_SUPERUSER - )} or ${chalk.bold.cyan(SYSTEM_INDICES_SUPERUSER)} and password ${chalk.bold.magenta( - ELASTIC_SERVERLESS_SUPERUSER_PASSWORD - )}. - `); - - log.warning(`Kibana should be started with the SSL flag so that it can authenticate with ES. - See packages/kbn-es/src/ess_resources/README.md for additional information on authentication. + log.warning(`SSL has been enabled for ES. Kibana should be started with the SSL flag so that it can authenticate with ES. + See packages/kbn-es/src/ess_resources/README.md for additional information on authentication. `); } @@ -620,9 +606,9 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO const client = getESClient({ node: esNodeUrl, + auth: { bearer: kibanaDevServiceAccount.token }, ...(options.ssl ? { - auth: { bearer: kibanaDevServiceAccount.token }, tls: { ca: [fs.readFileSync(CA_CERT_PATH)], // NOTE: Even though we've added ca into the tls options, we are using 127.0.0.1 instead of localhost diff --git a/packages/kbn-test/src/es/test_es_cluster.ts b/packages/kbn-test/src/es/test_es_cluster.ts index 31efd5ef709e83..b7b58b88d53d99 100644 --- a/packages/kbn-test/src/es/test_es_cluster.ts +++ b/packages/kbn-test/src/es/test_es_cluster.ts @@ -234,9 +234,9 @@ export function createTestEsCluster< port, clean: true, teardown: true, - ssl: true, background: true, files, + ssl, kill: true, // likely don't need this but avoids any issues where the ESS cluster wasn't cleaned up waitForReady: true, }); diff --git a/x-pack/test_serverless/shared/config.base.ts b/x-pack/test_serverless/shared/config.base.ts index 0f806552656ac6..d842e539ce2161 100644 --- a/x-pack/test_serverless/shared/config.base.ts +++ b/x-pack/test_serverless/shared/config.base.ts @@ -52,31 +52,30 @@ export default async () => { files: [idpPath, jwksPath], serverArgs: [ 'xpack.security.authc.realms.file.file1.order=-100', + `xpack.security.authc.realms.native.native1.enabled=false`, + `xpack.security.authc.realms.native.native1.order=-97`, - 'xpack.security.authc.realms.jwt.jwt1.order=-98', - `xpack.security.authc.realms.jwt.jwt1.token_type=access_token`, - 'xpack.security.authc.realms.jwt.jwt1.client_authentication.type=shared_secret', - `xpack.security.authc.realms.jwt.jwt1.allowed_issuer=https://kibana.elastic.co/jwt/`, - `xpack.security.authc.realms.jwt.jwt1.allowed_subjects=elastic-agent`, 'xpack.security.authc.realms.jwt.jwt1.allowed_audiences=elasticsearch', + `xpack.security.authc.realms.jwt.jwt1.allowed_issuer=https://kibana.elastic.co/jwt/`, `xpack.security.authc.realms.jwt.jwt1.allowed_signature_algorithms=[RS256]`, + `xpack.security.authc.realms.jwt.jwt1.allowed_subjects=elastic-agent`, `xpack.security.authc.realms.jwt.jwt1.claims.principal=sub`, + 'xpack.security.authc.realms.jwt.jwt1.client_authentication.type=shared_secret', + 'xpack.security.authc.realms.jwt.jwt1.order=-98', `xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path=${getDockerFileMountPath(jwksPath)}`, + `xpack.security.authc.realms.jwt.jwt1.token_type=access_token`, - `xpack.security.authc.realms.native.native1.enabled=false`, - `xpack.security.authc.realms.native.native1.order=-97`, - 'xpack.security.authc.token.enabled=true', + 'xpack.security.authc.realms.saml.cloud-saml-kibana.attributes.principal=urn:oid:0.0.7', + 'xpack.security.authc.realms.saml.cloud-saml-kibana.idp.entity_id=http://www.elastic.co/saml1', 'xpack.security.authc.realms.saml.cloud-saml-kibana.order=101', `xpack.security.authc.realms.saml.cloud-saml-kibana.idp.metadata.path=${getDockerFileMountPath( idpPath )}`, - 'xpack.security.authc.realms.saml.cloud-saml-kibana.idp.entity_id=http://www.elastic.co/saml1', + `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.acs=http://localhost:${servers.kibana.port}/api/security/saml/callback`, `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.entity_id=http://localhost:${servers.kibana.port}`, `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.logout=http://localhost:${servers.kibana.port}/logout`, - `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.acs=http://localhost:${servers.kibana.port}/api/security/saml/callback`, - 'xpack.security.authc.realms.saml.cloud-saml-kibana.attributes.principal=urn:oid:0.0.7', ], - ssl: true, // not needed as for serverless ssl is always on but added it anyway + ssl: true, // SSL is required for SAML realm }, kbnTestServer: { From 6eea595153d4a7b89652a8526619a0d3adce640e Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 12 Sep 2023 00:53:45 -0400 Subject: [PATCH 20/39] [api-docs] 2023-09-12 Daily api_docs build (#166220) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/458 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.devdocs.json | 8 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.devdocs.json | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.devdocs.json | 8 - api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.devdocs.json | 12 - api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 4 +- api_docs/deprecations_by_plugin.mdx | 16 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.devdocs.json | 48 + api_docs/home.mdx | 4 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...cts_migration_server_internal.devdocs.json | 2 + ...aved_objects_migration_server_internal.mdx | 4 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- .../kbn_core_ui_settings_browser.devdocs.json | 10 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- .../kbn_core_ui_settings_common.devdocs.json | 44 + api_docs/kbn_core_ui_settings_common.mdx | 4 +- .../kbn_core_ui_settings_server.devdocs.json | 34 + api_docs/kbn_core_ui_settings_server.mdx | 4 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...ttings_components_field_input.devdocs.json | 482 ++++ ...gement_settings_components_field_input.mdx | 36 + ...settings_components_field_row.devdocs.json | 277 +++ ...nagement_settings_components_field_row.mdx | 33 + ...ent_settings_field_definition.devdocs.json | 969 +++++++++ ...n_management_settings_field_definition.mdx | 30 + .../kbn_management_settings_ids.devdocs.json | 1933 +++++++++++++++++ api_docs/kbn_management_settings_ids.mdx | 30 + ...n_management_settings_section_registry.mdx | 2 +- ...kbn_management_settings_types.devdocs.json | 1523 +++++++++++++ api_docs/kbn_management_settings_types.mdx | 33 + ...management_settings_utilities.devdocs.json | 788 +++++++ .../kbn_management_settings_utilities.mdx | 30 + api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.devdocs.json | 55 + api_docs/kbn_monaco.mdx | 4 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- ...bn_serverless_common_settings.devdocs.json | 43 + api_docs/kbn_serverless_common_settings.mdx | 30 + ...erless_observability_settings.devdocs.json | 43 + .../kbn_serverless_observability_settings.mdx | 30 + api_docs/kbn_serverless_project_switcher.mdx | 2 +- ...bn_serverless_search_settings.devdocs.json | 43 + api_docs/kbn_serverless_search_settings.mdx | 30 + ..._serverless_security_settings.devdocs.json | 43 + api_docs/kbn_serverless_security_settings.mdx | 30 + api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 28 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.devdocs.json | 35 +- api_docs/serverless.mdx | 4 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 604 files changed, 7298 insertions(+), 616 deletions(-) create mode 100644 api_docs/kbn_management_settings_components_field_input.devdocs.json create mode 100644 api_docs/kbn_management_settings_components_field_input.mdx create mode 100644 api_docs/kbn_management_settings_components_field_row.devdocs.json create mode 100644 api_docs/kbn_management_settings_components_field_row.mdx create mode 100644 api_docs/kbn_management_settings_field_definition.devdocs.json create mode 100644 api_docs/kbn_management_settings_field_definition.mdx create mode 100644 api_docs/kbn_management_settings_ids.devdocs.json create mode 100644 api_docs/kbn_management_settings_ids.mdx create mode 100644 api_docs/kbn_management_settings_types.devdocs.json create mode 100644 api_docs/kbn_management_settings_types.mdx create mode 100644 api_docs/kbn_management_settings_utilities.devdocs.json create mode 100644 api_docs/kbn_management_settings_utilities.mdx create mode 100644 api_docs/kbn_serverless_common_settings.devdocs.json create mode 100644 api_docs/kbn_serverless_common_settings.mdx create mode 100644 api_docs/kbn_serverless_observability_settings.devdocs.json create mode 100644 api_docs/kbn_serverless_observability_settings.mdx create mode 100644 api_docs/kbn_serverless_search_settings.devdocs.json create mode 100644 api_docs/kbn_serverless_search_settings.mdx create mode 100644 api_docs/kbn_serverless_security_settings.devdocs.json create mode 100644 api_docs/kbn_serverless_security_settings.mdx diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 77ae4552b9494e..f769dec9bbb682 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index ea04a15079483c..116f4400fabadd 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 948af04dfa6cc7..7d901d917e2198 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 2742fa1ee38c0c..8ea4ec8b4e0459 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index 8bd384647c0991..e04ccc487115ef 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -4809,9 +4809,13 @@ "TypeC", "<{ entryTransactionId: ", "StringC", - "; }>]>; }> | undefined; handler: ({}: ", + "; }>, ", + "PartialC", + "<{ maxTraceItems: ", + "Type", + "; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", - " & { params: { path: { traceId: string; }; query: { start: number; end: number; } & { entryTransactionId: string; }; }; }) => Promise<{ traceItems: ", + " & { params: { path: { traceId: string; }; query: { start: number; end: number; } & { entryTransactionId: string; } & { maxTraceItems?: number | undefined; }; }; }) => Promise<{ traceItems: ", "TraceItems", "; entryTransaction?: ", "Transaction", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 1bf54763ec8f0c..934942ef4dc7df 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index b52bd14caca63f..7fbbbeaf32cb27 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.devdocs.json b/api_docs/asset_manager.devdocs.json index fcc5f81df29224..7f2baa50411c4a 100644 --- a/api_docs/asset_manager.devdocs.json +++ b/api_docs/asset_manager.devdocs.json @@ -22,7 +22,7 @@ "label": "AssetManagerConfig", "description": [], "signature": [ - "{ readonly alphaEnabled?: boolean | undefined; readonly sourceIndices: Readonly<{} & { metrics: string; traces: string; logs: string; serviceMetrics: string; serviceLogs: string; }>; readonly lockedSource: \"assets\" | \"signals\"; }" + "{ readonly alphaEnabled?: boolean | undefined; readonly sourceIndices: Readonly<{} & { metrics: string; logs: string; }>; readonly lockedSource: \"assets\" | \"signals\"; }" ], "path": "x-pack/plugins/asset_manager/server/types.ts", "deprecated": false, diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 34a38503bc482e..e8a7ead0e3f423 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index ea27403f79cd48..dfcf86d1f4c1a4 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 116c8ec5511e31..d3f3b85c98c7c9 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index b0aeb19ddc3a41..6bb63e47bd7e76 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 4d8fe0b736679f..da249a675d6707 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 7f8cebd9c601f2..c25aae50c77bd4 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 052d01b821dfb5..bb1ca8d19cb37a 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 4050a4485826a4..7c6de64c579797 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 022d5abf4e6885..42a3f24a762ad4 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index dc8e55c22fc37b..a8b3bc251e514b 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index fdbbbec14d7771..df824682c02b63 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index e712da700e1c44..a7858aded45bba 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index b869e5f9100bf6..d48e404e6e1487 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 3340eb43233211..cad065ce06831d 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 15cd6b51ccc393..53afb192e72024 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index d8aa02a236d4ce..7b6a95ddce80ba 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index cc3b8b98886a7e..95b1a1250f2f1d 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 044d3c18c32b22..37a8b7fa72fc37 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 08c3a62bf6fe4e..db134448b466af 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index ef9a68c32f6d8d..84b3aa93242c47 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13415,10 +13415,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -21160,10 +21156,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index dccb5a70b606f6..6bfaae8c55aa02 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index d49aec8aedb4d1..440af861a8bee2 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 38913c8ead517b..2be5a1621bac90 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 08db90c7bd89a2..9b9fe14e12357b 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 9a2fb90fbc842a..5f108a797d849c 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 6f6c4e9640185c..61eb6fc5cb6a40 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 306fa6e5ed4d46..70cff55c9937bf 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -107,10 +107,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -8100,10 +8096,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -15154,10 +15146,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 4f2d2cb766082d..cba5d81775e3da 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 7d0c90421fea65..8eba1bc28a3ff4 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 9621d6a7d6bdf3..c34b6f9df39e8b 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -66,7 +66,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | discover | - | | | data, discover, imageEmbeddable, embeddable | - | | | @kbn/core-saved-objects-browser-mocks, discover, @kbn/core-saved-objects-browser-internal | - | -| | advancedSettings, discover | - | +| | advancedSettings, discover, @kbn/management-settings-field-definition | - | | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal, canvas, @kbn/core-saved-objects-browser-internal | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index fdc39aec44effa..20316bc8c63423 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -304,6 +304,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] +## @kbn/management-settings-field-definition + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [get_definition.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-management/settings/field_definition/get_definition.ts#:~:text=metric) | - | + + + ## @kbn/react-kibana-context-styled | Deprecated API | Reference location(s) | Remove By | @@ -1459,12 +1467,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 12 more | - | | | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 78 more | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 10 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 9 more | - | | | [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/saved_objects.ts#:~:text=toMountPoint)+ 5 more | - | | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider) | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index ec5149568ca7ee..823c6845fe56f4 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 1e4729e6e3fd6c..eae382ca258020 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index eed219f241c706..3b3259d0cbc129 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index b03643efebe313..f53d71e4c0be17 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 14b6bf9f4585a8..fad333d7c3bca8 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index c14d11fc00a654..bb5346454d87d6 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index a84163a8085cad..e5863f17a000a7 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 405e1841018033..0de54d19b94803 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 1a8ec1b3322822..0b47459c13d302 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 6a7ea6a4ed4386..233483ada4ae36 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 211240e83892fd..7b2cadda5bf1b6 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 918abc119a91f6..d2c76e5b124f1f 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 5450d5fdf80395..b35f24c255122f 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 41758dac77bbb1..e8e9396cf034e6 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index ff5edb3e8db222..18c79a3fa66f51 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index fac0b4e9335a59..782170289107bc 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 714943cebb37f6..81d344911c4c6b 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index e16e5e8cfd4029..8586f6f34e5823 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 6e830e2a28c700..552babe91435a9 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 93c86b3f2998d4..44f6b30d3a7e39 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index cb1fd2689b0ef6..a68aa0869d79d3 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index eb961744db7e61..7385e62cde7dfc 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 9ac6e136ea5957..623f5a94ce8ca9 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 572d48f1801981..515c8f1d93fe2c 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 8d53983c480a00..14f3bd8ffdcd9b 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 72eb012d4e5840..7e5715c6125bd1 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index f10c76d5dd8248..81c150e4528da8 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index e2ed986a1b698f..81a08a37a641ce 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index ed98a4da428743..f7bf9d38714085 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index cf2d312c2cdc4a..89069da507e73b 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 7a5b54185b5655..146fb1ad8ac04a 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 1681a79d83ea8d..fd565572e57b2d 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 45cd2d17bc559f..cde19e16fd9f28 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 81f16a45699432..008869ed1c103c 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index a3ed95291ed2c9..864f7cb701e528 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index ee71d0e7f902c9..4bfd5c20c791ba 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.devdocs.json b/api_docs/home.devdocs.json index e39bab658985d0..ffae4fbc9f5a57 100644 --- a/api_docs/home.devdocs.json +++ b/api_docs/home.devdocs.json @@ -693,6 +693,54 @@ "path": "src/plugins/home/public/services/feature_catalogue/feature_catalogue_registry.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "home", + "id": "def-public.FeatureCatalogueSolution.isVisible", + "type": "Function", + "tags": [], + "label": "isVisible", + "description": [ + "Optional function to control visibility of this solution." + ], + "signature": [ + "((capabilities: ", + { + "pluginId": "@kbn/core-capabilities-common", + "scope": "common", + "docId": "kibKbnCoreCapabilitiesCommonPluginApi", + "section": "def-common.Capabilities", + "text": "Capabilities" + }, + ") => boolean) | undefined" + ], + "path": "src/plugins/home/public/services/feature_catalogue/feature_catalogue_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "home", + "id": "def-public.FeatureCatalogueSolution.isVisible.$1", + "type": "Object", + "tags": [], + "label": "capabilities", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-capabilities-common", + "scope": "common", + "docId": "kibKbnCoreCapabilitiesCommonPluginApi", + "section": "def-common.Capabilities", + "text": "Capabilities" + } + ], + "path": "src/plugins/home/public/services/feature_catalogue/feature_catalogue_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 45486fc1ebc576..89fbe9790ab9b9 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 147 | 0 | 108 | 0 | +| 149 | 0 | 109 | 0 | ## Client diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 344be405fc7f0c..7246a3b40891e6 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 7d94b8b112d3b3..9b7d3e033496c3 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 15df24ec989d68..209b95be63202d 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index fe2315d3a5d427..f56a7753b1a712 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 8574468784dbcc..2576a9ad718714 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 2d25ac27c58169..c40f1d90d78fb5 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 48640452cda1ae..54b791d6d64396 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index a380549bc7b5f9..201210befdb4d0 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index ef2c6c09fa4914..990f6c875d5ea5 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 8234fee3fbbef4..4bc2833b5410f1 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 0a303f602d63cc..cd2f05ea8cd2dd 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index d0d8506de6910d..d6fa40ced889a8 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 3bcba254073bdb..6e0fe1dfd8d22c 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index e4aed184e4032a..1c7a6f69af4d73 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index d211931f25de7e..8ef3bf7cbfc5e0 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index fd3aecb07e8962..d8031106fc1847 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 2af8818ec41158..14f2ce75c31ab6 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 8dde494334be2c..342266ca1b6cac 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index c5e5b566ffd0ea..64e95993ed8d79 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 79107120ff34bf..32eed44407a284 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 68eb7cb3375fd9..00c606eef262a7 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index bab117e8a909ff..30890218752fe1 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 3b83da8832a953..894ca4efc02c35 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 11c6d7bc0a7296..feecd076a50e11 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 8aba8b71f27261..eabebcbcad8ca8 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 53526edcc3c6c6..e9a8e296cfec96 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index f038efa40b43da..7ce9cdfc75946a 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index efd0a58540321d..d533f759f552a5 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 9318cb41213281..e2bbd222f478ce 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 37633ea374d3b3..a249173c4dc607 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 5be8ad1610d2a7..c18c56f5e3ebba 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 5efb6eece1487b..0ad31951aa0388 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index a69b0235e1fc22..e14c6231460711 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 0c120b3a98ed5c..5b1f7661fadce2 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 87d61f98882492..6aa7a61140c198 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 620fe6f680f1a3..8e3cf8cc19745a 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 66bd6a690d2cf3..bf35bb0bae403e 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index a147b6e9337716..521b6af3fbb542 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index e101f15d838159..809925aacafb42 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 1ae2b948d5b233..3ddbb29dab1fed 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 45e66d0da2aeaf..5b693f32035308 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index d2317b1c5ea493..246ec97ac60e11 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 1d47d3c65bee55..22e9602c9848f0 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 2b4bc1a023ca8b..8d640591dfbfd8 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index eb62fee67e3605..fb19b2722811ce 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index ca9ea007c12296..4a2479339cdc9c 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index e9526a3f62d06a..03a2d807d608cf 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index 8e7284fca387d2..2c92d56ed82d0c 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 53139c789c4689..35550fe4ac6b34 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 896ed47f6b98f3..0b02b2278d4150 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 0c73e53450d520..fa7201dd3c0a4d 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index e2db3a4984bca9..709dd2cb65b7a0 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 3e3ea42dd5e98e..fd39cd1e5d0267 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 94081823b76db3..96d46f1ff82fd8 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 8737727eefc6f1..5c3bbcfb54b1c0 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 395bd8af7a4ad6..94943f1609c271 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 869c2029323781..88c9a6f9d46c00 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 909a9c2ab53ada..9c026eb2fbd006 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 160145bfb45f23..906b1d0faecc3b 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index ec889e3d06cb3f..3eede6580c1ff2 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index faeeada886cb20..3b7695c8b9e5f4 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 0714270b41c9d9..960f84c66596fe 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 1a5cc7bcc68782..eafa0c070d64ce 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index e1c2581a42639e..f8bc8816b403ca 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 0f26384bbfd39b..b6cffdb054444f 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index b8f589f7a9927c..d1306a2e1c770b 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 56e2bc70b26d6b..768fdb6ec92b95 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 3dc3181eeca293..5cef2d6c9a47ce 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index d2c2dbba8301d3..6c8f7fcdf06fd7 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index e69ca643265e7f..4f465fa7e77dc0 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 152b093856f272..33183dff8a1e73 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index e3d548172b49da..78627d9cd6ff8c 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 95dfd3b0c0c780..801e8875eb89be 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 17c16c8037cc2f..dfe7f3e008634a 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 04b1cf3e67f9e8..35e1b62fae4350 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index e0073b947fb11d..ec8b5d41d1b904 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index 8dae3e842dee96..568684a7ed1b21 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 48bd9aeff76ddc..3c2077ac5c9ce8 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index b9c22f819e6aec..66c6d98643c51d 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 126eafe6962b85..08027643bb569f 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 482e19fb7897d6..72cadd2b28a2bf 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 73533ae4e293c6..931303a1862cd4 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index fa0cb919756863..5bffbb6c006f78 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 90cc607972980c..25f24ade5d1e44 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 64067d62e9b049..9d241d30746d2c 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index cce93a3bc27e9c..3f7758329c5daa 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index e0714d4dc9b32c..427ceda5e1c535 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index acbe2d77c3d6b1..10d34fc7145bda 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 9fdf41e26eeebb..95f96db44431b3 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index b41e1bb91a3dfd..ed6a74ddf6f820 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 325f5e5fc791fd..2c3d5c020cd287 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 162a8a4dc86b91..3ef6f666cffc3d 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index e076d5c0e6c338..c498f2281fc028 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index a5259752a003e6..d61d47d93930f0 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 6853187b735fd5..247db7882ed85b 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 0022f2405c73a1..77d9ceaa9d3c09 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 700f5bba684dd9..669e7426797aae 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 5cc3009ddbc95d..0b541d9b8e11e1 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 37068160871454..074c9871fecdd0 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 6878ef8377f73b..09b01925db9573 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 24c75daf246ab9..f9e7348f255ec1 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index 3e864f602dafee..d062156d3954f5 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index 9f277729ca71fc..ba027e9763dcd7 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index a8734ff2336032..09f8ca4c46104e 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index cbbb33985a8aeb..7882f0088aaced 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index dd8967d2d75a01..c93ddf9eadeb7b 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index dd1bfb90c43ad9..d9344703a1eaad 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index b29bfb37a617cc..0c8023b60b7340 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index c17f9b534fb39a..d0f719603edb6b 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 0c60e77a9eaa6e..ef933f443ae036 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 45557ff7be6e15..e6eddcaa97a2b9 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index b6c5a7e685515c..a70f1d958f27c8 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index ca7fe489ebcf66..2918f743edd3a5 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 6e71f4170fcefe..889b027188406d 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index d9f00ec296c72d..18394c44a9d895 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 595a8c0a7bc5ac..6ee2f643969189 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 2f7008b48665e7..939881a2ca2feb 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index de9987938dad4b..49ef380d9ae91d 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 0f4873c88eb94e..bf7cda69355686 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 4de8474a2b1a99..0cfcf35c4bc3c6 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 46137a50c99f52..ceaed89ee3b37f 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index ffc17fd3a1b79e..ce6e48b6e93155 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index ea3ae421273874..de228bd584509c 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 5fb24186b29f69..dd4a2372f26703 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index bf3d68df6c495f..1837040dbad2ab 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 0fb20058e4d36b..35c8c66258c77c 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 7b3901871f01a3..b4a94f4128919d 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index dccbf7cad58229..aeea9e18730df4 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 2802be031c000c..d47e7103012ac2 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 03d6560a158c01..e45f3ec2ffefe0 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index d2ea1e51d7a43a..54fa7e6298f699 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 5c55790e89ff2d..5bc22e3da8cbf6 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 11ccf89fcff3bc..fa2f6c3f5f16fc 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index 64dc089190e9e4..4d8dda4d1788dd 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 6672f79c7d3166..2fb057d10a8e2d 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index 1d833a7694d80f..400cc8707c7d66 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 65bd727e2462ba..7a53dc5c044e31 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 56130fa76a2300..2480a071ce56a0 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index c82b126e96db4e..b73065de470c3a 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index b9621eef0f7bf1..8b9bd8f098fd01 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index a9537b375e5aa6..d954dce2f2b2bd 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 2c6b086076c71d..9763bb576a19d5 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 5d6f02c127f66f..fcf14abc66907a 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 2dbc851e3e0b6b..5b05388fe50b91 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index a59c4125b51d26..c5068f5d36bc39 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 33688eca595730..fe537a156e9748 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 139f9ee076b9c8..dbedde8326fa0c 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 7d471f27cff87f..182fa629af08eb 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index b62ce573dc7150..1ae2c41237ecbf 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 7f2922b8c4f64e..05002f137bb92d 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index f46f55fdc1669c..ccfb5286d38c16 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index e1dad980db9aa0..feb0df5014cb47 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 9174b9b6e19af0..62280c0c12da1b 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 4e35dbd7588a2a..2cbc7f9ca6d1f5 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 8b2c6d23e7412d..f30a21ec790b16 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 203dfe3c687b5a..82b10036e143ba 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 2db8f031780bd4..a50be8c4fd1dd6 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 345e2a6c99d4cb..f6441d6d0b1270 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 9462f7fdda2675..eb1703990791c6 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 5bc681f863793e..771990875640a4 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index b8ea126d1ca9a2..a01a46be63ecd9 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index bec74fb2e248e4..001c44618d0c3b 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index d27d9553efca53..027646fe0f9ac7 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index aef1539126a307..4651012b8d142e 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index a80bf5ebddea8c..77294bc4122925 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index f33a08e3ab1a30..50d29aa340d3d7 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index f0543399fd9ff6..46a80f89590859 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 625ba12e434611..231f0c02bee797 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index b012699c60759c..3b4ecdf7b9bdbb 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json index 4788fa89a6be43..4706f5a6e2e385 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json @@ -843,6 +843,8 @@ "IndexNotGreenTimeout", " | ", "ClusterShardLimitExceeded", + " | ", + "OperationNotSupported", ", ", "AcknowledgeResponse", ">" diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 0a702618c7d71c..8903a502bfadce 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 125 | 0 | 91 | 46 | +| 125 | 0 | 91 | 47 | ## Common diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index bda8a397aa4fe1..abdceac9b19ec3 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 747e30cab90b15..145d5e170fd621 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 19ff53584bbc21..4d271c4731a119 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index cf0f2654d762b4..9e6dcb77e91956 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 9f3d0a5523949b..fc7cd5b1cc5b15 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 8b965cd2818b98..b474628c4e6aba 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 6513dbf6cdefb7..b5d224491a0d9f 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 8cd9a106b7ccb4..b936f1cad49501 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index fe529edb5cb7cd..d50758bd95481b 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index c1b3a997b8e9c4..fbbc9bca14735f 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 84c79532de133d..4325a8b9d0a47f 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 2e8c43eab6511f..0d8c915fc6da6d 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 78de5620171850..70bfe3aae86937 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 23fb18aaa0ad97..b4511ef51975f5 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 3c1cd7de186134..79df374c28e3a1 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index c2db09a9a65e4e..4028e66a556aa9 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 55504deb980201..4ee1059f282fab 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.devdocs.json b/api_docs/kbn_core_ui_settings_browser.devdocs.json index f39807e781468e..4804d0fac6dacd 100644 --- a/api_docs/kbn_core_ui_settings_browser.devdocs.json +++ b/api_docs/kbn_core_ui_settings_browser.devdocs.json @@ -554,7 +554,15 @@ "section": "def-common.UiSettingsScope", "text": "UiSettingsScope" }, - " | undefined; order?: number | undefined; name?: string | undefined; description?: string | undefined; category?: string[] | undefined; optionLabels?: Record | undefined; requiresPageReload?: boolean | undefined; readonly?: boolean | undefined; sensitive?: boolean | undefined; deprecation?: ", + " | undefined; order?: number | undefined; name?: string | undefined; description?: string | undefined; category?: string[] | undefined; optionLabels?: Record | undefined; requiresPageReload?: boolean | undefined; readonly?: boolean | undefined; readonlyMode?: ", + { + "pluginId": "@kbn/core-ui-settings-common", + "scope": "common", + "docId": "kibKbnCoreUiSettingsCommonPluginApi", + "section": "def-common.ReadonlyModeType", + "text": "ReadonlyModeType" + }, + " | undefined; sensitive?: boolean | undefined; deprecation?: ", { "pluginId": "@kbn/core-ui-settings-common", "scope": "common", diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index f33556054d4b66..66e9d39800be8e 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index bd5f2306dd104c..dbabbf0a55f920 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 58e1cab74c117a..ee1d96f201645a 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.devdocs.json b/api_docs/kbn_core_ui_settings_common.devdocs.json index 252e14a65d2197..16e4a9397621c4 100644 --- a/api_docs/kbn_core_ui_settings_common.devdocs.json +++ b/api_docs/kbn_core_ui_settings_common.devdocs.json @@ -213,6 +213,29 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-ui-settings-common", + "id": "def-common.UiSettingsParams.readonlyMode", + "type": "CompoundType", + "tags": [], + "label": "readonlyMode", + "description": [ + "a flag indicating the level of restriction of the readonly settings {@link ReadonlyModeType}" + ], + "signature": [ + { + "pluginId": "@kbn/core-ui-settings-common", + "scope": "common", + "docId": "kibKbnCoreUiSettingsCommonPluginApi", + "section": "def-common.ReadonlyModeType", + "text": "ReadonlyModeType" + }, + " | undefined" + ], + "path": "packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-ui-settings-common", "id": "def-common.UiSettingsParams.sensitive", @@ -345,6 +368,10 @@ { "plugin": "discover", "path": "src/plugins/discover/server/ui_settings.ts" + }, + { + "plugin": "@kbn/management-settings-field-definition", + "path": "packages/kbn-management/settings/field_definition/get_definition.ts" } ] }, @@ -431,6 +458,23 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/core-ui-settings-common", + "id": "def-common.ReadonlyModeType", + "type": "Type", + "tags": [], + "label": "ReadonlyModeType", + "description": [ + "\nType for the readonly mode of the readonly settings.\n'strict' indicates that the value cannot be changed through API and is not displayed in the UI\n'ui' indicates that the value is just not displayed in the UI" + ], + "signature": [ + "\"strict\" | \"ui\"" + ], + "path": "packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-ui-settings-common", "id": "def-common.TIMEZONE_OPTIONS", diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index e31ad7dd9f5b16..8b9b496609e849 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 25 | 0 | 4 | 0 | +| 27 | 0 | 4 | 0 | ## Common diff --git a/api_docs/kbn_core_ui_settings_server.devdocs.json b/api_docs/kbn_core_ui_settings_server.devdocs.json index e4d4c0c5eedd14..9db8a89dd3d1ff 100644 --- a/api_docs/kbn_core_ui_settings_server.devdocs.json +++ b/api_docs/kbn_core_ui_settings_server.devdocs.json @@ -525,6 +525,40 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "@kbn/core-ui-settings-server", + "id": "def-common.UiSettingsServiceSetup.setAllowlist", + "type": "Function", + "tags": [], + "label": "setAllowlist", + "description": [ + "\nSets an allowlist of setting keys." + ], + "signature": [ + "(keys: string[]) => void" + ], + "path": "packages/core/ui-settings/core-ui-settings-server/src/contracts.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-ui-settings-server", + "id": "def-common.UiSettingsServiceSetup.setAllowlist.$1", + "type": "Array", + "tags": [], + "label": "keys", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/core/ui-settings/core-ui-settings-server/src/contracts.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 3cfc74cad599cd..e6563f5f7e730a 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 32 | 1 | 16 | 0 | +| 34 | 1 | 17 | 0 | ## Common diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 2eb87fb8bcec8b..3fd46b711a04a5 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index c5881c5a04f5dc..6c9f2ccee8d629 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index eaad95ac09495c..00cc70e786a4cc 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 40d2b808275104..49757b6f75eaa0 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 3548346752b884..543ce65ee4c81f 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 112929653a1482..d51d21ac260c99 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 23eea95f2dd5f4..3c7b6d0c59f056 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 3391bb253ca791..95c53619109b70 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index dfb13ab5fb3759..978ca8c7e9baa9 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 47454781f91796..ed2a6e799801ad 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 61a5673a23a604..03b957e3c9f1be 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 87b53d6af25e9d..9ef75da2c9de01 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index d1035c4aabf5a0..c71356cd9304e4 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 1cd8529c53d9d1..76f2ac58f8b7e6 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 754a7fd601c2cc..2580a8aa326dc1 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index a68c219b5d404a..510cb451ce1b25 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 92128db57cc4d7..1af83f0011ab36 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index f98356b52804d8..a83c88b424fa43 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 31a54811cb680f..afb641c1780cbd 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 3c844b072791d5..8a47342716dbb5 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index f8220cf020878b..92cf9d528aa737 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 36c772a510e153..70fbd6df2921d2 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 5f07faffe96338..d6829a3eb36afe 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 7c8aad2286cc1b..fc8fa93ebdd0bc 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 002ce28d1ad357..37a99d2af044ca 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 1091513673be26..ff2feeec50f547 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index df3bda28f55c0f..c93f53a0f0c0e4 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 35f90b549c342d..0478522785d512 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 0fddfa76328c42..f9afe57ee80e3e 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 0a6b75c10f0f85..f1da93bae25044 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 32cdf613a36911..75bd3ffca52924 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 777be0261da607..ebfc3717cb9072 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 02c8546c578a3b..90978dba36fd37 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index c4ea201f1b60b3..415c11e4593839 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 439c15c1fd37de..aceeaa83e8dddc 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index effd8d9c13d838..d65666ae26616d 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 2b656af9f702ca..11fd9ddc532010 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 51ed065ecafd33..1539ce53d15199 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 350fdfec8cb44c..37af94302d29d0 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 9d4e11583b97e5..daab931a6854d4 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 5e8bd7b7e52ecd..512dabb1a42e36 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index ca0839e55844fb..ba47b7261b0a91 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 38ef1215e1df8a..f948ff6b51a3e8 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index ab10123d1b9e97..2b28057bccfd40 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 806c65bb3d0aee..2e0f25a31f2623 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 4eaf9c2153bed8..5a072165e09f4c 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 20e101f50464b9..fccc0db06353d0 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 64e47d147eda68..fa31ed7ca74368 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index f839ad02f249dc..f2945e91c4c982 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 3a912ac8c37024..0213d9cf372bc6 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 22aebb53a72ce6..c9cf611bccc4fc 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 42a99fcfbbc284..16d6c53bf81882 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 1babc719e08b73..447f19a11f64cd 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index e786f9e31b8d85..3fcefee6eaeb4e 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 99ba2cd9d89563..57310fd29cee3f 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 6ee3c47ceed81e..9bfa6d175ef5d8 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 5fbfeda9b8389e..95b33483530449 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 5c57d2a0252d0a..bf511f730692bf 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 70b376e9341e45..724cf2e63ecc7c 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 3bfa007a046e96..1db38de200b22d 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 414e53852d0f03..7be114217863df 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 3c1391f2dda0eb..27a614798fe3b4 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index a8aaedacf28e83..f9642279de4325 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index fd4f081636afba..bee594dcc6ad97 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 9f6cd75e6395f3..6de4795ea9f248 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index f8b2888220e468..ece674a9c623f6 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 2020cfb51fe885..6f6850a7eefccd 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 6db717c3867f64..47f4bbcf3c3b1b 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index e1ccfad3c19b65..1d32c78f3f29eb 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 756c8364143f94..f06e544f9a6be2 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index eb878c93087a77..a1a3d9889a5ae6 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index c2f0d0c1b5a0fd..59937e4ea4c0ca 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 0b7a79b90bcc99..db16509d7c6ac3 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.devdocs.json b/api_docs/kbn_management_settings_components_field_input.devdocs.json new file mode 100644 index 00000000000000..06abcd536d7b3d --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_input.devdocs.json @@ -0,0 +1,482 @@ +{ + "id": "@kbn/management-settings-components-field-input", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInput", + "type": "Function", + "tags": [], + "label": "FieldInput", + "description": [ + "\nAn input that allows one to change a setting in Kibana.\n" + ], + "signature": [ + "(props: ", + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.FieldInputProps", + "text": "FieldInputProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInput.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [ + "The props for the {@link FieldInput } component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.FieldInputProps", + "text": "FieldInputProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputKibanaDependencies", + "type": "Interface", + "tags": [], + "label": "FieldInputKibanaDependencies", + "description": [ + "\nAn interface containing a collection of Kibana plugins and services required to\nrender this component." + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputKibanaDependencies.toasts", + "type": "Object", + "tags": [], + "label": "toasts", + "description": [ + "The portion of the {@link ToastsStart} contract used by this component." + ], + "signature": [ + "{ addDanger: (toastOrTitle: ", + { + "pluginId": "@kbn/core-notifications-browser", + "scope": "common", + "docId": "kibKbnCoreNotificationsBrowserPluginApi", + "section": "def-common.ToastInput", + "text": "ToastInput" + }, + ", options?: any) => ", + { + "pluginId": "@kbn/core-notifications-browser", + "scope": "common", + "docId": "kibKbnCoreNotificationsBrowserPluginApi", + "section": "def-common.Toast", + "text": "Toast" + }, + "; }" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps", + "type": "Interface", + "tags": [], + "label": "FieldInputProps", + "description": [ + "\nThe props that are passed to the {@link FieldInput} component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.FieldInputProps", + "text": "FieldInputProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.field", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The {@link FieldDefinition} for the component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.unsavedChange", + "type": "Object", + "tags": [], + "label": "unsavedChange", + "description": [ + "An {@link UnsavedFieldChange} for the component, if any." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + " | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.onChange", + "type": "Function", + "tags": [], + "label": "onChange", + "description": [ + "The `onChange` handler for the input." + ], + "signature": [ + "(params: ", + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + ") => void" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.onChange.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.isDisabled", + "type": "CompoundType", + "tags": [], + "label": "isDisabled", + "description": [ + "True if the input is disabled, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.isInvalid", + "type": "CompoundType", + "tags": [], + "label": "isInvalid", + "description": [ + "True if the value within the input is invalid, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputServices", + "type": "Interface", + "tags": [], + "label": "FieldInputServices", + "description": [ + "\nContextual services used by a {@link FieldInput} component." + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputServices.showDanger", + "type": "Function", + "tags": [], + "label": "showDanger", + "description": [ + "\nDisplays a danger toast message." + ], + "signature": [ + "(value: string) => void" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputServices.showDanger.$1", + "type": "string", + "tags": [], + "label": "value", + "description": [ + "The message to display." + ], + "signature": [ + "string" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams", + "type": "Interface", + "tags": [], + "label": "OnChangeParams", + "description": [ + "\nParameters for the {@link OnChangeFn} handler." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams.value", + "type": "CompoundType", + "tags": [], + "label": "value", + "description": [ + "The value provided to the handler." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams.error", + "type": "string", + "tags": [], + "label": "error", + "description": [ + "An error message, if one occurred." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams.isInvalid", + "type": "CompoundType", + "tags": [], + "label": "isInvalid", + "description": [ + "True if the format of a change is not valid, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeFn", + "type": "Type", + "tags": [], + "label": "OnChangeFn", + "description": [ + "\nA function that is called when the value of a {@link FieldInput} changes." + ], + "signature": [ + "(params: ", + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + ") => void" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeFn.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [ + "The {@link OnChangeParams } parameters passed to the handler." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx new file mode 100644 index 00000000000000..eea57589ebe01c --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsComponentsFieldInputPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input +title: "@kbn/management-settings-components-field-input" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-components-field-input plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] +--- +import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 20 | 0 | 1 | 0 | + +## Common + +### Functions + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_management_settings_components_field_row.devdocs.json b/api_docs/kbn_management_settings_components_field_row.devdocs.json new file mode 100644 index 00000000000000..117654406892d0 --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_row.devdocs.json @@ -0,0 +1,277 @@ +{ + "id": "@kbn/management-settings-components-field-row", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRow", + "type": "Function", + "tags": [], + "label": "FieldRow", + "description": [ + "\nComponent for displaying a {@link FieldDefinition} in a form row, using a {@link FieldInput}." + ], + "signature": [ + "(props: ", + { + "pluginId": "@kbn/management-settings-components-field-row", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldRowPluginApi", + "section": "def-common.FieldRowProps", + "text": "FieldRowProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRow.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [ + "The {@link FieldRowProps } for the {@link FieldRow } component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-row", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldRowPluginApi", + "section": "def-common.FieldRowProps", + "text": "FieldRowProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps", + "type": "Interface", + "tags": [], + "label": "FieldRowProps", + "description": [ + "\nProps for a {@link FieldRow} component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-row", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldRowPluginApi", + "section": "def-common.FieldRowProps", + "text": "FieldRowProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.isSavingEnabled", + "type": "boolean", + "tags": [], + "label": "isSavingEnabled", + "description": [ + "True if saving settings is enabled, false otherwise." + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onChange", + "type": "Function", + "tags": [], + "label": "onChange", + "description": [ + "The {@link OnChangeFn} handler." + ], + "signature": [ + "(id: string, change: ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + ") => void" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onChange.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "packages/kbn-management/settings/components/field_row/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onChange.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_row/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onClear", + "type": "Function", + "tags": [], + "label": "onClear", + "description": [ + "\nThe onClear handler, if a value is cleared to an empty or default state." + ], + "signature": [ + "((id: string) => void) | undefined" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onClear.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The id relating to the field to clear." + ], + "signature": [ + "string" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.field", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The {@link FieldDefinition} corresponding the setting." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.unsavedChange", + "type": "Object", + "tags": [], + "label": "unsavedChange", + "description": [ + "The {@link UnsavedFieldChange} corresponding to any unsaved change to the field." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + " | undefined" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx new file mode 100644 index 00000000000000..98d151b7e51267 --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsComponentsFieldRowPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row +title: "@kbn/management-settings-components-field-row" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-components-field-row plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] +--- +import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 11 | 0 | 2 | 0 | + +## Common + +### Functions + + +### Interfaces + + diff --git a/api_docs/kbn_management_settings_field_definition.devdocs.json b/api_docs/kbn_management_settings_field_definition.devdocs.json new file mode 100644 index 00000000000000..f19d32aba14fad --- /dev/null +++ b/api_docs/kbn_management_settings_field_definition.devdocs.json @@ -0,0 +1,969 @@ +{ + "id": "@kbn/management-settings-field-definition", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.getFieldDefinition", + "type": "Function", + "tags": [], + "label": "getFieldDefinition", + "description": [ + "\nCreate a {@link FieldDefinition} from a {@link UiSettingMetadata} object for use\nin the UI.\n" + ], + "signature": [ + "(parameters: GetDefinitionParams) => ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/field_definition/get_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.getFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "parameters", + "description": [ + "The {@link GetDefinitionParams } for creating the {@link FieldDefinition }." + ], + "signature": [ + "GetDefinitionParams" + ], + "path": "packages/kbn-management/settings/field_definition/get_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldDefinition", + "type": "Function", + "tags": [], + "label": "isArrayFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link ArrayFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ArrayFieldDefinition", + "text": "ArrayFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isArrayFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link ArrayUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ArrayUnsavedFieldChange", + "text": "ArrayUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldDefinition", + "type": "Function", + "tags": [], + "label": "isBooleanFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link BooleanFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.BooleanFieldDefinition", + "text": "BooleanFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isBooleanFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link BooleanUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.BooleanUnsavedFieldChange", + "text": "BooleanUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldDefinition", + "type": "Function", + "tags": [], + "label": "isColorFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link ColorFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ColorFieldDefinition", + "text": "ColorFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isColorFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link ColorUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ColorUnsavedFieldChange", + "text": "ColorUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldDefinition", + "type": "Function", + "tags": [], + "label": "isImageFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link ImageFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ImageFieldDefinition", + "text": "ImageFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isImageFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link ImageUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ImageUnsavedFieldChange", + "text": "ImageUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldDefinition", + "type": "Function", + "tags": [], + "label": "isJsonFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link JsonFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.JsonFieldDefinition", + "text": "JsonFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isJsonFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link JsonUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.JsonUnsavedFieldChange", + "text": "JsonUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldDefinition", + "type": "Function", + "tags": [], + "label": "isMarkdownFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link MarkdownFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.MarkdownFieldDefinition", + "text": "MarkdownFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isMarkdownFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link MarkdownUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.MarkdownUnsavedFieldChange", + "text": "MarkdownUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldDefinition", + "type": "Function", + "tags": [], + "label": "isNumberFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link NumberFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.NumberFieldDefinition", + "text": "NumberFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isNumberFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link NumberUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.NumberUnsavedFieldChange", + "text": "NumberUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldDefinition", + "type": "Function", + "tags": [], + "label": "isSelectFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link SelectFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectFieldDefinition", + "text": "SelectFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isSelectFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link SelectUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectUnsavedFieldChange", + "text": "SelectUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldDefinition", + "type": "Function", + "tags": [], + "label": "isStringFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link StringFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.StringFieldDefinition", + "text": "StringFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isStringFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link StringUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.StringUnsavedFieldChange", + "text": "StringUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldDefinition", + "type": "Function", + "tags": [], + "label": "isUndefinedFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link UndefinedFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UndefinedFieldDefinition", + "text": "UndefinedFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isUndefinedFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link UndefinedUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UndefinedUnsavedFieldChange", + "text": "UndefinedUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx new file mode 100644 index 00000000000000..ef4e437056cdb6 --- /dev/null +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsFieldDefinitionPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-field-definition +title: "@kbn/management-settings-field-definition" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-field-definition plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] +--- +import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 42 | 0 | 0 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_management_settings_ids.devdocs.json b/api_docs/kbn_management_settings_ids.devdocs.json new file mode 100644 index 00000000000000..65f93495339952 --- /dev/null +++ b/api_docs/kbn_management_settings_ids.devdocs.json @@ -0,0 +1,1933 @@ +{ + "id": "@kbn/management-settings-ids", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ACCESSIBILITY_DISABLE_ANIMATIONS_ID", + "type": "string", + "tags": [], + "label": "ACCESSIBILITY_DISABLE_ANIMATIONS_ID", + "description": [], + "signature": [ + "\"accessibility:disableAnimations\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.AUTOCOMPLETE_USE_TIME_RANGE_ID", + "type": "string", + "tags": [], + "label": "AUTOCOMPLETE_USE_TIME_RANGE_ID", + "description": [], + "signature": [ + "\"autocomplete:useTimeRange\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.AUTOCOMPLETE_VALUE_SUGGESTION_METHOD_ID", + "type": "string", + "tags": [], + "label": "AUTOCOMPLETE_VALUE_SUGGESTION_METHOD_ID", + "description": [], + "signature": [ + "\"autocomplete:valueSuggestionMethod\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_BACKGROUND_COLOR_ID", + "type": "string", + "tags": [], + "label": "BANNERS_BACKGROUND_COLOR_ID", + "description": [], + "signature": [ + "\"banners:backgroundColor\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_PLACEMENT_ID", + "type": "string", + "tags": [], + "label": "BANNERS_PLACEMENT_ID", + "description": [], + "signature": [ + "\"banners:placement\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_TEXT_COLOR_ID", + "type": "string", + "tags": [], + "label": "BANNERS_TEXT_COLOR_ID", + "description": [], + "signature": [ + "\"banners:textColor\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_TEXT_CONTENT_ID", + "type": "string", + "tags": [], + "label": "BANNERS_TEXT_CONTENT_ID", + "description": [], + "signature": [ + "\"banners:textContent\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CONTEXT_DEFAULT_SIZE_ID", + "type": "string", + "tags": [], + "label": "CONTEXT_DEFAULT_SIZE_ID", + "description": [], + "signature": [ + "\"context:defaultSize\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CONTEXT_STEP_ID", + "type": "string", + "tags": [], + "label": "CONTEXT_STEP_ID", + "description": [], + "signature": [ + "\"context:step\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CONTEXT_TIE_BREAKER_FIELDS_ID", + "type": "string", + "tags": [], + "label": "CONTEXT_TIE_BREAKER_FIELDS_ID", + "description": [], + "signature": [ + "\"context:tieBreakerFields\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_CUSTOM_REQUEST_PREFERENCE_ID", + "type": "string", + "tags": [], + "label": "COURIER_CUSTOM_REQUEST_PREFERENCE_ID", + "description": [], + "signature": [ + "\"courier:customRequestPreference\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID", + "type": "string", + "tags": [], + "label": "COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID", + "description": [], + "signature": [ + "\"courier:ignoreFilterIfFieldNotInIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_MAX_CONCURRENT_SHARD_REQUEST_ID", + "type": "string", + "tags": [], + "label": "COURIER_MAX_CONCURRENT_SHARD_REQUEST_ID", + "description": [], + "signature": [ + "\"courier:maxConcurrentShardRequests\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_SET_REQUEST_PREFERENCE_ID", + "type": "string", + "tags": [], + "label": "COURIER_SET_REQUEST_PREFERENCE_ID", + "description": [], + "signature": [ + "\"courier:setRequestPreference\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CSV_QUOTE_VALUES_ID", + "type": "string", + "tags": [], + "label": "CSV_QUOTE_VALUES_ID", + "description": [], + "signature": [ + "\"csv:quoteValues\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CSV_SEPARATOR_ID", + "type": "string", + "tags": [], + "label": "CSV_SEPARATOR_ID", + "description": [], + "signature": [ + "\"csv:separator\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_DOW_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_DOW_ID", + "description": [], + "signature": [ + "\"dateFormat:dow\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_ID", + "description": [], + "signature": [ + "\"dateFormat\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_NANOS_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_NANOS_ID", + "description": [], + "signature": [ + "\"dateNanosFormat\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_SCALED_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_SCALED_ID", + "description": [], + "signature": [ + "\"dateFormat:scaled\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_TZ_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_TZ_ID", + "description": [], + "signature": [ + "\"dateFormat:tz\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DEFAULT_COLUMNS_ID", + "type": "string", + "tags": [], + "label": "DEFAULT_COLUMNS_ID", + "description": [], + "signature": [ + "\"defaultColumns\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DEFAULT_INDEX_ID", + "type": "string", + "tags": [], + "label": "DEFAULT_INDEX_ID", + "description": [], + "signature": [ + "\"defaultIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DEFAULT_ROUTE_ID", + "type": "string", + "tags": [], + "label": "DEFAULT_ROUTE_ID", + "description": [], + "signature": [ + "\"defaultRoute\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISABLE_BATCH_COMPRESSION_ID", + "type": "string", + "tags": [], + "label": "DISABLE_BATCH_COMPRESSION_ID", + "description": [], + "signature": [ + "\"bfetch:disableCompression\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISABLE_REQUEST_BATCHING_ID", + "type": "string", + "tags": [], + "label": "DISABLE_REQUEST_BATCHING_ID", + "description": [], + "signature": [ + "\"bfetch:disable\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_ENABLE_SQL_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_ENABLE_SQL_ID", + "description": [], + "signature": [ + "\"discover:enableSql\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_MAX_DOC_FIELDS_DISPLAYED_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_MAX_DOC_FIELDS_DISPLAYED_ID", + "description": [], + "signature": [ + "\"discover:maxDocFieldsDisplayed\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_MODIFY_COLUMNS_ON_SWITCH_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_MODIFY_COLUMNS_ON_SWITCH_ID", + "description": [], + "signature": [ + "\"discover:modifyColumnsOnSwitch\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_ROW_HEIGHT_OPTION_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_ROW_HEIGHT_OPTION_ID", + "description": [], + "signature": [ + "\"discover:rowHeightOption\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SAMPLE_ROWS_PER_PAGE_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SAMPLE_ROWS_PER_PAGE_ID", + "description": [], + "signature": [ + "\"discover:sampleRowsPerPage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SAMPLE_SIZE_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SAMPLE_SIZE_ID", + "description": [], + "signature": [ + "\"discover:sampleSize\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SEARCH_FIELDS_FROM_SOURCE_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SEARCH_FIELDS_FROM_SOURCE_ID", + "description": [], + "signature": [ + "\"discover:searchFieldsFromSource\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SEARCH_ON_PAGE_LOAD_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SEARCH_ON_PAGE_LOAD_ID", + "description": [], + "signature": [ + "\"discover:searchOnPageLoad\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SHOW_FIELD_STATISTICS_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SHOW_FIELD_STATISTICS_ID", + "description": [], + "signature": [ + "\"discover:showFieldStatistics\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SHOW_LEGACY_FIELD_TOP_VALUES_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SHOW_LEGACY_FIELD_TOP_VALUES_ID", + "description": [], + "signature": [ + "\"discover:showLegacyFieldTopValues\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SHOW_MULTI_FIELDS_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SHOW_MULTI_FIELDS_ID", + "description": [], + "signature": [ + "\"discover:showMultiFields\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SORT_DEFAULT_ORDER_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SORT_DEFAULT_ORDER_ID", + "description": [], + "signature": [ + "\"discover:sort:defaultOrder\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DOC_TABLE_HIDE_TIME_COLUMNS_ID", + "type": "string", + "tags": [], + "label": "DOC_TABLE_HIDE_TIME_COLUMNS_ID", + "description": [], + "signature": [ + "\"doc_table:hideTimeColumn\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DOC_TABLE_HIGHLIGHT_ID", + "type": "string", + "tags": [], + "label": "DOC_TABLE_HIGHLIGHT_ID", + "description": [], + "signature": [ + "\"doc_table:highlight\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DOC_TABLE_LEGACY_ID", + "type": "string", + "tags": [], + "label": "DOC_TABLE_LEGACY_ID", + "description": [], + "signature": [ + "\"doc_table:legacy\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FIELDS_POPULAR_LIMIT_ID", + "type": "string", + "tags": [], + "label": "FIELDS_POPULAR_LIMIT_ID", + "description": [], + "signature": [ + "\"fields:popularLimit\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FILE_UPLOAD_MAX_SIZE_ID", + "type": "string", + "tags": [], + "label": "FILE_UPLOAD_MAX_SIZE_ID", + "description": [], + "signature": [ + "\"fileUpload:maxFileSize\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FILTER_EDITOR_SUGGEST_VALUES_ID", + "type": "string", + "tags": [], + "label": "FILTER_EDITOR_SUGGEST_VALUES_ID", + "description": [], + "signature": [ + "\"filterEditor:suggestValues\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FILTERS_PINNED_BY_DEFAULT_ID", + "type": "string", + "tags": [], + "label": "FILTERS_PINNED_BY_DEFAULT_ID", + "description": [], + "signature": [ + "\"filters:pinnedByDefault\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_BYTES_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_BYTES_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:bytes:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_CURRENCY_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_CURRENCY_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:currency:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_DEFAULT_TYPE_MAP_ID", + "type": "string", + "tags": [], + "label": "FORMAT_DEFAULT_TYPE_MAP_ID", + "description": [], + "signature": [ + "\"format:defaultTypeMap\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_NUMBER_DEFAULT_LOCALE_ID", + "type": "string", + "tags": [], + "label": "FORMAT_NUMBER_DEFAULT_LOCALE_ID", + "description": [], + "signature": [ + "\"format:number:defaultLocale\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_NUMBER_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_NUMBER_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:number:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_PERCENT_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_PERCENT_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:percent:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HIDE_ANNOUNCEMENTS_ID", + "type": "string", + "tags": [], + "label": "HIDE_ANNOUNCEMENTS_ID", + "description": [], + "signature": [ + "\"hideAnnouncements\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HISTOGRAM_BAR_TARGET_ID", + "type": "string", + "tags": [], + "label": "HISTOGRAM_BAR_TARGET_ID", + "description": [], + "signature": [ + "\"histogram:barTarget\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HISTOGRAM_MAX_BARS_ID", + "type": "string", + "tags": [], + "label": "HISTOGRAM_MAX_BARS_ID", + "description": [], + "signature": [ + "\"histogram:maxBars\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HISTORY_LIMIT_ID", + "type": "string", + "tags": [], + "label": "HISTORY_LIMIT_ID", + "description": [], + "signature": [ + "\"history:limit\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_CANVAS_BY_VALUE_EMBEDDABLE_ID", + "type": "string", + "tags": [], + "label": "LABS_CANVAS_BY_VALUE_EMBEDDABLE_ID", + "description": [], + "signature": [ + "\"labs:canvas:byValueEmbeddable\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_CANVAS_ENABLE_UI_ID", + "type": "string", + "tags": [], + "label": "LABS_CANVAS_ENABLE_UI_ID", + "description": [], + "signature": [ + "\"labs:canvas:enable_ui\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_DASHBOARD_CONTROLS_ID", + "type": "string", + "tags": [], + "label": "LABS_DASHBOARD_CONTROLS_ID", + "description": [], + "signature": [ + "\"labs:dashboard:dashboardControls\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_DASHBOARD_DEFER_BELOW_FOLD_ID", + "type": "string", + "tags": [], + "label": "LABS_DASHBOARD_DEFER_BELOW_FOLD_ID", + "description": [], + "signature": [ + "\"labs:dashboard:deferBelowFold\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_DASHBOARDS_ENABLE_UI_ID", + "type": "string", + "tags": [], + "label": "LABS_DASHBOARDS_ENABLE_UI_ID", + "description": [], + "signature": [ + "\"labs:dashboard:enable_ui\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.META_FIELDS_ID", + "type": "string", + "tags": [], + "label": "META_FIELDS_ID", + "description": [], + "signature": [ + "\"metaFields\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.METRICS_ALLOW_CHECKING_FOR_FAILED_SHARDS_ID", + "type": "string", + "tags": [], + "label": "METRICS_ALLOW_CHECKING_FOR_FAILED_SHARDS_ID", + "description": [], + "signature": [ + "\"metrics:allowCheckingForFailedShards\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.METRICS_ALLOW_STRING_INDICES_ID", + "type": "string", + "tags": [], + "label": "METRICS_ALLOW_STRING_INDICES_ID", + "description": [], + "signature": [ + "\"metrics:allowStringIndices\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.METRICS_MAX_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "METRICS_MAX_BUCKETS_ID", + "description": [], + "signature": [ + "\"metrics:max_buckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"ml:anomalyDetection:results:enableTimeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"ml:anomalyDetection:results:timeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_BANNER_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_BANNER_ID", + "description": [], + "signature": [ + "\"notifications:banner\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_BANNER_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_BANNER_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:banner\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_ERROR_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_ERROR_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:error\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_INFO_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_INFO_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:info\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_WARNING_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_WARNING_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:warning\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_AGENT_EXPLORER_VIEW_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_AGENT_EXPLORER_VIEW_ID", + "description": [], + "signature": [ + "\"observability:apmAgentExplorerView\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID", + "description": [], + "signature": [ + "\"observability:apmAWSLambdaPriceFactor\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID", + "description": [], + "signature": [ + "\"observability:apmAWSLambdaRequestCostPerMillion\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_DEFAULT_SERVICE_ENVIRONMENT_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_DEFAULT_SERVICE_ENVIRONMENT_ID", + "description": [], + "signature": [ + "\"observability:apmDefaultServiceEnvironment\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_ENABLE_CRITICAL_PATH_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_ENABLE_CRITICAL_PATH_ID", + "description": [], + "signature": [ + "\"observability:apmEnableCriticalPath\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_LABS_BUTTON_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_LABS_BUTTON_ID", + "description": [], + "signature": [ + "\"observability:apmLabsButton\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID", + "description": [], + "signature": [ + "\"observability:apmProgressiveLoading\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_SERVICE_GROUP_MAX_NUMBER_OF_SERVCIE_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_SERVICE_GROUP_MAX_NUMBER_OF_SERVCIE_ID", + "description": [], + "signature": [ + "\"observability:apmServiceGroupMaxNumberOfServices\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_SERVICE_INVENTORY_OPTIMIZED_SORTING_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_SERVICE_INVENTORY_OPTIMIZED_SORTING_ID", + "description": [], + "signature": [ + "\"observability:apmServiceInventoryOptimizedSorting\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID", + "description": [], + "signature": [ + "\"observability:apmTraceExplorerTab\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_AWS_LAMBDA_METRICS_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_AWS_LAMBDA_METRICS_ID", + "description": [], + "signature": [ + "\"observability:enableAwsLambdaMetrics\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_COMPARISON_BY_DEFAULT_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_COMPARISON_BY_DEFAULT_ID", + "description": [], + "signature": [ + "\"observability:enableComparisonByDefault\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_INFRASTRUCTURE_HOSTS_VIEW_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_INFRASTRUCTURE_HOSTS_VIEW_ID", + "description": [], + "signature": [ + "\"observability:enableInfrastructureHostsView\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID", + "description": [], + "signature": [ + "\"observability:enableInspectEsQueries\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_MAX_SUGGESTIONS_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_MAX_SUGGESTIONS_ID", + "description": [], + "signature": [ + "\"observability:maxSuggestions\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID", + "description": [], + "signature": [ + "\"observability:profilingElasticsearchPlugin\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.QUERY_ALLOW_LEADING_WILDCARDS_ID", + "type": "string", + "tags": [], + "label": "QUERY_ALLOW_LEADING_WILDCARDS_ID", + "description": [], + "signature": [ + "\"query:allowLeadingWildcards\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.QUERY_STRING_OPTIONS_ID", + "type": "string", + "tags": [], + "label": "QUERY_STRING_OPTIONS_ID", + "description": [], + "signature": [ + "\"query:queryString:options\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ROLLUPS_ENABLE_INDEX_PATTERNS_ID", + "type": "string", + "tags": [], + "label": "ROLLUPS_ENABLE_INDEX_PATTERNS_ID", + "description": [], + "signature": [ + "\"rollups.enableIndexPatterns\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SAVED_OBJECTS_LISTING_LIMIT_ID", + "type": "string", + "tags": [], + "label": "SAVED_OBJECTS_LISTING_LIMIT_ID", + "description": [], + "signature": [ + "\"savedObjects:listingLimit\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SAVED_OBJECTS_PER_PAGE_ID", + "type": "string", + "tags": [], + "label": "SAVED_OBJECTS_PER_PAGE_ID", + "description": [], + "signature": [ + "\"savedObjects:perPage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SEARCH_INCLUDE_FROZEN_ID", + "type": "string", + "tags": [], + "label": "SEARCH_INCLUDE_FROZEN_ID", + "description": [], + "signature": [ + "\"search:includeFrozen\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SEARCH_QUERY_LANGUAGE_ID", + "type": "string", + "tags": [], + "label": "SEARCH_QUERY_LANGUAGE_ID", + "description": [], + "signature": [ + "\"search:queryLanguage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SEARCH_TIMEOUT_ID", + "type": "string", + "tags": [], + "label": "SEARCH_TIMEOUT_ID", + "description": [], + "signature": [ + "\"search:timeout\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID", + "description": [], + "signature": [ + "\"securitySolution:defaultAnomalyScore\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_INDEX_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_INDEX_ID", + "description": [], + "signature": [ + "\"securitySolution:defaultIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID", + "description": [], + "signature": [ + "\"securitySolution:defaultThreatIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID", + "description": [], + "signature": [ + "\"securitySolution:enableCcsWarning\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID", + "description": [], + "signature": [ + "\"securitySolution:enableGroupedNav\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID", + "description": [], + "signature": [ + "\"securitySolution:enableNewsFeed\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID", + "description": [], + "signature": [ + "\"securitySolution:ipReputationLinks\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_NEWS_FEED_URL_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_NEWS_FEED_URL_ID", + "description": [], + "signature": [ + "\"securitySolution:newsFeedUrl\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID", + "description": [], + "signature": [ + "\"securitySolution:refreshIntervalDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID", + "description": [], + "signature": [ + "\"securitySolution:rulesTableRefresh\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID", + "description": [], + "signature": [ + "\"securitySolution:showRelatedIntegrations\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"securitySolution:timeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SHORT_DOTS_ENABLE_ID", + "type": "string", + "tags": [], + "label": "SHORT_DOTS_ENABLE_ID", + "description": [], + "signature": [ + "\"shortDots:enable\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SORT_OPTIONS_ID", + "type": "string", + "tags": [], + "label": "SORT_OPTIONS_ID", + "description": [], + "signature": [ + "\"sort:options\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.STATE_STORE_IN_SESSION_STORAGE_ID", + "type": "string", + "tags": [], + "label": "STATE_STORE_IN_SESSION_STORAGE_ID", + "description": [], + "signature": [ + "\"state:storeInSessionStorage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.THEME_DARK_MODE_ID", + "type": "string", + "tags": [], + "label": "THEME_DARK_MODE_ID", + "description": [], + "signature": [ + "\"theme:darkMode\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_ES_DEFAULT_INDEX_ID", + "type": "string", + "tags": [], + "label": "TIMELION_ES_DEFAULT_INDEX_ID", + "description": [], + "signature": [ + "\"timelion:es.default_index\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_ES_TIME_FIELD_ID", + "type": "string", + "tags": [], + "label": "TIMELION_ES_TIME_FIELD_ID", + "description": [], + "signature": [ + "\"timelion:es.timefield\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_MAX_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "TIMELION_MAX_BUCKETS_ID", + "description": [], + "signature": [ + "\"timelion:max_buckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_MIN_INTERVAL_ID", + "type": "string", + "tags": [], + "label": "TIMELION_MIN_INTERVAL_ID", + "description": [], + "signature": [ + "\"timelion:min_interval\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_TARGET_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "TIMELION_TARGET_BUCKETS_ID", + "description": [], + "signature": [ + "\"timelion:target_buckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMEPICKER_QUICK_RANGES_ID", + "type": "string", + "tags": [], + "label": "TIMEPICKER_QUICK_RANGES_ID", + "description": [], + "signature": [ + "\"timepicker:quickRanges\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMEPICKER_REFRESH_INTERVAL_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "TIMEPICKER_REFRESH_INTERVAL_DEFAULTS_ID", + "description": [], + "signature": [ + "\"timepicker:refreshIntervalDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMEPICKER_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "TIMEPICKER_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"timepicker:timeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TRUNCATE_MAX_HEIGHT_ID", + "type": "string", + "tags": [], + "label": "TRUNCATE_MAX_HEIGHT_ID", + "description": [], + "signature": [ + "\"truncate:maxHeight\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_COLOR_MAPPING_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_COLOR_MAPPING_ID", + "description": [], + "signature": [ + "\"visualization:colorMapping\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_ENABLE_LABS_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_ENABLE_LABS_ID", + "description": [], + "signature": [ + "\"visualize:enableLabs\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_HEATMAP_MAX_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_HEATMAP_MAX_BUCKETS_ID", + "description": [], + "signature": [ + "\"visualization:heatmap:maxBuckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_LEGACY_GAUGE_CHARTS_LIBRARY_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_LEGACY_GAUGE_CHARTS_LIBRARY_ID", + "description": [], + "signature": [ + "\"visualization:visualize:legacyGaugeChartsLibrary\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_LEGACY_HEATMAP_CHARTS_LIBRARY_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_LEGACY_HEATMAP_CHARTS_LIBRARY_ID", + "description": [], + "signature": [ + "\"visualization:visualize:legacyHeatmapChartsLibrary\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_USE_LEGACY_TIME_AXIS_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_USE_LEGACY_TIME_AXIS_ID", + "description": [], + "signature": [ + "\"visualization:useLegacyTimeAxis\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.XPACK_REPORTING_CUSTOM_PDF_LOGO_ID", + "type": "string", + "tags": [], + "label": "XPACK_REPORTING_CUSTOM_PDF_LOGO_ID", + "description": [], + "signature": [ + "\"xpackReporting:customPdfLogo\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx new file mode 100644 index 00000000000000..5b79473f1f83d4 --- /dev/null +++ b/api_docs/kbn_management_settings_ids.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsIdsPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-ids +title: "@kbn/management-settings-ids" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-ids plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] +--- +import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; + + + +Contact [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 127 | 0 | 127 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index a757c8ba9946f7..03b70781796546 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.devdocs.json b/api_docs/kbn_management_settings_types.devdocs.json new file mode 100644 index 00000000000000..e9c76c4189fca2 --- /dev/null +++ b/api_docs/kbn_management_settings_types.devdocs.json @@ -0,0 +1,1523 @@ +{ + "id": "@kbn/management-settings-types", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition", + "type": "Interface", + "tags": [], + "label": "FieldDefinition", + "description": [ + "\nA {@link FieldDefinition} adapts a {@link UiSettingMetadata} object to be more\neasily consumed by the UI. It contains additional information about the field\nthat is determined from a given UiSettingMetadata object, (which is a type\nrepresenting a UiSetting)." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.ariaAttributes", + "type": "Object", + "tags": [], + "label": "ariaAttributes", + "description": [ + "UX ARIA attributes derived from the setting." + ], + "signature": [ + "{ ariaLabel: string; ariaDescribedBy?: string | undefined; }" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.categories", + "type": "Array", + "tags": [], + "label": "categories", + "description": [ + "A list of categories related to the field." + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.defaultValue", + "type": "Uncategorized", + "tags": [], + "label": "defaultValue", + "description": [ + "The default value of the field from Kibana." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.defaultValueDisplay", + "type": "string", + "tags": [], + "label": "defaultValueDisplay", + "description": [ + "The text-based display of the default value, for use in the UI." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.deprecation", + "type": "Object", + "tags": [ + "see" + ], + "label": "deprecation", + "description": [ + "\nDeprecation information for the field" + ], + "signature": [ + { + "pluginId": "@kbn/core-ui-settings-common", + "scope": "common", + "docId": "kibKbnCoreUiSettingsCommonPluginApi", + "section": "def-common.DeprecationSettings", + "text": "DeprecationSettings" + }, + " | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.description", + "type": "CompoundType", + "tags": [], + "label": "description", + "description": [ + "A description of the field." + ], + "signature": [ + "string | React.ReactElement> | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.displayName", + "type": "string", + "tags": [], + "label": "displayName", + "description": [ + "The name of the field suitable for display in the UX." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.groupId", + "type": "string", + "tags": [], + "label": "groupId", + "description": [ + "The grouping identifier for the field." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The unique identifier of the field, typically separated by `:`" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isCustom", + "type": "boolean", + "tags": [], + "label": "isCustom", + "description": [ + "True if the field is a custom setting, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isDefaultValue", + "type": "boolean", + "tags": [], + "label": "isDefaultValue", + "description": [ + "True if the current saved setting matches the default setting." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isOverridden", + "type": "boolean", + "tags": [], + "label": "isOverridden", + "description": [ + "True if the setting is overridden in Kibana, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isReadOnly", + "type": "boolean", + "tags": [], + "label": "isReadOnly", + "description": [ + "True if the setting is read-only, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.metric", + "type": "Object", + "tags": [], + "label": "metric", + "description": [ + "Metric information when one interacts with the field." + ], + "signature": [ + "{ name?: string | undefined; type?: string | undefined; } | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.name", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "The name of the field suitable for use in the UX." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.options", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Option information if the field represents a `select` setting." + ], + "signature": [ + "{ values: string[] | number[]; labels: Record; } | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.order", + "type": "number", + "tags": [], + "label": "order", + "description": [ + "A rank order for the field relative to other fields." + ], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.requiresPageReload", + "type": "boolean", + "tags": [], + "label": "requiresPageReload", + "description": [ + "True if the browser must be reloaded for the setting to take effect, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.savedValue", + "type": "Uncategorized", + "tags": [], + "label": "savedValue", + "description": [ + "The current saved value of the setting." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.type", + "type": "Uncategorized", + "tags": [ + "see" + ], + "label": "type", + "description": [ + "\nThe type of setting the field represents." + ], + "signature": [ + "T" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.unsavedFieldId", + "type": "string", + "tags": [], + "label": "unsavedFieldId", + "description": [ + "An identifier of the field when it has an unsaved change." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectFieldDefinition", + "type": "Interface", + "tags": [], + "label": "SelectFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `select` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectFieldDefinition", + "text": "SelectFieldDefinition" + }, + " extends ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"select\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectFieldDefinition.options", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Options are required when this definition is used." + ], + "signature": [ + "{ values: string[] | number[]; labels: Record; }" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata", + "type": "Interface", + "tags": [], + "label": "UiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} type, whose fields\nare not only optional, but also not strongly typed to\n{@link @kbn/core-ui-settings-common#UiSettingsType}.\n" + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + " extends UiSetting" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata.type", + "type": "Uncategorized", + "tags": [ + "see" + ], + "label": "type", + "description": [ + "\nThe type of setting being represented." + ], + "signature": [ + "T" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata.value", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [ + "The default value in Kibana for the setting." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata.userValue", + "type": "Uncategorized", + "tags": [], + "label": "userValue", + "description": [ + "The value saved by the user." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange", + "type": "Interface", + "tags": [], + "label": "UnsavedFieldChange", + "description": [ + "\nA {@link UnsavedFieldChange} represents local changes to a field that have not\nyet been saved." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.type", + "type": "Uncategorized", + "tags": [ + "see" + ], + "label": "type", + "description": [ + "\nThe type of setting." + ], + "signature": [ + "T" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.error", + "type": "CompoundType", + "tags": [], + "label": "error", + "description": [ + "An error message, if any, from the change." + ], + "signature": [ + "string | null | undefined" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.isInvalid", + "type": "CompoundType", + "tags": [], + "label": "isInvalid", + "description": [ + "True if the change is invalid for the field, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.unsavedValue", + "type": "CompoundType", + "tags": [], + "label": "unsavedValue", + "description": [ + "The current unsaved value stored in the field." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArrayFieldDefinition", + "type": "Type", + "tags": [], + "label": "ArrayFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `array` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"array\", (string | number)[] | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArraySettingType", + "type": "Type", + "tags": [], + "label": "ArraySettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `array` primitive type value." + ], + "signature": [ + "\"array\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArrayUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "ArrayUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `array` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"array\", (string | number)[] | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArrayUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "ArrayUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `number` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"array\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanFieldDefinition", + "type": "Type", + "tags": [], + "label": "BooleanFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `boolean` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"boolean\", boolean | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanSettingType", + "type": "Type", + "tags": [], + "label": "BooleanSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `boolean` primitive type value." + ], + "signature": [ + "\"boolean\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "BooleanUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `boolean` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"boolean\", boolean | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "BooleanUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `boolean` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"boolean\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ColorFieldDefinition", + "type": "Type", + "tags": [], + "label": "ColorFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `color` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"color\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ColorUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "ColorUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `color` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"color\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ColorUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "ColorUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `color` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"color\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ImageFieldDefinition", + "type": "Type", + "tags": [], + "label": "ImageFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `image` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"image\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ImageUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "ImageUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `image` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"image\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ImageUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "ImageUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `image` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"image\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.JsonFieldDefinition", + "type": "Type", + "tags": [], + "label": "JsonFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `json` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"json\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.JsonUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "JsonUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `json` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"json\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.JsonUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "JsonUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `json` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"json\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.KnownTypeToMetadata", + "type": "Type", + "tags": [], + "label": "KnownTypeToMetadata", + "description": [ + "\nThis is a narrowing type, which finds the correct {@link UiSettingMetadata}\ntype based on a given {@link SettingType}." + ], + "signature": [ + "T extends \"array\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ArrayUiSettingMetadata", + "text": "ArrayUiSettingMetadata" + }, + " : T extends \"boolean\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.BooleanUiSettingMetadata", + "text": "BooleanUiSettingMetadata" + }, + " : T extends \"color\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ColorUiSettingMetadata", + "text": "ColorUiSettingMetadata" + }, + " : T extends \"image\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ImageUiSettingMetadata", + "text": "ImageUiSettingMetadata" + }, + " : T extends \"json\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.JsonUiSettingMetadata", + "text": "JsonUiSettingMetadata" + }, + " : T extends \"markdown\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.MarkdownUiSettingMetadata", + "text": "MarkdownUiSettingMetadata" + }, + " : T extends \"number\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.NumberUiSettingMetadata", + "text": "NumberUiSettingMetadata" + }, + " : T extends \"select\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectUiSettingMetadata", + "text": "SelectUiSettingMetadata" + }, + " : T extends \"string\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.StringUiSettingMetadata", + "text": "StringUiSettingMetadata" + }, + " : T extends \"undefined\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UndefinedUiSettingMetadata", + "text": "UndefinedUiSettingMetadata" + }, + " : never" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.KnownTypeToValue", + "type": "Type", + "tags": [], + "label": "KnownTypeToValue", + "description": [ + "\nThis is a narrowing type, which finds the correct primitive type based on a\ngiven {@link SettingType}." + ], + "signature": [ + "T extends \"string\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\" ? string : T extends \"boolean\" ? boolean : T extends \"number\" | \"bigint\" ? number : T extends \"array\" ? (string | number)[] : T extends \"undefined\" ? undefined : never" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.MarkdownFieldDefinition", + "type": "Type", + "tags": [], + "label": "MarkdownFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `markdown` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"markdown\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.MarkdownUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "MarkdownUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `markdown` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"markdown\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.MarkdownUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "MarkdownUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `markdown` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"markdown\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberFieldDefinition", + "type": "Type", + "tags": [], + "label": "NumberFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `number` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"number\", number | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberSettingType", + "type": "Type", + "tags": [], + "label": "NumberSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `number` primitive type value." + ], + "signature": [ + "\"number\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "NumberUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `number` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"number\", number | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "NumberUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `number` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"number\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "SelectUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `select` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"select\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "SelectUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `select` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"select\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SettingType", + "type": "Type", + "tags": [], + "label": "SettingType", + "description": [ + "\nThis is a local type equivalent to {@link UiSettingsType} for flexibility." + ], + "signature": [ + "\"string\" | \"number\" | \"boolean\" | \"undefined\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\" | \"array\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringFieldDefinition", + "type": "Type", + "tags": [], + "label": "StringFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `string` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"string\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringSettingType", + "type": "Type", + "tags": [], + "label": "StringSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `string` primitive type value." + ], + "signature": [ + "\"string\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "StringUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `string` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"string\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "StringUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `string` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"string\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedFieldDefinition", + "type": "Type", + "tags": [], + "label": "UndefinedFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `undefined` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"undefined\", null | undefined>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedSettingType", + "type": "Type", + "tags": [], + "label": "UndefinedSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `undefined` type value." + ], + "signature": [ + "\"undefined\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "UndefinedUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `undefined` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"undefined\", null | undefined>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "UndefinedUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `undefined` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"undefined\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.Value", + "type": "Type", + "tags": [], + "label": "Value", + "description": [ + "\nA type representing all possible values corresponding to a given {@link SettingType}." + ], + "signature": [ + "string | number | boolean | (string | number)[] | null | undefined" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx new file mode 100644 index 00000000000000..6639e9367400c7 --- /dev/null +++ b/api_docs/kbn_management_settings_types.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsTypesPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-types +title: "@kbn/management-settings-types" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-types plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] +--- +import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 71 | 0 | 0 | 0 | + +## Common + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_management_settings_utilities.devdocs.json b/api_docs/kbn_management_settings_utilities.devdocs.json new file mode 100644 index 00000000000000..462a359ec8b85a --- /dev/null +++ b/api_docs/kbn_management_settings_utilities.devdocs.json @@ -0,0 +1,788 @@ +{ + "id": "@kbn/management-settings-utilities", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [ + "\nConvenience function that, given a {@link FieldDefinition} and an {@link UnsavedFieldChange},\nreturns the value to be displayed in the input field, and a boolean indicating whether the\nvalue is an unsaved value.\n" + ], + "signature": [ + "(field: F<\"array\">, change: C<\"array\">) => [string[], boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The field to compare." + ], + "signature": [ + "F<\"array\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [ + "The unsaved change to compare." + ], + "signature": [ + "C<\"array\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"color\">, change: C<\"color\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"color\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"color\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"boolean\">, change: C<\"boolean\">) => [boolean, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"boolean\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"boolean\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"image\">, change: C<\"image\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"image\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"image\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"json\">, change: C<\"json\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"json\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"json\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"markdown\">, change: C<\"markdown\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"markdown\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"markdown\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"number\">, change: C<\"number\">) => [number, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"number\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"number\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"select\">, change: C<\"select\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"select\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"select\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"string\">, change: C<\"string\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"string\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"string\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"undefined\">, change: C<\"undefined\">) => [string | null | undefined, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"undefined\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"undefined\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F, change: C) => (boolean | ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined)[]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.hasUnsavedChange", + "type": "Function", + "tags": [], + "label": "hasUnsavedChange", + "description": [ + "\nCompares a given {@link FieldDefinition} to an {@link UnsavedFieldChange} to determine\nif the field has an unsaved change in the UI.\n" + ], + "signature": [ + "(field: Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>, \"savedValue\">, unsavedChange?: Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + ", \"unsavedValue\"> | undefined) => boolean" + ], + "path": "packages/kbn-management/settings/utilities/has_unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.hasUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The field to compare." + ], + "signature": [ + "Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>, \"savedValue\">" + ], + "path": "packages/kbn-management/settings/utilities/has_unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.hasUnsavedChange.$2", + "type": "Object", + "tags": [], + "label": "unsavedChange", + "description": [ + "The unsaved change to compare." + ], + "signature": [ + "Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + ", \"unsavedValue\"> | undefined" + ], + "path": "packages/kbn-management/settings/utilities/has_unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.isUnsavedValue", + "type": "Function", + "tags": [], + "label": "isUnsavedValue", + "description": [ + "\nConvenience function to compare a given {@link FieldDefinition} to an {@link UnsavedFieldChange}\nto determine if the value in the unsaved change is a different value from what is saved.\n" + ], + "signature": [ + "(field: ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>, unsavedValue?: ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined) => boolean" + ], + "path": "packages/kbn-management/settings/utilities/is_unsaved_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.isUnsavedValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The field to compare." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/utilities/is_unsaved_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.isUnsavedValue.$2", + "type": "CompoundType", + "tags": [], + "label": "unsavedValue", + "description": [ + "The unsaved value to compare." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined" + ], + "path": "packages/kbn-management/settings/utilities/is_unsaved_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx new file mode 100644 index 00000000000000..c0f827d4fa2eb6 --- /dev/null +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsUtilitiesPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-utilities +title: "@kbn/management-settings-utilities" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-utilities plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] +--- +import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 39 | 0 | 30 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 2a9ddbb07a4b53..5eb7918c3f059d 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index c3cbea68362611..915db4f03fbb06 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index d9ebcbcfcc291a..d62d677cdbb9d8 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index fd2c4d0b9705e4..e8fce8a857bf16 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index dc98d4a337fd01..8b5c9882de1e23 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 8e82d093dfc8fa..534a7c32dd9cdd 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 6c8ac5595d6d6e..642dafc1dc025c 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index b6856d0f6287f5..f0c45d8a02ee43 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 1ef076df350977..00fef314f2e20c 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index c1ae85ddfa961b..e706e8f0bf453a 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 881d24c69923a3..0b9accd88de8bf 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 13368efa8d0e75..56885607645be7 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 46577b3b8d6c7f..9adefe39251370 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 97784b0c9fc7d2..3f53ab0bb538f0 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index e656ff02146f78..272c6f165863b9 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 7bb19a981c2488..1da930b6ae27cc 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index f88b847127d4d2..42579df3f9a2d4 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 9877effcae9fee..1268beebfc153e 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index d8a617a6fa58f1..f26e95da0257eb 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index ab6266640c94cc..f6a1d69330e474 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index a129d2a44cd925..0c2e5aebfe1fd0 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index e86565fef21feb..2b5a30c59020f9 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 6133597b9ce2ef..68d9f4f2f15235 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 4d60bacb6e59a1..a1078bb9221cf6 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 135635c505ef4d..a07f497fea7a4a 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.devdocs.json b/api_docs/kbn_monaco.devdocs.json index a02324fc335099..c7d87a27c08726 100644 --- a/api_docs/kbn_monaco.devdocs.json +++ b/api_docs/kbn_monaco.devdocs.json @@ -892,6 +892,61 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration", + "type": "Object", + "tags": [], + "label": "languageConfiguration", + "description": [], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration.brackets", + "type": "Array", + "tags": [], + "label": "brackets", + "description": [], + "signature": [ + "[string, string][]" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration.autoClosingPairs", + "type": "Array", + "tags": [], + "label": "autoClosingPairs", + "description": [], + "signature": [ + "{ open: string; close: string; }[]" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration.surroundingPairs", + "type": "Array", + "tags": [], + "label": "surroundingPairs", + "description": [], + "signature": [ + "{ open: string; close: string; }[]" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "@kbn/monaco", "id": "def-common.ESQLLang.getSuggestionProvider", diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 997fbcdd0238c2..d1e23ccae95b20 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 74 | 0 | 72 | 3 | +| 78 | 0 | 76 | 3 | ## Common diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 5c952503c898ca..a81de38a2c2c7b 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index e38ab1e4811438..9e4d1455bfe988 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 641253b7f126bd..570f8f39c2a24a 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 8689722e24020a..215c5231b5c376 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 4ea9e6457b96f1..12b5b644555639 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 8a84dd2c0ed78f..18758d2fd8fb97 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 8ad0ae42f131c8..8f977f0538d048 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index e41a4bd68c978b..954a5d08bb73cd 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index c941a4230691be..c77bb9da208d48 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index edca020f7b1751..ed95221eaac3c0 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index b9825703651a23..ecb05234f67e8d 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 52e28e2d0a5f6d..39776e48e360be 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 4f5158dd1d7574..474b844a128243 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 156f56ad7f86cf..70e495b760ac20 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index e5c06379661f2f..ee79f439037c70 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 4243cb83a83704..aeba7bf723a71a 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 049ed34456bd9f..5e3df0f22f60d9 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 11cea446958c87..e848039fa9e3d1 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 700068ec3b0bfa..e0016968e00d77 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index d2becb7a3a507b..7bda0f53bc2eda 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index b3909478fcb7e6..b478bf5d1ed960 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index cf4e4a4a5088cd..d083b86230d944 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 8fd3865b9bce2b..dd18c560498eca 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index ff9d7fc6c09282..0e5f469ced3d18 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 24eda1fcc6bb4b..cfefb9ad3bc3de 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 60025be84f67b1..15956b78bfa5ab 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 15915df6bd097f..684a29baf95d68 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 4c141b7db37e11..731860e25b054e 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 40643873352073..a490720588d95d 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 8827e825dfa977..e62d76902651b1 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 43456475aa285b..9cb3b19a47015c 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 38aa39a46852c5..f25bb1c10c79d5 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 3e879e3947138e..9daa24cda7e592 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index c8b779d2542a9f..4d8ab31a786dfb 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index f6e9a1b05b1698..1256eb0c23610c 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index a76440bff5dff3..4a7168472dce96 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index e7a40a9627e1bf..926b98b1efa819 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index d8142ad2df0202..33cd8dd2c768ca 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 136ca71b15d610..9e5deb1638288c 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 088d9921ab31e9..a04e30344019e5 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 382ea471d0a96b..ade10f96214e55 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index cd08f582f3f12a..da351c7be4d096 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 1cbb8d7a7da209..089abb8d6bd37c 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 4e3b0747394dc1..01ee5588d20ff9 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 1d01058054cd84..8def886fcfd324 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 987788c92a3cfc..9a9a1714dc8947 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 327490c35b35ee..c7a598f9722549 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index e37d46a0d5cb58..89036687b1b23d 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index a1867708dd125b..06387a153b5c7b 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 0164520dde720c..dc8410d29b4f38 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index a8399cfbbc35b5..a975e2ae56d9bb 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index cdfb540ac13a2f..7e553f9de10e1b 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.devdocs.json b/api_docs/kbn_serverless_common_settings.devdocs.json new file mode 100644 index 00000000000000..7a9606cbc24d02 --- /dev/null +++ b/api_docs/kbn_serverless_common_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-common-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-common-settings", + "id": "def-common.ALL_COMMON_SETTINGS", + "type": "Array", + "tags": [], + "label": "ALL_COMMON_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx new file mode 100644 index 00000000000000..a446dcad2999d9 --- /dev/null +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessCommonSettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-common-settings +title: "@kbn/serverless-common-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-common-settings plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] +--- +import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; + + + +Contact [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_observability_settings.devdocs.json b/api_docs/kbn_serverless_observability_settings.devdocs.json new file mode 100644 index 00000000000000..35b798a42f0244 --- /dev/null +++ b/api_docs/kbn_serverless_observability_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-observability-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-observability-settings", + "id": "def-common.OBSERVABILITY_PROJECT_SETTINGS", + "type": "Array", + "tags": [], + "label": "OBSERVABILITY_PROJECT_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/observability_project/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx new file mode 100644 index 00000000000000..869df8a96f8018 --- /dev/null +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessObservabilitySettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-observability-settings +title: "@kbn/serverless-observability-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-observability-settings plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] +--- +import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; + + + +Contact [@elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 03e303d69ab4ca..0b611a3f17bd9a 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.devdocs.json b/api_docs/kbn_serverless_search_settings.devdocs.json new file mode 100644 index 00000000000000..772c029aea9543 --- /dev/null +++ b/api_docs/kbn_serverless_search_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-search-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-search-settings", + "id": "def-common.SEARCH_PROJECT_SETTINGS", + "type": "Array", + "tags": [], + "label": "SEARCH_PROJECT_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/search_project/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx new file mode 100644 index 00000000000000..451825d91581aa --- /dev/null +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessSearchSettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-search-settings +title: "@kbn/serverless-search-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-search-settings plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] +--- +import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; + + + +Contact [@elastic/enterprise-search-frontend @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/enterprise-search-frontend ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_security_settings.devdocs.json b/api_docs/kbn_serverless_security_settings.devdocs.json new file mode 100644 index 00000000000000..fd54e257a28c87 --- /dev/null +++ b/api_docs/kbn_serverless_security_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-security-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-security-settings", + "id": "def-common.SECURITY_PROJECT_SETTINGS", + "type": "Array", + "tags": [], + "label": "SECURITY_PROJECT_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/security_project/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx new file mode 100644 index 00000000000000..34e8505586a643 --- /dev/null +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessSecuritySettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-security-settings +title: "@kbn/serverless-security-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-security-settings plugin +date: 2023-09-12 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] +--- +import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; + + + +Contact [@elastic/security-solution @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/security-solution ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index b9cb6f105cc375..51c738dee60ec6 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 97be347b347cfe..2618360284b515 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 4415cab5572136..277c6c5369e1e1 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 361649cc4a4419..bf920f2b8c115a 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index a729d51080db2b..c7de2b98eed645 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index c687fc670021a7..c1924fb9f2d1fe 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index fcc1adbbb6ee2e..7df7db6897887f 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 5d0723f9acb7b6..6b7fa939ccd49d 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 79ceb1909b8140..cbc5d756c076f8 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 98f73bb37866d2..49b5f9945894f0 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index a3a237257d9ca0..88cf4ff211fe2a 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 15cf4d369bd2d4..5fd7d146b96970 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 7a58d73ef6027c..ab3e83679ad864 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 040ac97a76d8d5..bbe7ac63876879 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index a0b3f16b680c28..9a566766381957 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index d639424d3f860f..4ea8828d99496c 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 6c4f3a13c1c73c..13d98cae50fd6f 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index a57ca6ce18e562..3c7ab7e9fd75c5 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index c1def5499b2748..2792aae2910739 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index e5f1be438f2615..bff2136f90c28b 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 6fced1f1bb474d..0e5e9088ec5e0e 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index b2342f44da029b..e23c62a91ae64f 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 63f2eb961476e1..28a5b72227b499 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 179fdfeb91e110..e63f97fa9f9387 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 6f62d52fd10401..5352facabfd78f 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 1ae7f98535dd93..300ae4533116ad 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 6bbbb9c68f1fb8..7adbfa84743260 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index e828b6e6151938..99995775d67aef 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 1c0f41eb8605d8..661bf1190b99c1 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 226d202053dec0..ef911298e80d51 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index a63eafcd33b29a..dd58e503fe2407 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 4b05a2bf34a370..79a09f01a8717c 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 6748f8fb937273..88a0aabb12cb01 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 108f2b8805b710..589db794b95fb9 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index a5c810427ab613..02cd0b1bfa8d3f 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index ed3bafb1141699..ff2e8b9748eed9 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index e6645be3d6a827..cc72de06691731 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index bf9d96e5ce41b1..163ea98669c232 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 47502f92effa3e..8251b5e3b70d37 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index b9434c039d32bf..d97a4e8b96a995 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index b4edfb19ccf999..309b05d5b1b8e4 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 396ba1c2cb05b5..c9d114e6521b03 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index c157ab5ba33c23..22efab0f420ce1 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 0ef122cf785431..b74681e3f725d7 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 99a57252b4ceaf..9e82d5d3d4d106 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 83e1de0f426bfa..87f13147190fea 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index e3e61795e7ec97..03e96306cdc6ca 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index a03a0bf66e4bcc..98dd558fc3b205 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 32b779494e6567..d17622f24a2c97 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 4501b58596a048..0eb933113dcd39 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 523f2582faba63..5730d58ec55ad6 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 82c0d0f252595e..68b4c84a31404b 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index c4668fefd0aa28..9636d92984bb94 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index c97b1a23a77db8..9d129ba2f3b121 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 28c4a2e7e49da9..a346a96551118e 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 06329a47f3c244..41db14019f1e45 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index ceb7c941ea529b..b1f6d91a387cb0 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 7482eee3c78989..2f8025640d2f7f 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index de651f95269583..df09ce83c9a9f7 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index d615ff67dbdab0..6e240b12f467a0 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index ed8f275a6ca28c..1de92fc708a6be 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 963430e66b98b0..e258f23a78a893 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 2f6fc7ec348c8e..f87eca61d0110b 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index fb3468c4c0eadf..255e7091c1ffa6 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index e8176f1bf88205..d806f2246d29ca 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 472e8e99418309..2ab41d7c9b22a3 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index b453b8f3929e70..1812b6a2165048 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index b75e89764ddc05..d7d62d1c90002d 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 5ec17d8bcfbf06..78b882febff5c9 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 35ad48136e0b06..4efa853b5e6292 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index e1c1921520ace2..614e5784d0c36a 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 7132d1ede17aa2..a33479e97de02c 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 36b60c21bb2859..736230a7449fa0 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index cc854c14e0f5f4..f2c805865bfe86 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 8b51e3667ada88..ec621b8f15af1f 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 4ed2bdb7c390b2..c9493739d67f36 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 0662d4b7040c11..a52d007b7917d0 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 9af6a308e22fb3..cd9cb59e049c5e 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 3dcef684f7bf13..1c152a74556c19 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 7dc9516107ced8..ec14f26dc32d7e 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index f2b767de0f6817..288d07088a6668 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index d203b48392d1e1..f02fa14743c721 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index b88d5590a33185..c2105c60b8c035 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 39c682a0d54edc..176eb7adc367e1 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 951f145a0db6b7..2331dc2fc2d4b0 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index cf01fd47fb193e..0b0eab77347e77 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index c2d5cbca4b7fbc..53201b623d7e76 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 207660cec507f7..fb965deff21264 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 0f227793babbe5..78f8b9eaf95c2f 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index cd87630124a6c7..7196f2b92b67fa 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 03ec22dff6d717..c0370fca7dcbd6 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 673fa4ae078a08..8fe7c510db4d01 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index a66d4ddf512a38..bd2bd933054f06 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index b2172038fc1d65..1e931239869d75 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 43ee3ea001aec4..9007e08b5d676f 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index f12e88afa6fd37..328a2c0568ab82 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
    public API | Number of teams | |--------------|----------|------------------------| -| 675 | 566 | 39 | +| 685 | 576 | 43 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74242 | 223 | 63618 | 1516 | +| 74568 | 223 | 63790 | 1517 | ## Plugin Directory @@ -103,7 +103,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | graph | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 0 | 0 | 0 | 0 | | grokdebugger | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Guided onboarding framework | 58 | 0 | 57 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 147 | 0 | 108 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 149 | 0 | 109 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 194 | 0 | 189 | 4 | @@ -163,7 +163,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 172 | 0 | 106 | 32 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | ESS customizations for Security Solution. | 6 | 0 | 6 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Serverless customizations for security. | 6 | 0 | 6 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 17 | 0 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 19 | 0 | 18 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Serverless customizations for observability. | 6 | 0 | 6 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Serverless customizations for search. | 6 | 0 | 6 | 0 | | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 134 | 0 | 134 | 8 | @@ -378,7 +378,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 73 | 0 | 40 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 0 | 23 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 125 | 0 | 91 | 46 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 125 | 0 | 91 | 47 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 12 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 547 | 1 | 121 | 4 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 69 | 0 | 69 | 4 | @@ -399,8 +399,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 30 | 1 | 18 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 11 | 1 | 11 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 25 | 0 | 4 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 1 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 27 | 0 | 4 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 1 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 18 | 1 | 17 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 155 | 0 | 144 | 0 | @@ -474,7 +474,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 8 | 0 | 8 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 1 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 10 | 0 | 10 | 1 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 20 | 0 | 1 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 11 | 0 | 2 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 42 | 0 | 0 | 0 | +| | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 127 | 0 | 127 | 0 | | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 20 | 0 | 11 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 71 | 0 | 0 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 39 | 0 | 30 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 0 | 0 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 582 | 1 | 1 | 0 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 2 | 0 | 2 | 0 | @@ -500,7 +506,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 1 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 8 | 0 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 31 | 1 | 24 | 1 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 74 | 0 | 72 | 3 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 78 | 0 | 76 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 55 | 1 | 50 | 0 | | | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 13 | 0 | 13 | 3 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 45 | 0 | 45 | 10 | @@ -553,7 +559,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 31 | 0 | 29 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 54 | 0 | 51 | 1 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 31 | 0 | 30 | 1 | +| | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 1 | 0 | 1 | 0 | +| | [@elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 1 | 0 | 1 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 7 | 1 | +| | [@elastic/enterprise-search-frontend @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/enterprise-search-frontend ) | - | 1 | 0 | 1 | 0 | +| | [@elastic/security-solution @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/security-solution ) | - | 1 | 0 | 1 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 0 | 0 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 2 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 2 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index dd23bb92c20e35..47d6a5cac600d5 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index fece1b2898c56b..a186c436db7d71 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 0d83b3e8c649d6..e8dcc62280326f 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index fb8b75082e8050..f690793b01ce3d 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 269001e97e8829..0141ca1a2217c5 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index b0b31aa6398105..4f64c5c128dcba 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 56b2eb0ffb7de9..53727e1a59aa33 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index a49bed582a8081..42dd68d9bcdf66 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 75448b7c8c3b64..599a81017a7d83 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index a274462e7eddb0..5ba8370ec43e33 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 9216b0deb69926..1613f16bb88751 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 4eba229b09521d..f7c66d1ce0b28d 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index de080068e2adc2..c3ca3fb2acf986 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index a312361070baba..4a2a3575076cdd 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 516a44c44da81a..c075bb89c25787 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 68e2b39a28ae95..f6b9d527ab6d47 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 2b4a4fa1dd8931..cf85842c5f5f1e 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 338851fa6b7c26..c7a2a2456f96e9 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 797bbe8a76a155..6e03110f568d04 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index e415a4ea57ae1a..f0a8c3de6865e0 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.devdocs.json b/api_docs/serverless.devdocs.json index 4a9258ba583534..6275b9f9b06883 100644 --- a/api_docs/serverless.devdocs.json +++ b/api_docs/serverless.devdocs.json @@ -274,7 +274,40 @@ "path": "x-pack/plugins/serverless/server/types.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "serverless", + "id": "def-server.ServerlessPluginSetup.setupProjectSettings", + "type": "Function", + "tags": [], + "label": "setupProjectSettings", + "description": [], + "signature": [ + "(keys: string[]) => void" + ], + "path": "x-pack/plugins/serverless/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "serverless", + "id": "def-server.ServerlessPluginSetup.setupProjectSettings.$1", + "type": "Array", + "tags": [], + "label": "keys", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/serverless/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], "lifecycle": "setup", "initialIsOpen": true }, diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index a90ac98a807854..794161bb605660 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 17 | 0 | 16 | 0 | +| 19 | 0 | 18 | 0 | ## Client diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 39092b0d5a24e1..ba6ca937cc4fbb 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 1414a460b45542..e11a1314be5ded 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 445384c4ba469a..6512cc62ed6f5b 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index ae3cb141a437f0..a19e38b5ef39ae 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 7ae4482f16e6a0..65eb4d438d69e2 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index d041ebaed30fd7..28cccfb0621eaa 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index c7eabdafe3609b..062ec84b4ef016 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 536b9df3637122..cb17ccee5d5fd5 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 1f19c43dfedbae..d04bb8ad46910e 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index a7fd02c178a827..b0cbe13556f6d3 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 8f18dc00450e4a..273ec1494f2d78 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 0ad8e33594e54c..5c4169e0bbc359 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 781b2930aa38d1..4706a4ef9fd301 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index c66088670cb142..c32eeb95563481 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 52cdd2bf3fc1e9..99f0f9d47cb28a 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 0482f29b3954da..b9dd9556693181 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 97775eaf123315..8b8042465ce92c 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 165eb8e2509794..7f98d3c611e440 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 0ba38cb342601c..91039c258e6540 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index a25a6be77a1041..6339b7aa190e00 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 831a758e2fb2eb..a30f08e6ac871f 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 7a23e3fc883575..b3469a4c03e8bb 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index baccc62e45ac5c..9b245eedcbe1b3 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 643ea02bc46625..aecd79b2a386fa 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index f94ab2d8e65a0b..fa5458327720bf 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 65f7a1ba5db01e..eb792f6eae0788 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 7deace1164dcbd..1cc6169d993761 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 4d4c24a9e07b2b..923dcf4fc31d96 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 47bd6e32a5fb91..0e49f4764cc857 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 76223a9ba73312..70eed9b79515a5 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index b6ce6d2ec6e5a2..d783cf6242bba6 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 0ff8f01aae9b1c..04154e2b428a86 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index d44411689fa25d..115bdf3b949756 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index 603aaafa2691df..e601e02929e8ae 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 61f1efcd48e698..f396e8437e0d87 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index bce044bc102029..22bf0da00b8eaf 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 6173705f349ce2..cc536cb602447a 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index fcfe1903490abe..762294e4846d1f 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 7f132497a94527..b5d02375cb38ae 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-11 +date: 2023-09-12 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 6cb937a37a29d1d6f9827f1b3367bdbea34d9ef6 Mon Sep 17 00:00:00 2001 From: Julia Rechkunova Date: Tue, 12 Sep 2023 08:51:34 +0200 Subject: [PATCH 21/39] [Discover] Redesign for the grid, panels and sidebar v1 (#165866) ## Summary ### Part 1 - Resolves https://github.com/elastic/kibana/issues/164287 - Closes https://github.com/elastic/kibana/issues/146339 - Previously separate PR https://github.com/elastic/kibana/pull/164187 Changes: - ~~swaps checkbox and row selection~~ - removes vertical borders - adds rows highlight - increases cell padding - adds row stripes - updates header background - removes grey background from field name and makes it bolder (part of https://github.com/elastic/kibana/issues/164634) - updates Surrounding Documents side paddings ### Part 2 - Resolves https://github.com/elastic/kibana/issues/164661 - Previously separate PR https://github.com/elastic/kibana/pull/165687 Changes: - removes background from panels, tabs and sidebar - updates "Add a field" button style - removes shadow from field list items - makes field search compact ### Part 3 - Resolves https://github.com/elastic/kibana/issues/164662 Changes: - wraps "Add a field" button in its own container with a top border - ~~adds a drag handle to sidebar items~~ - ~~adds new Show/Hide buttons to toggle sidebar~~ moves sidebar toggle button from discover plugin to unified field list - reduces spaces between sidebar items from 4px to 2px - reduces padding on Single Document page - removes border above grid tabs Screenshot 2023-09-07 at 14 39 48 Please note that "auto" row height is in a separate PR which is also ready for review https://github.com/elastic/kibana/pull/164218 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Davis McPhee Co-authored-by: Davis McPhee --- .../public/field_list_sidebar.tsx | 2 + .../kbn-dom-drag-drop/src/drag_drop.test.tsx | 22 +++ packages/kbn-dom-drag-drop/src/drag_drop.tsx | 17 ++ .../src/components/data_table.scss | 85 +++++---- .../components/data_table_columns.test.tsx | 4 +- .../src/components/data_table_columns.tsx | 2 +- .../data_table_document_selection.tsx | 46 +++-- .../components/data_table_expand_button.tsx | 38 ++-- .../kbn-unified-data-table/src/constants.ts | 14 +- .../src/utils/get_render_cell_value.test.tsx | 56 ++++-- .../src/utils/get_render_cell_value.tsx | 4 +- .../field_item_button.test.tsx.snap | 2 +- .../field_item_button/field_item_button.tsx | 1 + .../field_list_filters/field_list_filters.tsx | 4 + .../field_list_filters/field_name_search.tsx | 4 + .../field_list_item.test.tsx | 1 + .../field_list_item.tsx | 31 ++- .../field_list_sidebar.scss | 22 ++- .../field_list_sidebar.tsx | 180 ++++++++++++++---- .../field_list_sidebar_container.tsx | 21 +- .../sidebar_toggle_button/index.ts | 9 + .../sidebar_toggle_button.tsx | 70 +++++++ .../src/hooks/use_sidebar_toggle.test.tsx | 104 ++++++++++ .../src/hooks/use_sidebar_toggle.ts | 64 +++++++ packages/kbn-unified-field-list/src/types.ts | 19 +- packages/kbn-unified-field-list/tsconfig.json | 1 + .../with_discover_services.tsx | 5 +- .../components/action_bar/action_bar.tsx | 2 +- .../application/context/context_app.scss | 4 - .../application/context/context_app.tsx | 15 +- .../context/context_app_content.tsx | 81 ++++---- .../public/application/doc/components/doc.tsx | 2 +- .../components/layout/discover_layout.scss | 6 - .../layout/discover_layout.test.tsx | 17 +- .../components/layout/discover_layout.tsx | 59 +++--- .../layout/discover_main_content.tsx | 3 +- .../no_results_suggestions.tsx | 4 +- .../discover_sidebar_responsive.test.tsx | 9 + .../sidebar/discover_sidebar_responsive.tsx | 8 +- .../view_mode_toggle/view_mode_toggle.tsx | 8 +- .../public/layout/layout.tsx | 2 +- .../public/panels/panels_resizable.tsx | 15 +- .../apps/discover/group1/_date_nanos_mixed.ts | 7 +- .../discover/group1/_discover_histogram.ts | 2 +- .../apps/discover/group3/_sidebar.ts | 5 +- test/functional/page_objects/discover_page.ts | 7 +- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - 49 files changed, 807 insertions(+), 280 deletions(-) create mode 100644 packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/index.ts create mode 100644 packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.tsx create mode 100644 packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx create mode 100644 packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts diff --git a/examples/unified_field_list_examples/public/field_list_sidebar.tsx b/examples/unified_field_list_examples/public/field_list_sidebar.tsx index 121132e89b810a..9e71071d327ce9 100644 --- a/examples/unified_field_list_examples/public/field_list_sidebar.tsx +++ b/examples/unified_field_list_examples/public/field_list_sidebar.tsx @@ -33,6 +33,8 @@ const getCreationOptions: UnifiedFieldListSidebarContainerProps['getCreationOpti originatingApp: PLUGIN_ID, localStorageKeyPrefix: 'examples', timeRangeUpdatesType: 'timefilter', + compressed: true, + showSidebarToggleButton: true, disablePopularFields: true, }; }; diff --git a/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx b/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx index 54965548aa2641..09de21fbe3dc93 100644 --- a/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx +++ b/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx @@ -119,6 +119,28 @@ describe('DragDrop', () => { }); }); + test('dragstart sets dragClassName as expected', async () => { + const dndDispatch = jest.fn(); + const component = mount( + + + + + + ); + const dragDrop = component.find('[data-test-subj="testDragDrop"]').at(0); + + expect(dragDrop.getDOMNode().querySelector('.dragTest')).toBeNull(); + dragDrop.simulate('dragstart', { dataTransfer }); + expect(dragDrop.getDOMNode().querySelector('.dragTest')).toBeDefined(); + + act(() => { + jest.runAllTimers(); + }); + + expect(dragDrop.getDOMNode().querySelector('.dragTest')).toBeNull(); + }); + test('drop resets all the things', async () => { const preventDefault = jest.fn(); const stopPropagation = jest.fn(); diff --git a/packages/kbn-dom-drag-drop/src/drag_drop.tsx b/packages/kbn-dom-drag-drop/src/drag_drop.tsx index ab4158ad315433..b20570ee6969c2 100644 --- a/packages/kbn-dom-drag-drop/src/drag_drop.tsx +++ b/packages/kbn-dom-drag-drop/src/drag_drop.tsx @@ -42,6 +42,10 @@ interface BaseProps { * The CSS class(es) for the root element. */ className?: string; + /** + * CSS class to apply when the item is being dragged + */ + dragClassName?: string; /** * The event handler that fires when an item @@ -212,6 +216,7 @@ const removeSelection = () => { const DragInner = memo(function DragInner({ dataTestSubj, className, + dragClassName, value, children, dndDispatch, @@ -305,6 +310,18 @@ const DragInner = memo(function DragInner({ // so we know we have DraggableProps if we reach this code. if (e && 'dataTransfer' in e) { e.dataTransfer.setData('text', value.humanData.label); + + // Apply an optional class to the element being dragged so the ghost + // can be styled. We must add it to the actual element for a single + // frame before removing it so the ghost picks up the styling. + const current = e.currentTarget; + + if (dragClassName && !current.classList.contains(dragClassName)) { + current.classList.add(dragClassName); + requestAnimationFrame(() => { + current.classList.remove(dragClassName); + }); + } } // Chrome causes issues if you try to render from within a diff --git a/packages/kbn-unified-data-table/src/components/data_table.scss b/packages/kbn-unified-data-table/src/components/data_table.scss index 8b0f8719a450fe..048a641cf7562b 100644 --- a/packages/kbn-unified-data-table/src/components/data_table.scss +++ b/packages/kbn-unified-data-table/src/components/data_table.scss @@ -3,32 +3,6 @@ max-width: 100%; height: 100%; overflow: hidden; - border-radius: $euiBorderRadius; - - .euiDataGrid__controls { - border: none; - border-bottom: $euiBorderThin; - } - - .euiDataGridRowCell.euiDataGridRowCell--firstColumn { - border-left: none; - padding: 0; - } - - .euiDataGridRowCell.euiDataGridRowCell--lastColumn { - border-right: none; - } - - .unifiedDataTable__table .euiDataGridRowCell:first-of-type, - .unifiedDataTable__table .euiDataGrid--headerShade.euiDataGrid--bordersAll .euiDataGridHeaderCell:first-of-type { - border-left: none; - border-right: none; - } - - .euiDataGridRowCell:last-of-type, - .euiDataGridHeaderCell:last-of-type { - border-right: none; - } } .unifiedDataTable__cellValue { @@ -57,6 +31,29 @@ flex-direction: column; flex-wrap: nowrap; height: 100%; + + .euiDataGrid__content { + background: transparent; + } + + .euiDataGrid__controls { + border-top: $euiBorderThin; + } + + .euiDataGrid--headerUnderline .euiDataGridHeaderCell { + border-bottom: $euiBorderThin; + } + + .euiDataGridRowCell.euiDataGridRowCell--controlColumn[data-gridcell-column-id='openDetails'], + .euiDataGridRowCell.euiDataGridRowCell--controlColumn[data-gridcell-column-id='select'] { + padding-left: 0; + padding-right: 0; + } + + .euiDataGrid--rowHoverHighlight .euiDataGridRow:hover, + .euiDataGrid--rowHoverHighlight .euiDataGridRow:hover .euiDataGridRowCell__contentByHeight + .euiDataGridRowCell__expandActions { + background-color: tintOrShade($euiColorLightShade, 50%, 0); + } } .unifiedDataTable__table { @@ -65,14 +62,6 @@ min-height: 0; } -.unifiedDataTable__footer { - flex-shrink: 0; - background-color: $euiColorLightShade; - padding: $euiSize / 2 $euiSize; - margin-top: $euiSize / 4; - text-align: center; -} - .unifiedDataTable__flyoutHeader { white-space: nowrap; } @@ -118,7 +107,35 @@ @include euiTextTruncate; } +.unifiedDataTable__rowControl { + // fine-tuning the vertical alignment with the text for any row height setting + margin-top: -3px; + .euiDataGridRowCell__truncate & { // "Single line" row height setting + margin-top: 0; + } +} + +.unifiedDataTable__descriptionList { + // force the content truncation when "Single line" row height setting is active + .euiDataGridRowCell__truncate & { + -webkit-line-clamp: 1; + display: -webkit-box; + -webkit-box-orient: vertical; + height: 100%; + overflow: hidden; + } +} + +.unifiedDataTable__descriptionListTitle { + margin-inline: 0 0; + padding-inline: 0; + background: transparent; + font-weight: $euiFontWeightBold; +} + .unifiedDataTable__descriptionListDescription { + margin-inline: $euiSizeS $euiSizeS; + padding-inline: 0; word-break: break-all; white-space: normal; diff --git a/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx b/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx index 01246603643fdd..7eceeda1738092 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx @@ -218,7 +218,7 @@ describe('Data table columns', function () {
    , "displayAsText": "timestamp", "id": "timestamp", - "initialWidth": 210, + "initialWidth": 212, "isSortable": true, "schema": "datetime", "visibleCellActions": undefined, @@ -406,7 +406,7 @@ describe('Data table columns', function () { , "displayAsText": "timestamp", "id": "timestamp", - "initialWidth": 210, + "initialWidth": 212, "isSortable": true, "schema": "datetime", "visibleCellActions": undefined, diff --git a/packages/kbn-unified-data-table/src/components/data_table_columns.tsx b/packages/kbn-unified-data-table/src/components/data_table_columns.tsx index 4b66f2a2bd6cfa..4b4ac622e78f66 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_columns.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_columns.tsx @@ -30,7 +30,7 @@ import { buildEditFieldButton } from './build_edit_field_button'; const openDetails = { id: 'openDetails', - width: 24, + width: 26, headerCellRender: () => ( diff --git a/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx b/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx index 213e24790e840c..bb0a0dc2b775a6 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx @@ -15,14 +15,19 @@ import { EuiCopy, EuiDataGridCellValueElementProps, EuiPopover, + EuiFlexGroup, + EuiFlexItem, + useEuiTheme, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { euiDarkVars as themeDark, euiLightVars as themeLight } from '@kbn/ui-theme'; import { i18n } from '@kbn/i18n'; +import { css } from '@emotion/react'; import type { DataTableRecord } from '@kbn/discover-utils/types'; import { UnifiedDataTableContext } from '../table_context'; export const SelectButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueElementProps) => { + const { euiTheme } = useEuiTheme(); const { selectedDocs, expanded, rows, isDarkMode, setSelectedDocs } = useContext(UnifiedDataTableContext); const doc = useMemo(() => rows[rowIndex], [rows, rowIndex]); @@ -46,20 +51,33 @@ export const SelectButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueEle }, [expanded, doc, setCellProps, isDarkMode]); return ( - { - if (checked) { - const newSelection = selectedDocs.filter((docId) => docId !== doc.id); - setSelectedDocs(newSelection); - } else { - setSelectedDocs([...selectedDocs, doc.id]); - } - }} - /> + + + { + if (checked) { + const newSelection = selectedDocs.filter((docId) => docId !== doc.id); + setSelectedDocs(newSelection); + } else { + setSelectedDocs([...selectedDocs, doc.id]); + } + }} + /> + + ); }; diff --git a/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx b/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx index 108ffaa4ec5fe0..c44ea74791b338 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx @@ -62,23 +62,25 @@ export const ExpandButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueEle } return ( - - { - const nextHit = isCurrentRowExpanded ? undefined : current; - toolTipRef.current?.hideToolTip(); - setPressed(Boolean(nextHit)); - setExpanded?.(nextHit); - }} - color={isCurrentRowExpanded ? 'primary' : 'text'} - iconType={isCurrentRowExpanded ? 'minimize' : 'expand'} - isSelected={isCurrentRowExpanded} - /> - +
    + + { + const nextHit = isCurrentRowExpanded ? undefined : current; + toolTipRef.current?.hideToolTip(); + setPressed(Boolean(nextHit)); + setExpanded?.(nextHit); + }} + color={isCurrentRowExpanded ? 'primary' : 'text'} + iconType={isCurrentRowExpanded ? 'minimize' : 'expand'} + isSelected={isCurrentRowExpanded} + /> + +
    ); }; diff --git a/packages/kbn-unified-data-table/src/constants.ts b/packages/kbn-unified-data-table/src/constants.ts index 1fb391ddc7f70d..c85751756cefd4 100644 --- a/packages/kbn-unified-data-table/src/constants.ts +++ b/packages/kbn-unified-data-table/src/constants.ts @@ -13,15 +13,17 @@ export const MAX_LOADED_GRID_ROWS = 10000; export const ROWS_PER_PAGE_OPTIONS = [10, 25, 50, DEFAULT_ROWS_PER_PAGE, 250, 500]; export const defaultMonacoEditorWidth = 370; -export const defaultTimeColumnWidth = 210; +export const defaultTimeColumnWidth = 212; export const kibanaJSON = 'kibana-json'; -export const GRID_STYLE = { - border: 'all', +export const GRID_STYLE: EuiDataGridStyle = { + border: 'horizontal', fontSize: 's', - cellPadding: 's', - rowHover: 'none', -} as EuiDataGridStyle; + cellPadding: 'l', + rowHover: 'highlight', + header: 'underline', + stripes: true, +}; export const toolbarVisibility = { showColumnSelector: { diff --git a/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx b/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx index 941dccabf24749..0f6624a120b9cb 100644 --- a/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx +++ b/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx @@ -212,7 +212,9 @@ describe('Unified data table cell rendering', function () { compressed={true} type="inline" > - + extension - + bytesDisplayName - + _index - + _score - + extension - + bytesDisplayName - + _index - + _score - + extension - + bytesDisplayName - + _index - + _score - + object.value - + object.value {pairs.map(([key, value]) => ( - {key} + + {key} + renders properly with a drag handl "aria-label": "Preview bytes: number", } } - className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists custom" + className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists unifiedFieldListItemButton--withDragHandle custom" dataTestSubj="test-subj" dragHandle={ diff --git a/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx b/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx index 13860a0e4f1557..c9be7af08638c9 100644 --- a/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx +++ b/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx @@ -105,6 +105,7 @@ export function FieldItemButton({ [`unifiedFieldListItemButton--${type}`]: type, [`unifiedFieldListItemButton--exists`]: !isEmpty, [`unifiedFieldListItemButton--missing`]: isEmpty, + [`unifiedFieldListItemButton--withDragHandle`]: Boolean(otherProps.dragHandle), }, className ); diff --git a/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx b/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx index e1834dd8fd5f09..4410bc82eeef85 100644 --- a/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx +++ b/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx @@ -23,6 +23,7 @@ export interface FieldListFiltersProps { getCustomFieldType?: FieldTypeFilterProps['getCustomFieldType']; onSupportedFieldFilter?: FieldTypeFilterProps['onSupportedFieldFilter']; onChangeFieldTypes: FieldTypeFilterProps['onChange']; + compressed?: FieldNameSearchProps['compressed']; nameFilter: FieldNameSearchProps['nameFilter']; screenReaderDescriptionId?: FieldNameSearchProps['screenReaderDescriptionId']; onChangeNameFilter: FieldNameSearchProps['onChange']; @@ -38,6 +39,7 @@ export interface FieldListFiltersProps { * @param getCustomFieldType * @param onSupportedFieldFilter * @param onChangeFieldTypes + * @param compressed * @param nameFilter * @param screenReaderDescriptionId * @param onChangeNameFilter @@ -52,6 +54,7 @@ function InnerFieldListFilters({ getCustomFieldType, onSupportedFieldFilter, onChangeFieldTypes, + compressed, nameFilter, screenReaderDescriptionId, onChangeNameFilter, @@ -72,6 +75,7 @@ function InnerFieldListFilters({ /> ) : undefined } + compressed={compressed} nameFilter={nameFilter} screenReaderDescriptionId={screenReaderDescriptionId} onChange={onChangeNameFilter} diff --git a/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx b/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx index 91d78850e44531..faf146adfd831d 100644 --- a/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx +++ b/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx @@ -16,6 +16,7 @@ import { EuiFieldSearch, type EuiFieldSearchProps } from '@elastic/eui'; export interface FieldNameSearchProps { 'data-test-subj': string; append?: EuiFieldSearchProps['append']; + compressed?: EuiFieldSearchProps['compressed']; nameFilter: string; screenReaderDescriptionId?: string; onChange: (nameFilter: string) => unknown; @@ -25,6 +26,7 @@ export interface FieldNameSearchProps { * Search input for fields list * @param dataTestSubject * @param append + * @param compressed * @param nameFilter * @param screenReaderDescriptionId * @param onChange @@ -33,6 +35,7 @@ export interface FieldNameSearchProps { export const FieldNameSearch: React.FC = ({ 'data-test-subj': dataTestSubject, append, + compressed, nameFilter, screenReaderDescriptionId, onChange, @@ -52,6 +55,7 @@ export const FieldNameSearch: React.FC = ({ placeholder={searchPlaceholder} value={nameFilter} append={append} + compressed={compressed} /> ); }; diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx index 6ccbf54516995c..4feeb9b1be23e3 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx @@ -82,6 +82,7 @@ async function getComponent({ isEmpty: false, groupIndex: 1, itemIndex: 0, + size: 'xs', workspaceSelectedFieldNames: [], }; const comp = await mountWithIntl(); diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx index 837818399eccf2..745d463b283860 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx @@ -33,6 +33,7 @@ import type { interface GetCommonFieldItemButtonPropsParams { stateService: UnifiedFieldListSidebarContainerStateService; field: DataViewField; + size: FieldItemButtonProps['size']; isSelected: boolean; toggleDisplay: (field: DataViewField, isSelected?: boolean) => void; } @@ -40,10 +41,12 @@ interface GetCommonFieldItemButtonPropsParams { function getCommonFieldItemButtonProps({ stateService, field, + size, isSelected, toggleDisplay, }: GetCommonFieldItemButtonPropsParams): { field: FieldItemButtonProps['field']; + size: FieldItemButtonProps['size']; isSelected: FieldItemButtonProps['isSelected']; buttonAddFieldToWorkspaceProps?: FieldItemButtonProps['buttonAddFieldToWorkspaceProps']; buttonRemoveFieldFromWorkspaceProps?: FieldItemButtonProps['buttonRemoveFieldFromWorkspaceProps']; @@ -54,6 +57,7 @@ function getCommonFieldItemButtonProps({ field.name === '_source' ? undefined : (f: DataViewField) => toggleDisplay(f, isSelected); return { field, + size, isSelected, buttonAddFieldToWorkspaceProps: stateService.creationOptions.buttonAddFieldToWorkspaceProps, buttonRemoveFieldFromWorkspaceProps: @@ -68,10 +72,11 @@ interface MultiFieldsProps { multiFields: NonNullable; toggleDisplay: (field: DataViewField) => void; alwaysShowActionButton: boolean; + size: FieldItemButtonProps['size']; } const MultiFields: React.FC = memo( - ({ stateService, multiFields, toggleDisplay, alwaysShowActionButton }) => ( + ({ stateService, multiFields, toggleDisplay, alwaysShowActionButton, size }) => (
    @@ -84,7 +89,6 @@ const MultiFields: React.FC = memo( {multiFields.map((entry) => ( = memo( field: entry.field, isSelected: entry.isSelected, toggleDisplay, + size, })} /> ))} @@ -187,6 +192,10 @@ export interface UnifiedFieldListItemProps { * Item index in the field list */ itemIndex: number; + /** + * Item size + */ + size: FieldItemButtonProps['size']; } function UnifiedFieldListItemComponent({ @@ -209,6 +218,7 @@ function UnifiedFieldListItemComponent({ workspaceSelectedFieldNames, groupIndex, itemIndex, + size, }: UnifiedFieldListItemProps) { const [infoIsOpen, setOpen] = useState(false); @@ -284,6 +294,7 @@ function UnifiedFieldListItemComponent({ multiFields={multiFields} alwaysShowActionButton={alwaysShowActionButton} toggleDisplay={toggleDisplay} + size={size} /> )} @@ -315,6 +326,8 @@ function UnifiedFieldListItemComponent({ [field, itemIndex] ); const order = useMemo(() => [0, groupIndex, itemIndex], [groupIndex, itemIndex]); + const isDragDisabled = + alwaysShowActionButton || stateService.creationOptions.disableFieldListItemDragAndDrop; return ( } diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss index d01d93c345ef99..b646d60ec3b0fa 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss @@ -6,6 +6,11 @@ width: $euiSize * 19; height: 100%; + &--collapsed { + width: auto; + padding: $euiSizeS $euiSizeS 0; + } + @include euiBreakpoint('xs', 's') { width: 100%; padding: $euiSize; @@ -14,7 +19,7 @@ } .unifiedFieldListSidebar__list { - padding: $euiSizeS 0 $euiSizeS $euiSizeS; + padding: $euiSizeS $euiSizeS 0; @include euiBreakpoint('xs', 's') { padding: $euiSizeS 0 0 0; @@ -38,3 +43,18 @@ .unifiedFieldListSidebar__flyoutHeader { align-items: center; } + +.unifiedFieldListSidebar .unifiedFieldListItemButton { + &.kbnFieldButton { + margin-bottom: $euiSizeXS / 2; + } + + &.domDragDrop-isDraggable { + box-shadow: none; + } + + &:not(.unifiedFieldListItemButton__dragging) { + padding: 0; + background: none; + } +} diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx index 12eb7209cd05a7..fb90e2b36d39e2 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx @@ -9,16 +9,29 @@ import './field_list_sidebar.scss'; import React, { memo, useCallback, useEffect, useMemo, useState } from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiPageSidebar } from '@elastic/eui'; +import { css } from '@emotion/react'; +import classnames from 'classnames'; +import { + EuiButton, + EuiButtonProps, + EuiFlexGroup, + EuiFlexItem, + EuiHideFor, + EuiPageSidebar, + EuiPageSidebarProps, + useEuiTheme, +} from '@elastic/eui'; +import { ToolbarButton } from '@kbn/shared-ux-button-toolbar'; import { type DataViewField } from '@kbn/data-views-plugin/public'; import { getDataViewFieldSubtypeMulti } from '@kbn/es-query/src/utils'; import { FIELDS_LIMIT_SETTING, SEARCH_FIELDS_FROM_SOURCE } from '@kbn/discover-utils'; import { FieldList } from '../../components/field_list'; import { FieldListFilters } from '../../components/field_list_filters'; import { FieldListGrouped, type FieldListGroupedProps } from '../../components/field_list_grouped'; -import { FieldsGroupNames } from '../../types'; +import { FieldsGroupNames, type ButtonAddFieldVariant } from '../../types'; import { GroupedFieldsParams, useGroupedFields } from '../../hooks/use_grouped_fields'; import { UnifiedFieldListItem, type UnifiedFieldListItemProps } from '../unified_field_list_item'; +import { SidebarToggleButton, type SidebarToggleButtonProps } from './sidebar_toggle_button'; import { getSelectedFields, shouldShowField, @@ -46,6 +59,11 @@ export type UnifiedFieldListSidebarCustomizableProps = Pick< */ showFieldList?: boolean; + /** + * Compressed view + */ + compressed?: boolean; + /** * Custom logic for determining which field is selected */ @@ -83,6 +101,22 @@ interface UnifiedFieldListSidebarInternalProps { */ alwaysShowActionButton?: UnifiedFieldListItemProps['alwaysShowActionButton']; + /** + * What button style type to use + */ + buttonAddFieldVariant: ButtonAddFieldVariant; + + /** + * In case if sidebar is collapsible by default + * Pass `undefined` to hide the collapse/expand buttons from the sidebar + */ + isSidebarCollapsed?: boolean; + + /** + * A handler to toggle the sidebar + */ + onToggleSidebar?: SidebarToggleButtonProps['onChange']; + /** * Trigger a field editing */ @@ -104,10 +138,13 @@ export const UnifiedFieldListSidebarComponent: React.FC { const { dataViews, core } = services; const useNewFieldsApi = useMemo( @@ -210,6 +248,7 @@ export const UnifiedFieldListSidebarComponent: React.FC + ) : null; + + const pageSidebarProps: Partial = { + className: classnames('unifiedFieldListSidebar', { + 'unifiedFieldListSidebar--collapsed': isSidebarCollapsed, + }), + 'aria-label': i18n.translate( + 'unifiedFieldList.fieldListSidebar.indexAndFieldsSectionAriaLabel', + { + defaultMessage: 'Index and fields', } - > + ), + id: + stateService.creationOptions.dataTestSubj?.fieldListSidebarDataTestSubj ?? + 'unifiedFieldListSidebarId', + 'data-test-subj': + stateService.creationOptions.dataTestSubj?.fieldListSidebarDataTestSubj ?? + 'unifiedFieldListSidebarId', + }; + + if (isSidebarCollapsed && sidebarToggleButton) { + return ( + +
    {sidebarToggleButton}
    +
    + ); + } + + const hasButtonAddFieldToolbarStyle = buttonAddFieldVariant === 'toolbar'; + const buttonAddFieldCommonProps: Partial = { + size: 's', + iconType: 'indexOpen', + 'data-test-subj': + stateService.creationOptions.dataTestSubj?.fieldListAddFieldButtonTestSubj ?? + 'unifiedFieldListAddField', + }; + const buttonAddFieldLabel = i18n.translate( + 'unifiedFieldList.fieldListSidebar.addFieldButtonLabel', + { + defaultMessage: 'Add a field', + } + ); + + return ( + - {Boolean(prepend) && {prepend}} + {Boolean(prepend) && ( + + {prepend} + + )} } + prepend={ + + {sidebarToggleButton && ( + {sidebarToggleButton} + )} + + + + + } className="unifiedFieldListSidebar__list" > {showFieldList ? ( @@ -293,25 +387,33 @@ export const UnifiedFieldListSidebarComponent: React.FC )} - {!!onEditField && ( - - onEditField()} - size="s" - > - {i18n.translate('unifiedFieldList.fieldListSidebar.addFieldButtonLabel', { - defaultMessage: 'Add a field', - })} - - - )} + {!!onEditField && ( + + {hasButtonAddFieldToolbarStyle ? ( + onEditField()} + /> + ) : ( + onEditField()}> + {buttonAddFieldLabel} + + )} + + )} ); diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx index 4765280b4ef68f..520a64f8d69b0b 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx @@ -35,6 +35,7 @@ import { type ExistingFieldsFetcher, } from '../../hooks/use_existing_fields'; import { useQuerySubscriber } from '../../hooks/use_query_subscriber'; +import { useSidebarToggle } from '../../hooks/use_sidebar_toggle'; import { UnifiedFieldListSidebar, type UnifiedFieldListSidebarCustomizableProps, @@ -72,11 +73,6 @@ export type UnifiedFieldListSidebarContainerProps = Omit< */ getCreationOptions: () => UnifiedFieldListSidebarContainerCreationOptions; - /** - * In case if you have a sidebar toggle button - */ - isSidebarCollapsed?: boolean; - /** * Custom content to render at the top of field list in the flyout (for example a data view picker) */ @@ -115,7 +111,6 @@ const UnifiedFieldListSidebarContainer = forwardRef< services, dataView, workspaceSelectedFieldNames, - isSidebarCollapsed, // TODO later: pull the logic of collapsing the sidebar to this component prependInFlyout, variant = 'responsive', onFieldEdited, @@ -125,6 +120,7 @@ const UnifiedFieldListSidebarContainer = forwardRef< ); const { data, dataViewFieldEditor } = services; const [isFieldListFlyoutVisible, setIsFieldListFlyoutVisible] = useState(false); + const { isSidebarCollapsed, onToggleSidebar } = useSidebarToggle({ stateService }); const canEditDataView = Boolean(dataViewFieldEditor?.userPermissions.editIndexPattern()) || @@ -250,8 +246,15 @@ const UnifiedFieldListSidebarContainer = forwardRef< isAffectedByGlobalFilter, onEditField: editField, onDeleteField: deleteField, + compressed: stateService.creationOptions.compressed ?? false, + buttonAddFieldVariant: stateService.creationOptions.buttonAddFieldVariant ?? 'primary', }; + if (stateService.creationOptions.showSidebarToggleButton) { + commonSidebarProps.isSidebarCollapsed = isSidebarCollapsed; + commonSidebarProps.onToggleSidebar = onToggleSidebar; + } + const buttonPropsToTriggerFlyout = stateService.creationOptions.buttonPropsToTriggerFlyout; const renderListVariant = () => { @@ -319,6 +322,8 @@ const UnifiedFieldListSidebarContainer = forwardRef< @@ -333,12 +338,12 @@ const UnifiedFieldListSidebarContainer = forwardRef< } if (variant === 'list-always') { - return (!isSidebarCollapsed && renderListVariant()) || null; + return renderListVariant(); } return ( <> - {!isSidebarCollapsed && {renderListVariant()}} + {renderListVariant()} {renderButtonVariant()} ); diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/index.ts b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/index.ts new file mode 100644 index 00000000000000..f3dd50b48c968c --- /dev/null +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { SidebarToggleButton, type SidebarToggleButtonProps } from './sidebar_toggle_button'; diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.tsx new file mode 100644 index 00000000000000..1bf8f62b2cceda --- /dev/null +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.tsx @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { i18n } from '@kbn/i18n'; +import { IconButtonGroup, type IconButtonGroupProps } from '@kbn/shared-ux-button-toolbar'; + +/** + * Toggle button props + */ +export interface SidebarToggleButtonProps { + 'data-test-subj'?: string; + isSidebarCollapsed: boolean; + buttonSize: IconButtonGroupProps['buttonSize']; + onChange: (isSidebarCollapsed: boolean) => void; +} + +/** + * A toggle button for the fields sidebar + * @param data-test-subj + * @param isSidebarCollapsed + * @param onChange + * @constructor + */ +export const SidebarToggleButton: React.FC = ({ + 'data-test-subj': dataTestSubj = 'unifiedFieldListSidebar__toggle', + isSidebarCollapsed, + buttonSize, + onChange, +}) => { + // TODO: replace with new Eui icons once available + return ( +
    + onChange(false), + }, + ] + : [ + { + label: i18n.translate('unifiedFieldList.fieldListSidebar.collapseSidebarButton', { + defaultMessage: 'Hide sidebar', + }), + iconType: 'menuLeft', + 'data-test-subj': `${dataTestSubj}-collapse`, + onClick: () => onChange(true), + }, + ]), + ]} + /> +
    + ); +}; diff --git a/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx new file mode 100644 index 00000000000000..16ee451400c6cd --- /dev/null +++ b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx @@ -0,0 +1,104 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { renderHook, act } from '@testing-library/react-hooks'; +import { useSidebarToggle } from './use_sidebar_toggle'; +import * as localStorageModule from 'react-use/lib/useLocalStorage'; + +jest.spyOn(localStorageModule, 'default'); + +describe('UnifiedFieldList useSidebarToggle', () => { + const stateService = { + creationOptions: { + originatingApp: 'test', + localStorageKeyPrefix: 'this', + }, + }; + + beforeEach(() => { + (localStorageModule.default as jest.Mock).mockClear(); + }); + + it('should toggle correctly', async () => { + const storeMock = jest.fn(); + (localStorageModule.default as jest.Mock).mockImplementation(() => { + return [false, storeMock]; + }); + + const { result } = renderHook(useSidebarToggle, { + initialProps: { + stateService, + }, + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + + act(() => { + result.current.onToggleSidebar(true); + }); + + expect(result.current.isSidebarCollapsed).toBe(true); + expect(storeMock).toHaveBeenCalledWith(true); + + act(() => { + result.current.onToggleSidebar(false); + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + expect(storeMock).toHaveBeenLastCalledWith(false); + }); + + it('should restore collapsed state and expand from it', async () => { + const storeMock = jest.fn(); + (localStorageModule.default as jest.Mock).mockImplementation(() => { + return [true, storeMock]; + }); + + const { result } = renderHook(useSidebarToggle, { + initialProps: { + stateService, + }, + }); + + expect(result.current.isSidebarCollapsed).toBe(true); + + act(() => { + result.current.onToggleSidebar(false); + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + expect(storeMock).toHaveBeenCalledWith(false); + }); + + it('should not persist if local storage key is not defined', async () => { + const storeMock = jest.fn(); + (localStorageModule.default as jest.Mock).mockImplementation(() => { + return [false, storeMock]; + }); + + const { result } = renderHook(useSidebarToggle, { + initialProps: { + stateService: { + creationOptions: { + originatingApp: 'test', + localStorageKeyPrefix: undefined, + }, + }, + }, + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + + act(() => { + result.current.onToggleSidebar(true); + }); + + expect(result.current.isSidebarCollapsed).toBe(true); + expect(storeMock).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts new file mode 100644 index 00000000000000..b12c7dc7dae953 --- /dev/null +++ b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useCallback, useState, useMemo } from 'react'; +import useLocalStorage from 'react-use/lib/useLocalStorage'; +import type { UnifiedFieldListSidebarContainerStateService } from '../types'; + +/** + * Hook params + */ +export interface UseSidebarToggleParams { + /** + * Service for managing the state + */ + stateService: UnifiedFieldListSidebarContainerStateService; +} + +/** + * Hook result type + */ +export interface UseSidebarToggleResult { + isSidebarCollapsed: boolean; + onToggleSidebar: (isSidebarCollapsed: boolean) => void; +} + +/** + * Hook for managing sidebar toggle state + * @param stateService + */ +export const useSidebarToggle = ({ + stateService, +}: UseSidebarToggleParams): UseSidebarToggleResult => { + const [initialIsSidebarCollapsed, storeIsSidebarCollapsed] = useLocalStorage( + `${stateService.creationOptions.localStorageKeyPrefix ?? 'unifiedFieldList'}:sidebarClosed`, // as legacy `discover:sidebarClosed` key + false + ); + const [isSidebarCollapsed, setIsSidebarCollapsed] = useState( + initialIsSidebarCollapsed ?? false + ); + + const onToggleSidebar = useCallback( + (isCollapsed) => { + setIsSidebarCollapsed(isCollapsed); + if (stateService.creationOptions.localStorageKeyPrefix) { + storeIsSidebarCollapsed(isCollapsed); + } + }, + [ + storeIsSidebarCollapsed, + setIsSidebarCollapsed, + stateService.creationOptions.localStorageKeyPrefix, + ] + ); + + return useMemo( + () => ({ isSidebarCollapsed, onToggleSidebar }), + [isSidebarCollapsed, onToggleSidebar] + ); +}; diff --git a/packages/kbn-unified-field-list/src/types.ts b/packages/kbn-unified-field-list/src/types.ts index 76997c73176b30..dad321dbe56b3e 100755 --- a/packages/kbn-unified-field-list/src/types.ts +++ b/packages/kbn-unified-field-list/src/types.ts @@ -107,6 +107,8 @@ export type OverrideFieldGroupDetails = ( export type TimeRangeUpdatesType = 'search-session' | 'timefilter'; +export type ButtonAddFieldVariant = 'primary' | 'toolbar'; + export type SearchMode = 'documents' | 'text-based'; export interface UnifiedFieldListSidebarContainerCreationOptions { @@ -116,7 +118,12 @@ export interface UnifiedFieldListSidebarContainerCreationOptions { originatingApp: string; /** - * Your app name: "discover", "lens", etc. If not provided, sections state would not be persisted. + * Pass `true` to enable the compressed view + */ + compressed?: boolean; + + /** + * Your app name: "discover", "lens", etc. If not provided, sections and sidebar toggle states would not be persisted. */ localStorageKeyPrefix?: string; @@ -125,6 +132,16 @@ export interface UnifiedFieldListSidebarContainerCreationOptions { */ timeRangeUpdatesType?: TimeRangeUpdatesType; + /** + * Choose how the bottom "Add a field" button should look like. Default `primary`. + */ + buttonAddFieldVariant?: ButtonAddFieldVariant; + + /** + * Pass `true` to make the sidebar collapsible. Additionally, define `localStorageKeyPrefix` to persist toggle state. + */ + showSidebarToggleButton?: boolean; + /** * Pass `true` to skip auto fetching of fields existence info */ diff --git a/packages/kbn-unified-field-list/tsconfig.json b/packages/kbn-unified-field-list/tsconfig.json index 78ea71ca443440..f60d2037864399 100644 --- a/packages/kbn-unified-field-list/tsconfig.json +++ b/packages/kbn-unified-field-list/tsconfig.json @@ -29,6 +29,7 @@ "@kbn/shared-ux-utility", "@kbn/discover-utils", "@kbn/ebt-tools", + "@kbn/shared-ux-button-toolbar", ], "exclude": ["target/**/*"] } diff --git a/src/plugins/discover/public/__mocks__/__storybook_mocks__/with_discover_services.tsx b/src/plugins/discover/public/__mocks__/__storybook_mocks__/with_discover_services.tsx index 62b04533c2a41d..cf280767e0d4b0 100644 --- a/src/plugins/discover/public/__mocks__/__storybook_mocks__/with_discover_services.tsx +++ b/src/plugins/discover/public/__mocks__/__storybook_mocks__/with_discover_services.tsx @@ -21,7 +21,6 @@ import { SEARCH_FIELDS_FROM_SOURCE, SHOW_MULTIFIELDS, } from '@kbn/discover-utils'; -import { SIDEBAR_CLOSED_KEY } from '../../application/main/components/layout/discover_layout'; import { LocalStorageMock } from '../local_storage_mock'; import { DiscoverServices } from '../../build_services'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; @@ -73,9 +72,7 @@ export const services = { docLinks: { links: { discover: {} } }, theme, }, - storage: new LocalStorageMock({ - [SIDEBAR_CLOSED_KEY]: false, - }) as unknown as Storage, + storage: new LocalStorageMock({}) as unknown as Storage, data: { query: { timefilter: { diff --git a/src/plugins/discover/public/application/context/components/action_bar/action_bar.tsx b/src/plugins/discover/public/application/context/components/action_bar/action_bar.tsx index 5cbb72f0602eeb..747cd68837545d 100644 --- a/src/plugins/discover/public/application/context/components/action_bar/action_bar.tsx +++ b/src/plugins/discover/public/application/context/components/action_bar/action_bar.tsx @@ -156,7 +156,7 @@ export function ActionBar({ {!isSuccessor && showWarning && } {!isSuccessor && showWarning && } - {!isSuccessor && } + ); } diff --git a/src/plugins/discover/public/application/context/context_app.scss b/src/plugins/discover/public/application/context/context_app.scss index 13593a7ed32ddc..19ae9a7471302c 100644 --- a/src/plugins/discover/public/application/context/context_app.scss +++ b/src/plugins/discover/public/application/context/context_app.scss @@ -17,8 +17,4 @@ &__cell--highlight { background-color: tintOrShade($euiColorPrimary, 90%, 70%); } - - .euiDataGridRowCell.euiDataGridRowCell--firstColumn { - padding: 0; - } } diff --git a/src/plugins/discover/public/application/context/context_app.tsx b/src/plugins/discover/public/application/context/context_app.tsx index 19a50586383920..355c82417f6325 100644 --- a/src/plugins/discover/public/application/context/context_app.tsx +++ b/src/plugins/discover/public/application/context/context_app.tsx @@ -10,7 +10,8 @@ import React, { Fragment, memo, useEffect, useRef, useMemo, useCallback } from ' import './context_app.scss'; import classNames from 'classnames'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiText, EuiPage, EuiPageBody, EuiSpacer } from '@elastic/eui'; +import { EuiText, EuiPage, EuiPageBody, EuiSpacer, useEuiPaddingSize } from '@elastic/eui'; +import { css } from '@emotion/react'; import { cloneDeep } from 'lodash'; import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import { useExecutionContext } from '@kbn/kibana-react-plugin/public'; @@ -215,6 +216,8 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => }; }; + const titlePadding = useEuiPaddingSize('m'); + return ( {fetchedState.anchorStatus.value === LoadingStatus.FAILED ? ( @@ -235,12 +238,16 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => - - + - {!!interceptedWarnings?.length && ( - <> - - - - )} - - {loadingFeedback()} - + + {!!interceptedWarnings?.length && ( + <> + + + + )} + + {loadingFeedback()} + {isLegacy && rows && rows.length !== 0 && ( )} - - + + + ); } + +const WrapperWithPadding: React.FC = ({ children }) => { + const padding = useEuiPaddingSize('s'); + + return ( +
    + {children} +
    + ); +}; diff --git a/src/plugins/discover/public/application/doc/components/doc.tsx b/src/plugins/discover/public/application/doc/components/doc.tsx index 83c2c08eafa2e5..5bf79863ecfbee 100644 --- a/src/plugins/discover/public/application/doc/components/doc.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.tsx @@ -50,7 +50,7 @@ export function Doc(props: DocProps) { values: { id: props.id }, })}
    - + {reqState === ElasticRequestState.NotFoundDataView && ( time; (services.data.query.queryString.getDefaultQuery as jest.Mock).mockReturnValue({ @@ -77,6 +73,9 @@ async function mountComponent( (searchSourceInstanceMock.fetch$ as jest.Mock).mockImplementation( jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: 2 } } })) ); + (localStorageModule.default as jest.Mock).mockImplementation( + jest.fn(() => [prevSidebarClosed, jest.fn()]) + ); const stateContainer = getDiscoverStateMock({ isTimeBased: true }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx index 58c23aa561e124..3402bfbce1bcc4 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx @@ -6,17 +6,18 @@ * Side Public License, v 1. */ import './discover_layout.scss'; -import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import { - EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiHideFor, EuiPage, EuiPageBody, EuiPanel, - EuiSpacer, + useEuiBackgroundColor, + useEuiTheme, } from '@elastic/eui'; +import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; import { METRIC_TYPE } from '@kbn/analytics'; import classNames from 'classnames'; @@ -52,11 +53,6 @@ import { DiscoverHistogramLayout } from './discover_histogram_layout'; import { ErrorCallout } from '../../../../components/common/error_callout'; import { addLog } from '../../../../utils/add_log'; -/** - * Local storage key for sidebar persistence state - */ -export const SIDEBAR_CLOSED_KEY = 'discover:sidebarClosed'; - const SidebarMemoized = React.memo(DiscoverSidebarResponsive); const TopNavMemoized = React.memo(DiscoverTopNav); @@ -72,11 +68,12 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { data, uiSettings, filterManager, - storage, history, spaces, inspector, } = useDiscoverServices(); + const { euiTheme } = useEuiTheme(); + const pageBackgroundColor = useEuiBackgroundColor('plain'); const globalQueryState = data.query.getState(); const { main$ } = stateContainer.dataState.data$; const [query, savedQuery, columns, sort] = useAppStateSelector((state) => [ @@ -109,8 +106,6 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { return dataView.type !== DataViewType.ROLLUP && dataView.isTimeBased(); }, [dataView]); - const initialSidebarClosed = Boolean(storage.get(SIDEBAR_CLOSED_KEY)); - const [isSidebarClosed, setIsSidebarClosed] = useState(initialSidebarClosed); const useNewFieldsApi = useMemo(() => !uiSettings.get(SEARCH_FIELDS_FROM_SOURCE), [uiSettings]); const isPlainRecord = useMemo(() => getRawRecordType(query) === RecordRawType.PLAIN, [query]); @@ -172,11 +167,6 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { filterManager.setFilters(disabledFilters); }, [filterManager]); - const toggleSidebarCollapse = useCallback(() => { - storage.set(SIDEBAR_CLOSED_KEY, !isSidebarClosed); - setIsSidebarClosed(!isSidebarClosed); - }, [isSidebarClosed, storage]); - const contentCentered = resultState === 'uninitialized' || resultState === 'none'; const documentState = useDataState(stateContainer.dataState.data$.documents$); @@ -240,7 +230,13 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { ]); return ( - +

    - + - -
    - - -
    -
    +
    {resultState === 'none' ? ( @@ -335,7 +319,10 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { role="main" panelRef={resizeRef} paddingSize="none" + borderRadius="none" hasShadow={false} + hasBorder={false} + color="transparent" className={classNames('dscPageContent', { 'dscPageContent--centered': contentCentered, })} diff --git a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx index d7d90ff6b517e9..e241a52b1d259f 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { EuiFlexGroup, EuiFlexItem, EuiHorizontalRule } from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { DragDrop, type DropType, DropOverlayWrapper } from '@kbn/dom-drag-drop'; import useObservable from 'react-use/lib/useObservable'; import React, { useCallback } from 'react'; @@ -97,7 +97,6 @@ export const DiscoverMainContent = ({ data-test-subj="dscMainContent" > - {!isPlainRecord && ( = ({ return ( } - hasBorder + hasBorder={false} title={

    void; }) => { + const { euiTheme } = useEuiTheme(); const { uiSettings } = useDiscoverServices(); const tabsCss = css` padding: 0 ${useEuiPaddingSize('s')}; - background-color: ${euiThemeVars.euiPageBackgroundColor}; + border-bottom: ${viewMode === VIEW_MODE.AGGREGATED_LEVEL ? euiTheme.border.thin : 'none'}; `; const showViewModeToggle = uiSettings.get(SHOW_FIELD_STATISTICS) ?? false; @@ -36,7 +36,7 @@ export const DocumentViewModeToggle = ({ } return ( - + setDiscoverViewMode(VIEW_MODE.DOCUMENT_LEVEL)} diff --git a/src/plugins/unified_histogram/public/layout/layout.tsx b/src/plugins/unified_histogram/public/layout/layout.tsx index d2088d4776445d..95661ed9b3f2f9 100644 --- a/src/plugins/unified_histogram/public/layout/layout.tsx +++ b/src/plugins/unified_histogram/public/layout/layout.tsx @@ -275,7 +275,7 @@ export const UnifiedHistogramLayout = ({ chart={chart} breakdown={breakdown} appendHitsCounter={appendHitsCounter} - appendHistogram={showFixedPanels ? : } + appendHistogram={} disableAutoFetching={disableAutoFetching} disableTriggers={disableTriggers} disabledActions={disabledActions} diff --git a/src/plugins/unified_histogram/public/panels/panels_resizable.tsx b/src/plugins/unified_histogram/public/panels/panels_resizable.tsx index 773ebe172b25e6..9f8fd5338a38fe 100644 --- a/src/plugins/unified_histogram/public/panels/panels_resizable.tsx +++ b/src/plugins/unified_histogram/public/panels/panels_resizable.tsx @@ -6,12 +6,7 @@ * Side Public License, v 1. */ -import { - EuiResizableContainer, - useEuiTheme, - useGeneratedHtmlId, - useResizeObserver, -} from '@elastic/eui'; +import { EuiResizableContainer, useGeneratedHtmlId, useResizeObserver } from '@elastic/eui'; import type { ResizeTrigger } from '@elastic/eui/src/components/resizable_container/types'; import { css } from '@emotion/react'; import { isEqual, round } from 'lodash'; @@ -162,12 +157,6 @@ export const PanelsResizable = ({ disableResizeWithPortalsHack(); }, [disableResizeWithPortalsHack, resizeWithPortalsHackIsResizing]); - const { euiTheme } = useEuiTheme(); - const buttonCss = css` - margin-top: -${euiTheme.size.base}; - margin-bottom: 0; - `; - return ( { const rowData = await PageObjects.discover.getDocTableField(1); diff --git a/test/functional/apps/discover/group3/_sidebar.ts b/test/functional/apps/discover/group3/_sidebar.ts index eefda4891390be..6a095247774871 100644 --- a/test/functional/apps/discover/group3/_sidebar.ts +++ b/test/functional/apps/discover/group3/_sidebar.ts @@ -214,16 +214,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('collapse expand', function () { it('should initially be expanded', async function () { await testSubjects.existOrFail('discover-sidebar'); + await testSubjects.existOrFail('fieldList'); }); it('should collapse when clicked', async function () { await PageObjects.discover.toggleSidebarCollapse(); - await testSubjects.missingOrFail('discover-sidebar'); + await testSubjects.existOrFail('discover-sidebar'); + await testSubjects.missingOrFail('fieldList'); }); it('should expand when clicked', async function () { await PageObjects.discover.toggleSidebarCollapse(); await testSubjects.existOrFail('discover-sidebar'); + await testSubjects.existOrFail('fieldList'); }); }); diff --git a/test/functional/page_objects/discover_page.ts b/test/functional/page_objects/discover_page.ts index 1545975667c603..d36cd4b56b129b 100644 --- a/test/functional/page_objects/discover_page.ts +++ b/test/functional/page_objects/discover_page.ts @@ -370,13 +370,14 @@ export class DiscoverPageObject extends FtrService { } public async toggleSidebarCollapse() { - return await this.testSubjects.click('collapseSideBarButton'); + return await this.testSubjects.click('unifiedFieldListSidebar__toggle'); } public async closeSidebar() { await this.retry.tryForTime(2 * 1000, async () => { - await this.toggleSidebarCollapse(); - await this.testSubjects.missingOrFail('discover-sidebar'); + await this.testSubjects.click('unifiedFieldListSidebar__toggle-collapse'); + await this.testSubjects.missingOrFail('unifiedFieldListSidebar__toggle-collapse'); + await this.testSubjects.missingOrFail('fieldList'); }); } diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 29c9b379fc04b8..2f8a2bad9d57b4 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -2395,7 +2395,6 @@ "discover.serverLocatorExtension.titleFromLocatorUnknown": "Recherche inconnue", "discover.singleDocRoute.errorTitle": "Une erreur s'est produite", "discover.skipToBottomButtonLabel": "Atteindre la fin du tableau", - "discover.toggleSidebarAriaLabel": "Activer/Désactiver la barre latérale", "discover.topNav.openSearchPanel.manageSearchesButtonLabel": "Gérer les recherches", "discover.topNav.openSearchPanel.noSearchesFoundDescription": "Aucune recherche correspondante trouvée.", "discover.topNav.openSearchPanel.openSearchTitle": "Ouvrir une recherche", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index eaa6b47105103a..f9656c11788069 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -2410,7 +2410,6 @@ "discover.serverLocatorExtension.titleFromLocatorUnknown": "不明な検索", "discover.singleDocRoute.errorTitle": "エラーが発生しました", "discover.skipToBottomButtonLabel": "テーブルの最後に移動", - "discover.toggleSidebarAriaLabel": "サイドバーを切り替える", "discover.topNav.openSearchPanel.manageSearchesButtonLabel": "検索の管理", "discover.topNav.openSearchPanel.noSearchesFoundDescription": "一致する検索が見つかりませんでした。", "discover.topNav.openSearchPanel.openSearchTitle": "検索を開く", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index a0fe7e9e056508..3d1ae2ad2bcca9 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -2410,7 +2410,6 @@ "discover.serverLocatorExtension.titleFromLocatorUnknown": "未知搜索", "discover.singleDocRoute.errorTitle": "发生错误", "discover.skipToBottomButtonLabel": "转到表尾", - "discover.toggleSidebarAriaLabel": "切换侧边栏", "discover.topNav.openSearchPanel.manageSearchesButtonLabel": "管理搜索", "discover.topNav.openSearchPanel.noSearchesFoundDescription": "未找到匹配的搜索。", "discover.topNav.openSearchPanel.openSearchTitle": "打开搜索", From a9e882d18b4937377ae38483275e5ecc956d0395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Tue, 12 Sep 2023 09:19:31 +0100 Subject: [PATCH 22/39] [Profiling-APM] Service Profiling flamegraph (#165360) - Move files from profiling-data-access-plugin to a new Kibana pkg @kbn/profiling-utils - Create a Profling flamegraph embeddable component in the Profiling plugin - Create a Profiling flamegraph embeddable client in the Observability-shared plugin - Create a Profiling tab in APM (it's only visible when kibana setting is enabled and Profiling has been initialized) - This PR has not yet removed the Profiling dependency from the APM plugin. For that, I need to refactor some parts on Profiling side and move some logic to the data access plugin. This will be done on another PR. **How plugins can use the Profiling Flamegraph** 1. Call [profilingDataAccessStart.services.fetchFlamechartData](https://github.com/elastic/kibana/blob/main/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts#L22), it returns an [ElasticFlameGraph](https://github.com/elastic/kibana/blob/main/x-pack/plugins/profiling_data_access/common/flamegraph.ts#L74). 2. Render the [EmbeddableFlamegraph](https://github.com/elastic/kibana/pull/165360/files#diff-fb9763ef775d15950acb682abf7447259c3feae74fab413d4e1a14fdcc401351R21) component passing the data received. https://github.com/elastic/kibana/assets/55978943/2aa3d1b6-3649-4e58-a088-11890a09feec --- Screenshot 2023-09-05 at 09 41 11 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Joseph Crail --- .github/CODEOWNERS | 1 + package.json | 1 + .../common/__fixtures__/README.md | 0 .../common/__fixtures__/stacktraces.ts | 25 +++ .../__fixtures__/stacktraces_3600s_5x.json | 0 .../stacktraces_604800s_625x.json | 0 .../__fixtures__/stacktraces_60s_1x.json | 0 .../__fixtures__/stacktraces_86400s_125x.json | 0 .../common/callee.test.ts | 6 +- .../kbn-profiling-utils}/common/callee.ts | 33 +++- .../common/elasticsearch.ts | 8 +- .../common/flamegraph.test.ts | 6 +- .../kbn-profiling-utils}/common/flamegraph.ts | 48 ++++- .../common/frame_group.test.ts | 5 +- .../common/frame_group.ts | 26 ++- .../kbn-profiling-utils}/common/hash.test.ts | 5 +- .../kbn-profiling-utils}/common/hash.ts | 38 ++-- .../common/profiling.test.ts | 5 +- .../kbn-profiling-utils}/common/profiling.ts | 165 ++++++++++++++---- .../common/stack_traces.test.ts | 5 +- .../common/stack_traces.ts | 46 ++++- packages/kbn-profiling-utils/index.ts | 46 +++++ packages/kbn-profiling-utils/jest.config.js | 13 ++ packages/kbn-profiling-utils/kibana.jsonc | 5 + packages/kbn-profiling-utils/package.json | 6 + packages/kbn-profiling-utils/tsconfig.json | 18 ++ tsconfig.base.json | 2 + x-pack/plugins/apm/kibana.jsonc | 3 +- .../app/profiling_overview/index.tsx | 75 ++++++++ .../routing/service_detail/index.tsx | 23 ++- .../templates/apm_service_template/index.tsx | 23 ++- .../shared/search_bar/search_bar.tsx | 3 + .../shared/unified_search_bar/index.tsx | 4 +- .../apm/public/hooks/use_profiling_plugin.tsx | 11 +- .../get_global_apm_server_route_repository.ts | 2 + .../profiling/get_service_host_names.ts | 66 +++++++ .../apm/server/routes/profiling/route.ts | 71 ++++++++ .../apm/server/routes/profiling/utils.test.ts | 26 +++ .../apm/server/routes/profiling/utils.ts | 19 ++ x-pack/plugins/apm/server/types.ts | 6 + x-pack/plugins/apm/tsconfig.json | 2 + .../plugins/observability_shared/kibana.jsonc | 2 +- .../embeddables/embeddable_flamegraph.tsx | 63 +++++++ .../components/profiling/embeddables/index.ts | 9 + .../observability_shared/public/index.ts | 3 + .../observability_shared/public/plugin.ts | 2 + .../observability_shared/tsconfig.json | 2 + .../profiling/common/__fixtures__/README.md | 17 ++ .../common/__fixtures__/stacktraces.ts | 2 +- .../__fixtures__/stacktraces_3600s_5x.json | 1 + .../stacktraces_604800s_625x.json | 1 + .../__fixtures__/stacktraces_60s_1x.json | 1 + .../__fixtures__/stacktraces_86400s_125x.json | 1 + .../common/columnar_view_model.test.ts | 13 +- .../profiling/common/columnar_view_model.ts | 2 +- .../profiling/common/frame_type_colors.ts | 2 +- .../profiling/common/functions.test.ts | 4 +- x-pack/plugins/profiling/common/functions.ts | 24 +-- x-pack/plugins/profiling/common/topn.ts | 4 +- x-pack/plugins/profiling/kibana.jsonc | 1 + .../public/components/flamegraph/index.tsx | 18 +- .../frame_information_ai_assistant.tsx | 112 ++++++++++++ .../get_information_rows.ts | 2 +- .../frame_information_window/index.tsx | 146 ++++------------ .../missing_symbols_callout.stories.tsx | 2 +- .../missing_symbols_callout.tsx | 2 +- .../components/stack_frame_summary/index.tsx | 7 +- .../profiling/public/components/subchart.tsx | 2 +- .../public/components/topn_functions/utils.ts | 2 +- .../async_embeddable_component.tsx | 36 ++++ .../flamegraph/embeddable_flamegraph.tsx | 50 ++++++ .../embeddable_flamegraph_factory.ts | 39 +++++ x-pack/plugins/profiling/public/plugin.tsx | 7 + .../profiling/public/routing/index.tsx | 5 +- x-pack/plugins/profiling/public/services.ts | 7 +- x-pack/plugins/profiling/public/types.ts | 2 + .../utils/get_flamegraph_model/index.ts | 4 +- .../differential_flamegraphs/index.tsx | 31 ++-- .../views/flamegraphs/flamegraph/index.tsx | 17 +- .../get_stack_traces_tabs.ts | 2 +- .../public/views/stack_traces_view/index.tsx | 5 +- .../views/stack_traces_view/utils.test.ts | 5 +- .../public/views/stack_traces_view/utils.ts | 5 +- .../public/views/storage_explorer/summary.tsx | 5 +- .../profiling/server/routes/flamechart.ts | 4 +- .../plugins/profiling/server/routes/query.ts | 2 +- .../server/routes/search_stacktraces.ts | 2 +- .../get_host_breakdown_size_timeseries.ts | 2 +- .../storage_explorer/get_host_details.ts | 2 +- .../get_profiling_hosts_details_by_id.ts | 2 +- .../profiling/server/routes/topn.test.ts | 2 +- .../plugins/profiling/server/routes/topn.ts | 10 +- .../utils/create_profiling_es_client.ts | 5 +- x-pack/plugins/profiling/tsconfig.json | 4 +- .../server/services/fetch_flamechart/index.ts | 26 +-- .../services/search_stack_traces/index.ts | 2 +- .../utils/create_profiling_es_client.ts | 4 +- .../server/utils/unwrap_es_response.ts | 47 +++++ .../profiling_data_access/tsconfig.json | 6 +- yarn.lock | 4 + 100 files changed, 1280 insertions(+), 358 deletions(-) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/__fixtures__/README.md (100%) create mode 100644 packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/__fixtures__/stacktraces_3600s_5x.json (100%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/__fixtures__/stacktraces_604800s_625x.json (100%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/__fixtures__/stacktraces_60s_1x.json (100%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/__fixtures__/stacktraces_86400s_125x.json (100%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/callee.test.ts (90%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/callee.ts (86%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/elasticsearch.ts (92%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/flamegraph.test.ts (90%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/flamegraph.ts (80%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/frame_group.test.ts (94%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/frame_group.ts (58%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/hash.test.ts (87%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/hash.ts (74%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/profiling.test.ts (95%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/profiling.ts (70%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/stack_traces.test.ts (97%) rename {x-pack/plugins/profiling_data_access => packages/kbn-profiling-utils}/common/stack_traces.ts (81%) create mode 100644 packages/kbn-profiling-utils/index.ts create mode 100644 packages/kbn-profiling-utils/jest.config.js create mode 100644 packages/kbn-profiling-utils/kibana.jsonc create mode 100644 packages/kbn-profiling-utils/package.json create mode 100644 packages/kbn-profiling-utils/tsconfig.json create mode 100644 x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx create mode 100644 x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts create mode 100644 x-pack/plugins/apm/server/routes/profiling/route.ts create mode 100644 x-pack/plugins/apm/server/routes/profiling/utils.test.ts create mode 100644 x-pack/plugins/apm/server/routes/profiling/utils.ts create mode 100644 x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx create mode 100644 x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts create mode 100644 x-pack/plugins/profiling/common/__fixtures__/README.md rename x-pack/plugins/{profiling_data_access => profiling}/common/__fixtures__/stacktraces.ts (93%) create mode 100644 x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json create mode 100644 x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json create mode 100644 x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json create mode 100644 x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json create mode 100644 x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx create mode 100644 x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx create mode 100644 x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx create mode 100644 x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts create mode 100644 x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 859d976720aac0..d2d8628f97f012 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -553,6 +553,7 @@ examples/preboot_example @elastic/kibana-security @elastic/kibana-core src/plugins/presentation_util @elastic/kibana-presentation x-pack/plugins/profiling_data_access @elastic/profiling-ui x-pack/plugins/profiling @elastic/profiling-ui +packages/kbn-profiling-utils @elastic/profiling-ui x-pack/packages/kbn-random-sampling @elastic/kibana-visualizations packages/kbn-react-field @elastic/kibana-data-discovery packages/react/kibana_context/common @elastic/appex-sharedux diff --git a/package.json b/package.json index e365e7f5e8b92f..fa7ceb4edd592c 100644 --- a/package.json +++ b/package.json @@ -564,6 +564,7 @@ "@kbn/presentation-util-plugin": "link:src/plugins/presentation_util", "@kbn/profiling-data-access-plugin": "link:x-pack/plugins/profiling_data_access", "@kbn/profiling-plugin": "link:x-pack/plugins/profiling", + "@kbn/profiling-utils": "link:packages/kbn-profiling-utils", "@kbn/random-sampling": "link:x-pack/packages/kbn-random-sampling", "@kbn/react-field": "link:packages/kbn-react-field", "@kbn/react-kibana-context-common": "link:packages/react/kibana_context/common", diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/README.md b/packages/kbn-profiling-utils/common/__fixtures__/README.md similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/README.md rename to packages/kbn-profiling-utils/common/__fixtures__/README.md diff --git a/packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts new file mode 100644 index 00000000000000..105132ec159412 --- /dev/null +++ b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { StackTraceResponse } from '../stack_traces'; + +import stackTraces1x from './stacktraces_60s_1x.json'; +import stackTraces5x from './stacktraces_3600s_5x.json'; +import stackTraces125x from './stacktraces_86400s_125x.json'; +import stackTraces625x from './stacktraces_604800s_625x.json'; + +export const stackTraceFixtures: Array<{ + response: StackTraceResponse; + seconds: number; + upsampledBy: number; +}> = [ + { response: stackTraces1x, seconds: 60, upsampledBy: 1 }, + { response: stackTraces5x, seconds: 3600, upsampledBy: 5 }, + { response: stackTraces125x, seconds: 86400, upsampledBy: 125 }, + { response: stackTraces625x, seconds: 604800, upsampledBy: 625 }, +]; diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_3600s_5x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_3600s_5x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_3600s_5x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_3600s_5x.json diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_604800s_625x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_604800s_625x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_604800s_625x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_604800s_625x.json diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_60s_1x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_60s_1x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_60s_1x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_60s_1x.json diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_86400s_125x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_86400s_125x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_86400s_125x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_86400s_125x.json diff --git a/x-pack/plugins/profiling_data_access/common/callee.test.ts b/packages/kbn-profiling-utils/common/callee.test.ts similarity index 90% rename from x-pack/plugins/profiling_data_access/common/callee.test.ts rename to packages/kbn-profiling-utils/common/callee.test.ts index a796062948b332..431f914bd6a101 100644 --- a/x-pack/plugins/profiling_data_access/common/callee.test.ts +++ b/packages/kbn-profiling-utils/common/callee.test.ts @@ -1,15 +1,15 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { sum } from 'lodash'; import { createCalleeTree } from './callee'; import { decodeStackTraceResponse } from './stack_traces'; - import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('Callee operations', () => { diff --git a/x-pack/plugins/profiling_data_access/common/callee.ts b/packages/kbn-profiling-utils/common/callee.ts similarity index 86% rename from x-pack/plugins/profiling_data_access/common/callee.ts rename to packages/kbn-profiling-utils/common/callee.ts index 68fa9170f44ecb..9315548b81ef30 100644 --- a/x-pack/plugins/profiling_data_access/common/callee.ts +++ b/packages/kbn-profiling-utils/common/callee.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { createFrameGroupID, FrameGroupID } from './frame_group'; @@ -20,24 +21,48 @@ import { type NodeID = number; +/** + * Callee tree + */ export interface CalleeTree { + /** size */ Size: number; + /** edges */ Edges: Array>; - + /** file ids */ FileID: string[]; + /** frame types */ FrameType: number[]; + /** inlines */ Inline: boolean[]; + /** executable file names */ ExeFilename: string[]; + /** address or lines */ AddressOrLine: number[]; + /** function names */ FunctionName: string[]; + /** function offsets */ FunctionOffset: number[]; + /** source file names */ SourceFilename: string[]; + /** source lines */ SourceLine: number[]; - + /** total cpu */ CountInclusive: number[]; + /** self cpu */ CountExclusive: number[]; } +/** + * Create a callee tree + * @param events Map + * @param stackTraces Map + * @param stackFrames Map + * @param executables Map + * @param totalFrames number + * @param samplingRate number + * @returns + */ export function createCalleeTree( events: Map, stackTraces: Map, diff --git a/x-pack/plugins/profiling_data_access/common/elasticsearch.ts b/packages/kbn-profiling-utils/common/elasticsearch.ts similarity index 92% rename from x-pack/plugins/profiling_data_access/common/elasticsearch.ts rename to packages/kbn-profiling-utils/common/elasticsearch.ts index a47e4c018d5811..c3d18c16545e1b 100644 --- a/x-pack/plugins/profiling_data_access/common/elasticsearch.ts +++ b/packages/kbn-profiling-utils/common/elasticsearch.ts @@ -1,12 +1,16 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { UnionToIntersection, ValuesType } from 'utility-types'; +/** + * Profiling Elasticsearch fields + */ export enum ProfilingESField { Timestamp = '@timestamp', ContainerName = 'container.name', diff --git a/x-pack/plugins/profiling_data_access/common/flamegraph.test.ts b/packages/kbn-profiling-utils/common/flamegraph.test.ts similarity index 90% rename from x-pack/plugins/profiling_data_access/common/flamegraph.test.ts rename to packages/kbn-profiling-utils/common/flamegraph.test.ts index 8014264667239d..cc6b3cca69926d 100644 --- a/x-pack/plugins/profiling_data_access/common/flamegraph.test.ts +++ b/packages/kbn-profiling-utils/common/flamegraph.test.ts @@ -1,14 +1,14 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { createCalleeTree } from './callee'; import { createBaseFlameGraph, createFlameGraph } from './flamegraph'; import { decodeStackTraceResponse } from './stack_traces'; - import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('Flamegraph operations', () => { diff --git a/x-pack/plugins/profiling_data_access/common/flamegraph.ts b/packages/kbn-profiling-utils/common/flamegraph.ts similarity index 80% rename from x-pack/plugins/profiling_data_access/common/flamegraph.ts rename to packages/kbn-profiling-utils/common/flamegraph.ts index 16fb8c1a396c58..20dc5419d6230b 100644 --- a/x-pack/plugins/profiling_data_access/common/flamegraph.ts +++ b/packages/kbn-profiling-utils/common/flamegraph.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { CalleeTree } from './callee'; @@ -10,28 +11,49 @@ import { createFrameGroupID } from './frame_group'; import { fnv1a64 } from './hash'; import { createStackFrameMetadata, getCalleeLabel } from './profiling'; +/** + * Base Flamegraph + */ export interface BaseFlameGraph { + /** size */ Size: number; + /** edges */ Edges: number[][]; - + /** file ids */ FileID: string[]; + /** frame types */ FrameType: number[]; + /** inlines */ Inline: boolean[]; + /** executable file names */ ExeFilename: string[]; + /** address or line */ AddressOrLine: number[]; + /** function names */ FunctionName: string[]; + /** function offsets */ FunctionOffset: number[]; + /** source file names */ SourceFilename: string[]; + /** source lines */ SourceLine: number[]; - + /** total cpu */ CountInclusive: number[]; + /** self cpu */ CountExclusive: number[]; - + /** total seconds */ TotalSeconds: number; + /** sampling rate */ SamplingRate: number; } -// createBaseFlameGraph encapsulates the tree representation into a serialized form. +/** + * createBaseFlameGraph encapsulates the tree representation into a serialized form. + * @param tree CalleeTree + * @param samplingRate number + * @param totalSeconds number + * @returns BaseFlameGraph + */ export function createBaseFlameGraph( tree: CalleeTree, samplingRate: number, @@ -71,14 +93,22 @@ export function createBaseFlameGraph( return graph; } +/** Elasticsearch flamegraph */ export interface ElasticFlameGraph extends BaseFlameGraph { + /** ID */ ID: string[]; + /** Label */ Label: string[]; } -// createFlameGraph combines the base flamegraph with CPU-intensive values. -// This allows us to create a flamegraph in two steps (e.g. first on the server -// and finally in the browser). +/** + * + * createFlameGraph combines the base flamegraph with CPU-intensive values. + * This allows us to create a flamegraph in two steps (e.g. first on the server + * and finally in the browser). + * @param base BaseFlameGraph + * @returns ElasticFlameGraph + */ export function createFlameGraph(base: BaseFlameGraph): ElasticFlameGraph { const graph: ElasticFlameGraph = { Size: base.Size, diff --git a/x-pack/plugins/profiling_data_access/common/frame_group.test.ts b/packages/kbn-profiling-utils/common/frame_group.test.ts similarity index 94% rename from x-pack/plugins/profiling_data_access/common/frame_group.test.ts rename to packages/kbn-profiling-utils/common/frame_group.test.ts index b5f0fddd7b9038..b6bfa6161a1751 100644 --- a/x-pack/plugins/profiling_data_access/common/frame_group.test.ts +++ b/packages/kbn-profiling-utils/common/frame_group.test.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { createFrameGroupID } from './frame_group'; diff --git a/x-pack/plugins/profiling_data_access/common/frame_group.ts b/packages/kbn-profiling-utils/common/frame_group.ts similarity index 58% rename from x-pack/plugins/profiling_data_access/common/frame_group.ts rename to packages/kbn-profiling-utils/common/frame_group.ts index 6881b14ed98fe2..56a190ee580625 100644 --- a/x-pack/plugins/profiling_data_access/common/frame_group.ts +++ b/packages/kbn-profiling-utils/common/frame_group.ts @@ -1,24 +1,34 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ + import { takeRight } from 'lodash'; import { StackFrameMetadata } from './profiling'; +/** Frame group ID */ export type FrameGroupID = string; function stripLeadingSubdirs(sourceFileName: string) { return takeRight(sourceFileName.split('/'), 2).join('/'); } -// createFrameGroupID is the "standard" way of grouping frames, by commonly -// shared group identifiers. -// -// For ELF-symbolized frames, group by FunctionName, ExeFileName and FileID. -// For non-symbolized frames, group by FileID and AddressOrLine. -// otherwise group by ExeFileName, SourceFilename and FunctionName. +/** + * + * createFrameGroupID is the "standard" way of grouping frames, by commonly shared group identifiers. + * For ELF-symbolized frames, group by FunctionName, ExeFileName and FileID. + * For non-symbolized frames, group by FileID and AddressOrLine. + * otherwise group by ExeFileName, SourceFilename and FunctionName. + * @param fileID string + * @param addressOrLine string + * @param exeFilename string + * @param sourceFilename string + * @param functionName string + * @returns FrameGroupID + */ export function createFrameGroupID( fileID: StackFrameMetadata['FileID'], addressOrLine: StackFrameMetadata['AddressOrLine'], diff --git a/x-pack/plugins/profiling_data_access/common/hash.test.ts b/packages/kbn-profiling-utils/common/hash.test.ts similarity index 87% rename from x-pack/plugins/profiling_data_access/common/hash.test.ts rename to packages/kbn-profiling-utils/common/hash.test.ts index eaec348caa0ead..14a167d2c5998d 100644 --- a/x-pack/plugins/profiling_data_access/common/hash.test.ts +++ b/packages/kbn-profiling-utils/common/hash.test.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { fnv1a64 } from './hash'; diff --git a/x-pack/plugins/profiling_data_access/common/hash.ts b/packages/kbn-profiling-utils/common/hash.ts similarity index 74% rename from x-pack/plugins/profiling_data_access/common/hash.ts rename to packages/kbn-profiling-utils/common/hash.ts index 3eab4bde871e08..2c19b2f19b7236 100644 --- a/x-pack/plugins/profiling_data_access/common/hash.ts +++ b/packages/kbn-profiling-utils/common/hash.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ // prettier-ignore @@ -25,23 +26,24 @@ const lowerHex = [ 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff', ]; -// fnv1a64 computes a 64-bit hash of a byte array using the FNV-1a hash function [1]. -// -// Due to the lack of a native uint64 in JavaScript, we operate on 64-bit values using an array -// of 4 uint16s instead. This method follows Knuth's Algorithm M in section 4.3.1 [2] using a -// modified multiword multiplication implementation described in [3]. The modifications include: -// -// * rewrite default algorithm for the special case m = n = 4 -// * unroll loops -// * simplify expressions -// * create pre-computed lookup table for serialization to hexadecimal -// -// 1. https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function -// 2. Knuth, Donald E. The Art of Computer Programming, Volume 2, Third Edition: Seminumerical -// Algorithms. Addison-Wesley, 1998. -// 3. Warren, Henry S. Hacker's Delight. Upper Saddle River, NJ: Addison-Wesley, 2013. - /* eslint no-bitwise: ["error", { "allow": ["^=", ">>", "&"] }] */ + +/** + * - fnv1a64 computes a 64-bit hash of a byte array using the FNV-1a hash function [1]. + * Due to the lack of a native uint64 in JavaScript, we operate on 64-bit values using an array + * of 4 uint16s instead. This method follows Knuth's Algorithm M in section 4.3.1 [2] using a + * modified multiword multiplication implementation described in [3]. The modifications include: + * - rewrite default algorithm for the special case m = n = 4 + * - unroll loops + * - simplify expressions + * - create pre-computed lookup table for serialization to hexadecimal + * 1. https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function + * 2. Knuth, Donald E. The Art of Computer Programming, Volume 2, Third Edition: Seminumerical + * Algorithms. Addison-Wesley, 1998. + * 3. Warren, Henry S. Hacker's Delight. Upper Saddle River, NJ: Addison-Wesley, 2013. + * @param bytes Uint8Array + * @returns string + */ export function fnv1a64(bytes: Uint8Array): string { const n = bytes.length; let [h0, h1, h2, h3] = [0x2325, 0x8422, 0x9ce4, 0xcbf2]; diff --git a/x-pack/plugins/profiling_data_access/common/profiling.test.ts b/packages/kbn-profiling-utils/common/profiling.test.ts similarity index 95% rename from x-pack/plugins/profiling_data_access/common/profiling.test.ts rename to packages/kbn-profiling-utils/common/profiling.test.ts index 24c898bf1cfbe9..e2356338900699 100644 --- a/x-pack/plugins/profiling_data_access/common/profiling.test.ts +++ b/packages/kbn-profiling-utils/common/profiling.test.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { diff --git a/x-pack/plugins/profiling_data_access/common/profiling.ts b/packages/kbn-profiling-utils/common/profiling.ts similarity index 70% rename from x-pack/plugins/profiling_data_access/common/profiling.ts rename to packages/kbn-profiling-utils/common/profiling.ts index c6f72f20629d3c..955be2e1485e6a 100644 --- a/x-pack/plugins/profiling_data_access/common/profiling.ts +++ b/packages/kbn-profiling-utils/common/profiling.ts @@ -1,14 +1,27 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ +/** + * Stacktrace ID + */ export type StackTraceID = string; +/** + * StackFrame ID + */ export type StackFrameID = string; +/** + * File ID + */ export type FileID = string; +/** + * Frame type + */ export enum FrameType { Unsymbolized = 0, Python, @@ -35,94 +48,134 @@ const frameTypeDescriptions = { [FrameType.PHPJIT]: 'PHP JIT', }; +/** + * get frame type name + * @param ft FrameType + * @returns string + */ export function describeFrameType(ft: FrameType): string { return frameTypeDescriptions[ft]; } export interface StackTraceEvent { + /** stacktrace ID */ StackTraceID: StackTraceID; + /** count */ Count: number; } +/** Stack trace */ export interface StackTrace { + /** frame ids */ FrameIDs: string[]; + /** file ids */ FileIDs: string[]; + /** address or lines */ AddressOrLines: number[]; + /** types */ Types: number[]; } - +/** + * Empty stack trace + */ export const emptyStackTrace: StackTrace = { + /** Frame IDs */ FrameIDs: [], + /** File IDs */ FileIDs: [], + /** Address or lines */ AddressOrLines: [], + /** Types */ Types: [], }; +/** Stack frame */ export interface StackFrame { + /** file name */ FileName: string; + /** function name */ FunctionName: string; + /** function offset */ FunctionOffset: number; + /** line number */ LineNumber: number; + /** inline */ Inline: boolean; } +/** + * Empty stack frame + */ export const emptyStackFrame: StackFrame = { + /** File name */ FileName: '', + /** Function name */ FunctionName: '', + /** Function offset */ FunctionOffset: 0, + /** Line number */ LineNumber: 0, + /** Inline */ Inline: false, }; +/** Executable */ export interface Executable { + /** file name */ FileName: string; } +/** + * Empty exectutable + */ export const emptyExecutable: Executable = { + /** file name */ FileName: '', }; +/** Stack frame metadata */ export interface StackFrameMetadata { - // StackTrace.FrameID + /** StackTrace.FrameID */ FrameID: string; - // StackTrace.FileID + /** StackTrace.FileID */ FileID: FileID; - // StackTrace.Type + /** StackTrace.Type */ FrameType: FrameType; - // StackFrame.Inline + /** StackFrame.Inline */ Inline: boolean; - - // StackTrace.AddressOrLine + /** StackTrace.AddressOrLine */ AddressOrLine: number; - // StackFrame.FunctionName + /** StackFrame.FunctionName */ FunctionName: string; - // StackFrame.FunctionOffset + /** StackFrame.FunctionOffset */ FunctionOffset: number; - // should this be StackFrame.SourceID? + /** should this be StackFrame.SourceID? */ SourceID: FileID; - // StackFrame.Filename + /** StackFrame.Filename */ SourceFilename: string; - // StackFrame.LineNumber + /** StackFrame.LineNumber */ SourceLine: number; - // auto-generated - see createStackFrameMetadata + /** auto-generated - see createStackFrameMetadata */ FunctionSourceLine: number; - - // Executable.FileName + /** Executable.FileName */ ExeFileName: string; - - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ CommitHash: string; - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ SourceCodeURL: string; - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ SourcePackageHash: string; - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ SourcePackageURL: string; - // unused atm due to lack of symbolization metadata - + /** unused atm due to lack of symbolization metadata */ SamplingRate: number; } +/** + * create stackframe metadata + * @param options Partial + * @returns StackFrameMetadata + */ export function createStackFrameMetadata( options: Partial = {} ): StackFrameMetadata { @@ -182,6 +235,11 @@ function getExeFileName(metadata: StackFrameMetadata) { return describeFrameType(metadata.FrameType); } +/** + * Get callee label + * @param metadata StackFrameMetadata + * @returns string + */ export function getCalleeLabel(metadata: StackFrameMetadata) { if (metadata.FunctionName !== '') { const sourceFilename = metadata.SourceFilename; @@ -192,7 +250,11 @@ export function getCalleeLabel(metadata: StackFrameMetadata) { } return getExeFileName(metadata); } - +/** + * Get callee function name + * @param frame StackFrameMetadata + * @returns string + */ export function getCalleeFunction(frame: StackFrameMetadata): string { // In the best case scenario, we have the file names, source lines, // and function names. However we need to deal with missing function or @@ -202,20 +264,32 @@ export function getCalleeFunction(frame: StackFrameMetadata): string { // When there is no function name, only use the executable name return frame.FunctionName ? exeDisplayName + ': ' + frame.FunctionName : exeDisplayName; } +/** + * Frame symbol status + */ export enum FrameSymbolStatus { PARTIALLY_SYMBOLYZED = 'PARTIALLY_SYMBOLYZED', NOT_SYMBOLIZED = 'NOT_SYMBOLIZED', SYMBOLIZED = 'SYMBOLIZED', } -export function getFrameSymbolStatus({ - sourceFilename, - sourceLine, - exeFileName, -}: { + +/** Frame symbols status params */ +interface FrameSymbolStatusParams { + /** source file name */ sourceFilename: string; + /** source file line */ sourceLine: number; + /** executable file name */ exeFileName?: string; -}) { +} + +/** + * Get frame symbol status + * @param param FrameSymbolStatusParams + * @returns FrameSymbolStatus + */ +export function getFrameSymbolStatus(param: FrameSymbolStatusParams) { + const { sourceFilename, sourceLine, exeFileName } = param; if (sourceFilename === '' && sourceLine === 0) { if (exeFileName) { return FrameSymbolStatus.PARTIALLY_SYMBOLYZED; @@ -228,10 +302,28 @@ export function getFrameSymbolStatus({ } const nativeLanguages = [FrameType.Native, FrameType.Kernel]; -export function getLanguageType({ frameType }: { frameType: FrameType }) { - return nativeLanguages.includes(frameType) ? 'NATIVE' : 'INTERPRETED'; + +interface LanguageTypeParams { + /** frame type */ + frameType: FrameType; } +/** + * Get language type + * @param param LanguageTypeParams + * @returns string + */ +export function getLanguageType(param: LanguageTypeParams) { + return nativeLanguages.includes(param.frameType) ? 'NATIVE' : 'INTERPRETED'; +} + +/** + * Get callee source information. + * If we don't have the executable filename, display + * If no source line or filename available, display the executable offset + * @param frame StackFrameMetadata + * @returns string + */ export function getCalleeSource(frame: StackFrameMetadata): string { const frameSymbolStatus = getFrameSymbolStatus({ sourceFilename: frame.SourceFilename, @@ -254,6 +346,13 @@ export function getCalleeSource(frame: StackFrameMetadata): string { } } +/** + * Group stackframe by stack trace + * @param stackTraces Map + * @param stackFrames Map + * @param executables Map + * @returns Record + */ export function groupStackFrameMetadataByStackTrace( stackTraces: Map, stackFrames: Map, diff --git a/x-pack/plugins/profiling_data_access/common/stack_traces.test.ts b/packages/kbn-profiling-utils/common/stack_traces.test.ts similarity index 97% rename from x-pack/plugins/profiling_data_access/common/stack_traces.test.ts rename to packages/kbn-profiling-utils/common/stack_traces.test.ts index 9486ba1e4b9207..832ebe7bb66b43 100644 --- a/x-pack/plugins/profiling_data_access/common/stack_traces.test.ts +++ b/packages/kbn-profiling-utils/common/stack_traces.test.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { diff --git a/x-pack/plugins/profiling_data_access/common/stack_traces.ts b/packages/kbn-profiling-utils/common/stack_traces.ts similarity index 81% rename from x-pack/plugins/profiling_data_access/common/stack_traces.ts rename to packages/kbn-profiling-utils/common/stack_traces.ts index 97a18d09ed3899..f7893c66c5e29f 100644 --- a/x-pack/plugins/profiling_data_access/common/stack_traces.ts +++ b/packages/kbn-profiling-utils/common/stack_traces.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { ProfilingESField } from './elasticsearch'; @@ -15,13 +16,17 @@ import { StackTraceID, } from './profiling'; +/** Profiling status response */ export interface ProfilingStatusResponse { + /** profiling enabled */ profiling: { enabled: boolean; }; + /** resource management status*/ resource_management: { enabled: boolean; }; + /** Indices creates / pre 8.9.1 data still available */ resources: { created: boolean; pre_8_9_1_data: boolean; @@ -58,24 +63,43 @@ interface ProfilingExecutables { [key: string]: string; } +/** Profiling stacktrace */ export interface StackTraceResponse { + /** stack trace events */ ['stack_trace_events']?: ProfilingEvents; + /** stack traces */ ['stack_traces']?: ProfilingStackTraces; + /** stack frames */ ['stack_frames']?: ProfilingStackFrames; + /** executables */ ['executables']?: ProfilingExecutables; + /** total frames */ ['total_frames']: number; + /** sampling rate */ ['sampling_rate']: number; } +/** Decoded stack trace response */ export interface DecodedStackTraceResponse { + /** Map of Stacktrace ID and event */ events: Map; + /** Map of stacktrace ID and stacktrace */ stackTraces: Map; + /** Map of stackframe ID and stackframe */ stackFrames: Map; + /** Map of file ID and Executables */ executables: Map; + /** Total number of frames */ totalFrames: number; + /** sampling rate */ samplingRate: number; } - +/** + * Generate Frame ID + * @param frameID string + * @param n number + * @returns string + */ export const makeFrameID = (frameID: string, n: number): string => { return n === 0 ? frameID : frameID + ';' + n.toString(); }; @@ -119,6 +143,11 @@ const createInlineTrace = ( } as StackTrace; }; +/** + * Decodes stack trace response + * @param response StackTraceResponse + * @returns DecodedStackTraceResponse + */ export function decodeStackTraceResponse(response: StackTraceResponse): DecodedStackTraceResponse { const stackTraceEvents: Map = new Map(); for (const [key, value] of Object.entries(response.stack_trace_events ?? {})) { @@ -165,11 +194,17 @@ export function decodeStackTraceResponse(response: StackTraceResponse): DecodedS }; } +/** + * Stacktraces options + */ export enum StackTracesDisplayOption { StackTraces = 'stackTraces', Percentage = 'percentage', } +/** + * Functions TopN types definition + */ export enum TopNType { Containers = 'containers', Deployments = 'deployments', @@ -178,6 +213,11 @@ export enum TopNType { Traces = 'traces', } +/** + * Get Profiling ES field based on TopN Type + * @param type TopNType + * @returns string + */ export function getFieldNameForTopNType(type: TopNType): string { return { [TopNType.Containers]: ProfilingESField.ContainerName, diff --git a/packages/kbn-profiling-utils/index.ts b/packages/kbn-profiling-utils/index.ts new file mode 100644 index 00000000000000..9bb0de92f3733d --- /dev/null +++ b/packages/kbn-profiling-utils/index.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { decodeStackTraceResponse } from './common/stack_traces'; +export { createBaseFlameGraph, createFlameGraph } from './common/flamegraph'; +export { createCalleeTree } from './common/callee'; +export { ProfilingESField } from './common/elasticsearch'; +export { + groupStackFrameMetadataByStackTrace, + describeFrameType, + FrameType, + getCalleeFunction, + getCalleeSource, + getLanguageType, + FrameSymbolStatus, + getFrameSymbolStatus, + createStackFrameMetadata, + emptyExecutable, + emptyStackFrame, + emptyStackTrace, +} from './common/profiling'; +export { getFieldNameForTopNType, TopNType, StackTracesDisplayOption } from './common/stack_traces'; +export { createFrameGroupID } from './common/frame_group'; + +export type { CalleeTree } from './common/callee'; +export type { + ProfilingStatusResponse, + StackTraceResponse, + DecodedStackTraceResponse, +} from './common/stack_traces'; +export type { ElasticFlameGraph, BaseFlameGraph } from './common/flamegraph'; +export type { FrameGroupID } from './common/frame_group'; +export type { + Executable, + FileID, + StackFrame, + StackFrameID, + StackFrameMetadata, + StackTrace, + StackTraceID, +} from './common/profiling'; diff --git a/packages/kbn-profiling-utils/jest.config.js b/packages/kbn-profiling-utils/jest.config.js new file mode 100644 index 00000000000000..a853bb5666fc61 --- /dev/null +++ b/packages/kbn-profiling-utils/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-profiling-utils'], +}; diff --git a/packages/kbn-profiling-utils/kibana.jsonc b/packages/kbn-profiling-utils/kibana.jsonc new file mode 100644 index 00000000000000..dc45e822e620b0 --- /dev/null +++ b/packages/kbn-profiling-utils/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/profiling-utils", + "owner": "@elastic/profiling-ui" +} diff --git a/packages/kbn-profiling-utils/package.json b/packages/kbn-profiling-utils/package.json new file mode 100644 index 00000000000000..984883e078975c --- /dev/null +++ b/packages/kbn-profiling-utils/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/profiling-utils", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-profiling-utils/tsconfig.json b/packages/kbn-profiling-utils/tsconfig.json new file mode 100644 index 00000000000000..0bf626e25d9f90 --- /dev/null +++ b/packages/kbn-profiling-utils/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + "**/*.json", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/tsconfig.base.json b/tsconfig.base.json index ff1ec70221c125..c345a5232b7263 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1100,6 +1100,8 @@ "@kbn/profiling-data-access-plugin/*": ["x-pack/plugins/profiling_data_access/*"], "@kbn/profiling-plugin": ["x-pack/plugins/profiling"], "@kbn/profiling-plugin/*": ["x-pack/plugins/profiling/*"], + "@kbn/profiling-utils": ["packages/kbn-profiling-utils"], + "@kbn/profiling-utils/*": ["packages/kbn-profiling-utils/*"], "@kbn/random-sampling": ["x-pack/packages/kbn-random-sampling"], "@kbn/random-sampling/*": ["x-pack/packages/kbn-random-sampling/*"], "@kbn/react-field": ["packages/kbn-react-field"], diff --git a/x-pack/plugins/apm/kibana.jsonc b/x-pack/plugins/apm/kibana.jsonc index a9329cd965ce79..42f969f5a3ee1c 100644 --- a/x-pack/plugins/apm/kibana.jsonc +++ b/x-pack/plugins/apm/kibana.jsonc @@ -49,7 +49,8 @@ "usageCollection", "customIntegrations", // Move this to requiredPlugins after completely migrating from the Tutorials Home App "licenseManagement", - "profiling" + "profiling", + "profilingDataAccess" ], "requiredBundles": [ "advancedSettings", diff --git a/x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx b/x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx new file mode 100644 index 00000000000000..611f79492a62c3 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx @@ -0,0 +1,75 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EmbeddableFlamegraph } from '@kbn/observability-shared-plugin/public'; +import React from 'react'; +import { useApmParams } from '../../../hooks/use_apm_params'; +import { isPending, useFetcher } from '../../../hooks/use_fetcher'; +import { useProfilingPlugin } from '../../../hooks/use_profiling_plugin'; +import { useTimeRange } from '../../../hooks/use_time_range'; +import { ApmDocumentType } from '../../../../common/document_type'; +import { usePreferredDataSourceAndBucketSize } from '../../../hooks/use_preferred_data_source_and_bucket_size'; + +export function ProfilingOverview() { + const { + path: { serviceName }, + query: { kuery, rangeFrom, rangeTo, environment }, + } = useApmParams('/services/{serviceName}/profiling'); + const { isProfilingAvailable } = useProfilingPlugin(); + + const { start, end } = useTimeRange({ rangeFrom, rangeTo }); + const preferred = usePreferredDataSourceAndBucketSize({ + start, + end, + kuery, + type: ApmDocumentType.TransactionMetric, + numBuckets: 20, + }); + const { data, status } = useFetcher( + (callApmApi) => { + if (isProfilingAvailable && preferred) { + return callApmApi( + 'GET /internal/apm/services/{serviceName}/profiling/flamegraph', + { + params: { + path: { serviceName }, + query: { + start, + end, + kuery, + environment, + documentType: preferred.source.documentType, + rollupInterval: preferred.source.rollupInterval, + }, + }, + } + ); + } + }, + [ + isProfilingAvailable, + preferred, + serviceName, + start, + end, + kuery, + environment, + ] + ); + + if (!isProfilingAvailable) { + return null; + } + + return ( + + ); +} diff --git a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx index cd42f8d4987aae..5817b96e2b3602 100644 --- a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx @@ -37,6 +37,8 @@ import { TransactionOverview } from '../../app/transaction_overview'; import { ApmServiceTemplate } from '../templates/apm_service_template'; import { ApmServiceWrapper } from './apm_service_wrapper'; import { RedirectToDefaultServiceRouteView } from './redirect_to_default_service_route_view'; +import { ProfilingOverview } from '../../app/profiling_overview'; +import { SearchBar } from '../../shared/search_bar/search_bar'; function page({ title, @@ -47,12 +49,7 @@ function page({ title: string; tab: React.ComponentProps['selectedTab']; element: React.ReactElement; - searchBarOptions?: { - showUnifiedSearchBar?: boolean; - showTransactionTypeSelector?: boolean; - showTimeComparison?: boolean; - hidden?: boolean; - }; + searchBarOptions?: React.ComponentProps; }): { element: React.ReactElement; } { @@ -365,6 +362,20 @@ export const serviceDetailRoute = { }), }), }, + '/services/{serviceName}/profiling': { + ...page({ + tab: 'profiling', + title: i18n.translate('xpack.apm.views.profiling.title', { + defaultMessage: 'Universal Profiling', + }), + element: , + searchBarOptions: { + showTimeComparison: false, + showTransactionTypeSelector: false, + showQueryInput: false, + }, + }), + }, '/services/{serviceName}/': { element: , }, diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx index a2ab809092055d..73c53dd5fda91a 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx @@ -48,6 +48,7 @@ import { AnalyzeDataButton } from './analyze_data_button'; import { ServerlessType } from '../../../../../common/serverless'; import { useApmFeatureFlag } from '../../../../hooks/use_apm_feature_flag'; import { ApmFeatureFlagName } from '../../../../../common/apm_feature_flags'; +import { useProfilingPlugin } from '../../../../hooks/use_profiling_plugin'; type Tab = NonNullable[0] & { key: @@ -60,7 +61,8 @@ type Tab = NonNullable[0] & { | 'infrastructure' | 'service-map' | 'logs' - | 'alerts'; + | 'alerts' + | 'profiling'; hidden?: boolean; }; @@ -215,6 +217,7 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { plugins, capabilities ); + const { isProfilingAvailable } = useProfilingPlugin(); const router = useApmRouter(); const isInfraTabAvailable = useApmFeatureFlag( @@ -391,6 +394,24 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { }), hidden: !(isAlertingAvailable && canReadAlerts), }, + { + key: 'profiling', + href: router.link('/services/{serviceName}/profiling', { + path: { serviceName }, + query, + }), + label: i18n.translate('xpack.apm.home.profilingTabLabel', { + defaultMessage: 'Universal Profiling', + }), + hidden: !isProfilingAvailable, + append: ( + + {i18n.translate('xpack.apm.universalProfiling.newLabel', { + defaultMessage: 'New', + })} + + ), + }, ]; return tabs diff --git a/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx b/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx index d2f25880ade330..9fd6299a3f67e0 100644 --- a/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx +++ b/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx @@ -23,6 +23,7 @@ interface Props { hidden?: boolean; showUnifiedSearchBar?: boolean; showTimeComparison?: boolean; + showQueryInput?: boolean; showTransactionTypeSelector?: boolean; searchBarPlaceholder?: string; searchBarBoolFilter?: QueryDslQueryContainer[]; @@ -33,6 +34,7 @@ export function SearchBar({ showUnifiedSearchBar = true, showTimeComparison = false, showTransactionTypeSelector = false, + showQueryInput = true, searchBarPlaceholder, searchBarBoolFilter, }: Props) { @@ -72,6 +74,7 @@ export function SearchBar({ )} diff --git a/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx b/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx index 66e7bfd514d86f..daf9346dba2d50 100644 --- a/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx @@ -123,6 +123,7 @@ export function UnifiedSearchBar({ placeholder, value, showDatePicker = true, + showQueryInput = true, showSubmitButton = true, isClearable = true, boolFilter, @@ -130,6 +131,7 @@ export function UnifiedSearchBar({ placeholder?: string; value?: string; showDatePicker?: boolean; + showQueryInput?: boolean; showSubmitButton?: boolean; isClearable?: boolean; boolFilter?: QueryDslQueryContainer[]; @@ -303,7 +305,7 @@ export function UnifiedSearchBar({ placeholder={searchbarPlaceholder} useDefaultBehaviors={true} indexPatterns={dataView ? [dataView] : undefined} - showQueryInput={true} + showQueryInput={showQueryInput} showQueryMenu={false} showFilterBar={false} showDatePicker={showDatePicker} diff --git a/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx b/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx index 945bbc43fe3a25..829a094375d301 100644 --- a/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx +++ b/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx @@ -31,12 +31,15 @@ export function useProfilingPlugin() { fetchIsProfilingSetup(); }, [plugins.profiling]); + const isProfilingAvailable = + isProfilingIntegrationEnabled && isProfilingPluginInitialized; + return { isProfilingPluginInitialized, - profilingLocators: - isProfilingIntegrationEnabled && isProfilingPluginInitialized - ? plugins.profiling?.locators - : undefined, + profilingLocators: isProfilingAvailable + ? plugins.profiling?.locators + : undefined, isProfilingIntegrationEnabled, + isProfilingAvailable, }; } diff --git a/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts b/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts index afeb0a60219ec9..4186523029c99c 100644 --- a/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts +++ b/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts @@ -45,6 +45,7 @@ import { timeRangeMetadataRoute } from '../time_range_metadata/route'; import { traceRouteRepository } from '../traces/route'; import { transactionRouteRepository } from '../transactions/route'; import { assistantRouteRepository } from '../assistant_functions/route'; +import { profilingRouteRepository } from '../profiling/route'; function getTypedGlobalApmServerRouteRepository() { const repository = { @@ -83,6 +84,7 @@ function getTypedGlobalApmServerRouteRepository() { ...mobileRouteRepository, ...diagnosticsRepository, ...assistantRouteRepository, + ...profilingRouteRepository, }; return repository; diff --git a/x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts b/x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts new file mode 100644 index 00000000000000..7ef8b01d6dfc13 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { kqlQuery, rangeQuery } from '@kbn/observability-plugin/server'; +import { ApmServiceTransactionDocumentType } from '../../../common/document_type'; +import { HOST_HOSTNAME, SERVICE_NAME } from '../../../common/es_fields/apm'; +import { RollupInterval } from '../../../common/rollup'; +import { environmentQuery } from '../../../common/utils/environment_query'; +import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; + +export async function getServiceHostNames({ + apmEventClient, + serviceName, + start, + end, + environment, + kuery, + documentType, + rollupInterval, +}: { + environment: string; + kuery: string; + serviceName: string; + start: number; + end: number; + apmEventClient: APMEventClient; + documentType: ApmServiceTransactionDocumentType; + rollupInterval: RollupInterval; +}) { + const response = await apmEventClient.search('get_service_host_names', { + apm: { + sources: [{ documentType, rollupInterval }], + }, + body: { + track_total_hits: false, + size: 0, + query: { + bool: { + filter: [ + { term: { [SERVICE_NAME]: serviceName } }, + ...rangeQuery(start, end), + ...environmentQuery(environment), + ...kqlQuery(kuery), + ], + }, + }, + aggs: { + hostNames: { + terms: { + field: HOST_HOSTNAME, + size: 500, + }, + }, + }, + }, + }); + + return ( + response.aggregations?.hostNames.buckets.map( + (bucket) => bucket.key as string + ) || [] + ); +} diff --git a/x-pack/plugins/apm/server/routes/profiling/route.ts b/x-pack/plugins/apm/server/routes/profiling/route.ts new file mode 100644 index 00000000000000..584b96ff0468e1 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/route.ts @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import * as t from 'io-ts'; +import type { BaseFlameGraph } from '@kbn/profiling-utils'; +import { createApmServerRoute } from '../apm_routes/create_apm_server_route'; +import { + environmentRt, + kueryRt, + rangeRt, + serviceTransactionDataSourceRt, +} from '../default_api_types'; +import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; +import { getServiceHostNames } from './get_service_host_names'; +import { hostNamesToKuery } from './utils'; + +const profilingFlamegraphRoute = createApmServerRoute({ + endpoint: 'GET /internal/apm/services/{serviceName}/profiling/flamegraph', + params: t.type({ + path: t.type({ serviceName: t.string }), + query: t.intersection([ + rangeRt, + kueryRt, + environmentRt, + serviceTransactionDataSourceRt, + ]), + }), + options: { tags: ['access:apm'] }, + handler: async (resources): Promise => { + const { context, plugins, params } = resources; + const [esClient, apmEventClient, profilingDataAccessStart] = + await Promise.all([ + (await context.core).elasticsearch.client, + await getApmEventClient(resources), + await plugins.profilingDataAccess?.start(), + ]); + if (profilingDataAccessStart) { + const { start, end, kuery, environment, documentType, rollupInterval } = + params.query; + const { serviceName } = params.path; + + const serviceHostNames = await getServiceHostNames({ + apmEventClient, + start, + end, + kuery, + environment, + serviceName, + documentType, + rollupInterval, + }); + + return profilingDataAccessStart?.services.fetchFlamechartData({ + esClient: esClient.asCurrentUser, + rangeFromMs: start, + rangeToMs: end, + kuery: hostNamesToKuery(serviceHostNames), + }); + } + + return undefined; + }, +}); + +export const profilingRouteRepository = { + ...profilingFlamegraphRoute, +}; diff --git a/x-pack/plugins/apm/server/routes/profiling/utils.test.ts b/x-pack/plugins/apm/server/routes/profiling/utils.test.ts new file mode 100644 index 00000000000000..4161ca621570dd --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/utils.test.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { HOST_NAME } from '../../../common/es_fields/apm'; +import { hostNamesToKuery } from './utils'; + +describe('profiling utils', () => { + describe('hostNamesToKuery', () => { + it('returns a single hostname', () => { + expect(hostNamesToKuery(['foo'])).toEqual(`${HOST_NAME} : "foo"`); + }); + + it('returns multiple hostnames', () => { + expect(hostNamesToKuery(['foo', 'bar', 'baz'])).toEqual( + `${HOST_NAME} : "foo" OR ${HOST_NAME} : "bar" OR ${HOST_NAME} : "baz"` + ); + }); + + it('return empty string when no hostname', () => { + expect(hostNamesToKuery([])).toEqual(''); + }); + }); +}); diff --git a/x-pack/plugins/apm/server/routes/profiling/utils.ts b/x-pack/plugins/apm/server/routes/profiling/utils.ts new file mode 100644 index 00000000000000..e98979c03251bf --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/utils.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { isEmpty } from 'lodash'; +import { HOST_NAME } from '../../../common/es_fields/apm'; + +export function hostNamesToKuery(hostNames: string[]) { + return hostNames.reduce((acc, hostName) => { + if (isEmpty(acc)) { + return `${HOST_NAME} : "${hostName}"`; + } + + return `${acc} OR ${HOST_NAME} : "${hostName}"`; + }, ''); +} diff --git a/x-pack/plugins/apm/server/types.ts b/x-pack/plugins/apm/server/types.ts index ec3fb5b80e1301..ffe875e0e6d91d 100644 --- a/x-pack/plugins/apm/server/types.ts +++ b/x-pack/plugins/apm/server/types.ts @@ -61,6 +61,10 @@ import { CustomIntegrationsPluginSetup, CustomIntegrationsPluginStart, } from '@kbn/custom-integrations-plugin/server'; +import { + ProfilingDataAccessPluginSetup, + ProfilingDataAccessPluginStart, +} from '@kbn/profiling-data-access-plugin/server'; import { APMConfig } from '.'; export interface APMPluginSetup { @@ -91,6 +95,7 @@ export interface APMPluginSetupDependencies { taskManager?: TaskManagerSetupContract; usageCollection?: UsageCollectionSetup; customIntegrations?: CustomIntegrationsPluginSetup; + profilingDataAccess?: ProfilingDataAccessPluginSetup; } export interface APMPluginStartDependencies { // required dependencies @@ -116,4 +121,5 @@ export interface APMPluginStartDependencies { taskManager?: TaskManagerStartContract; usageCollection?: undefined; customIntegrations?: CustomIntegrationsPluginStart; + profilingDataAccess?: ProfilingDataAccessPluginStart; } diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index fe805744ad11d5..edfcdda7a20066 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -96,6 +96,8 @@ "@kbn/discover-plugin", "@kbn/observability-ai-assistant-plugin", "@kbn/apm-data-access-plugin", + "@kbn/profiling-data-access-plugin", + "@kbn/profiling-utils", "@kbn/core-analytics-server", "@kbn/analytics-client", "@kbn/monaco" diff --git a/x-pack/plugins/observability_shared/kibana.jsonc b/x-pack/plugins/observability_shared/kibana.jsonc index 4206097c764e85..f4e97551031bff 100644 --- a/x-pack/plugins/observability_shared/kibana.jsonc +++ b/x-pack/plugins/observability_shared/kibana.jsonc @@ -7,7 +7,7 @@ "server": false, "browser": true, "configPath": ["xpack", "observability_shared"], - "requiredPlugins": ["cases", "guidedOnboarding", "uiActions"], + "requiredPlugins": ["cases", "guidedOnboarding", "uiActions", "embeddable"], "optionalPlugins": [], "requiredBundles": ["data", "inspector", "kibanaReact", "kibanaUtils"], "extraPublicDirs": ["common"] diff --git a/x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx new file mode 100644 index 00000000000000..1fa1356f3f8680 --- /dev/null +++ b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx @@ -0,0 +1,63 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useEffect, useRef, useState } from 'react'; +import type { BaseFlameGraph } from '@kbn/profiling-utils'; +import { css } from '@emotion/react'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { ObservabilitySharedStart } from '../../../plugin'; +import { EMBEDDABLE_FLAMEGRAPH } from '.'; + +interface Props { + data?: BaseFlameGraph; + height?: string; + isLoading: boolean; +} + +export function EmbeddableFlamegraph({ data, height, isLoading }: Props) { + const { embeddable: embeddablePlugin } = useKibana().services; + const [embeddable, setEmbeddable] = useState(); + const embeddableRoot: React.RefObject = useRef(null); + + useEffect(() => { + async function createEmbeddable() { + const factory = embeddablePlugin?.getEmbeddableFactory(EMBEDDABLE_FLAMEGRAPH); + const input = { id: 'embeddable_profiling', data, isLoading }; + const embeddableObject = await factory?.create(input); + setEmbeddable(embeddableObject); + } + createEmbeddable(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + if (embeddableRoot.current && embeddable) { + embeddable.render(embeddableRoot.current); + } + }, [embeddable, embeddableRoot]); + + useEffect(() => { + if (embeddable) { + embeddable.updateInput({ data, isLoading }); + embeddable.reload(); + } + }, [data, embeddable, isLoading]); + + return ( +
    + ); +} diff --git a/x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts new file mode 100644 index 00000000000000..05b3ac25b8e18f --- /dev/null +++ b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/** Profiling flamegraph embeddable key */ +export const EMBEDDABLE_FLAMEGRAPH = 'EMBEDDABLE_FLAMEGRAPH'; diff --git a/x-pack/plugins/observability_shared/public/index.ts b/x-pack/plugins/observability_shared/public/index.ts index 7308265827d09d..a94851d20139fe 100644 --- a/x-pack/plugins/observability_shared/public/index.ts +++ b/x-pack/plugins/observability_shared/public/index.ts @@ -77,3 +77,6 @@ export { casesFeatureId, sloFeatureId, } from '../common'; + +export { EMBEDDABLE_FLAMEGRAPH } from './components/profiling/embeddables'; +export { EmbeddableFlamegraph } from './components/profiling/embeddables/embeddable_flamegraph'; diff --git a/x-pack/plugins/observability_shared/public/plugin.ts b/x-pack/plugins/observability_shared/public/plugin.ts index 2e982f27dd35a1..b2f886a2368d71 100644 --- a/x-pack/plugins/observability_shared/public/plugin.ts +++ b/x-pack/plugins/observability_shared/public/plugin.ts @@ -11,6 +11,7 @@ import type { CoreStart, Plugin } from '@kbn/core/public'; import type { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; import { CasesUiStart } from '@kbn/cases-plugin/public'; import { SpacesPluginStart } from '@kbn/spaces-plugin/public'; +import type { EmbeddableStart } from '@kbn/embeddable-plugin/public'; import { createNavigationRegistry } from './components/page_template/helpers/navigation_registry'; import { createLazyObservabilityPageTemplate } from './components/page_template'; import { updateGlobalNavigation } from './services/update_global_navigation'; @@ -20,6 +21,7 @@ export interface ObservabilitySharedStart { cases: CasesUiStart; guidedOnboarding: GuidedOnboardingPluginStart; setIsSidebarEnabled: (isEnabled: boolean) => void; + embeddable: EmbeddableStart; } export type ObservabilitySharedPluginSetup = ReturnType; diff --git a/x-pack/plugins/observability_shared/tsconfig.json b/x-pack/plugins/observability_shared/tsconfig.json index 6a49b5e24b9f66..f5ca4094ee961e 100644 --- a/x-pack/plugins/observability_shared/tsconfig.json +++ b/x-pack/plugins/observability_shared/tsconfig.json @@ -32,6 +32,8 @@ "@kbn/rison", "@kbn/kibana-utils-plugin", "@kbn/shared-ux-router", + "@kbn/embeddable-plugin", + "@kbn/profiling-utils" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/profiling/common/__fixtures__/README.md b/x-pack/plugins/profiling/common/__fixtures__/README.md new file mode 100644 index 00000000000000..1a26bca590668d --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/README.md @@ -0,0 +1,17 @@ +The stacktrace fixtures in this directory are originally from Elasticsearch's +`POST /_profiling/stacktraces` endpoint. They were subsequently filtered +through the `shrink_stacktrace_response.js` command in `x-pack/plugins/profiling/scripts/` +to reduce the size without losing sampling fidelity (see the script for further +details). + +The naming convention for each stacktrace fixture follows this pattern: + +``` +stacktraces_{seconds}s_{upsampling rate}x.json +``` + +where `seconds` is the time span of the original query and `upsampling rate` is +the reciprocal of the sampling rate returned from the original query. + +To add a new stacktrace fixture to the test suite, update `stacktraces.ts` +appropriately. \ No newline at end of file diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces.ts b/x-pack/plugins/profiling/common/__fixtures__/stacktraces.ts similarity index 93% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces.ts rename to x-pack/plugins/profiling/common/__fixtures__/stacktraces.ts index 4873435e81f497..d831f5f20d48ca 100644 --- a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces.ts +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { StackTraceResponse } from '../stack_traces'; +import type { StackTraceResponse } from '@kbn/profiling-utils'; import stackTraces1x from './stacktraces_60s_1x.json'; import stackTraces5x from './stacktraces_3600s_5x.json'; diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json new file mode 100644 index 00000000000000..cad5ac24c7a7e2 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"-njmbjRUBOZR5EgXpUQdRw":42,"ztDY3GPoIfO7CjHQxmyZ-Q":115,"Y8CwPu4zFwOz0m86XYzkGw":256,"QiwsJA6NJ0Q3f2M4DT-dxA":1192,"9_06LL00QkYIeiFNCWu0XQ":1033,"GApi1ybrprUZdnGMiSfUPA":675,"QpRRwD9tRNNrUmJ_2oOuSg":385,"43tbk4XHS6h_eSSkozr2lQ":480,"nORl1I4BGh3mzZiFR21ijQ":342,"ONNtRKFUjSc8lLm64B4nVQ":604,"IgUYn71JvS5hV0IssAqJCA":415,"u31aX9a6CI2OuomWQHSx1Q":486,"ZBYtP3yTV5OAbePvOl3arg":500,"ztbi9NfSFBK5AxpIlylSew":478,"-s21TvA-EsTWbfCutQG83Q":402,"APcbPjShNMH1PkL1e22JYg":381,"sGdKDAzt2D3ZK2brqGj4vQ":551,"hecRkAhRG62NML7wI512zA":225,"yqosCJmye4YNNxuB2s8zdQ":181,"JEl8c8qrwRMDRhl_VlTpFQ":234,"TFvQpP8OVc3AdHSKmIUBAA":218,"eUMH9Wf36CVzdkAZsN9itA":242,"57NvBalQc9mIcBwC1lPObg":229,"qaTBBEzEjIyGmsWUYfCBpA":189,"y7Mdo_ee9-4XsWhpA4MB0g":271,"vODIlh-kDOyM2hWSJhdfpA":235,"QKuCwkwTUdmVpouD1TSb6g":167,"zQ3yVnMIXoz1yUFx6SaSlA":146,"PfGJvpI_t-0Eiwgl8k31BA":148,"P-lVr6eiwDBuO8eZBdsdMQ":144,"KxQngfXsErVAsVuASxix6w":138,"NDxOvbKIocbTk6FkHrLlqQ":107,"2GP6bCEH-XkrLdH6ox0E3Q":95,"NYEjWS7muJ8dsj9z5lNehg":52,"Nr5XZDDmb-nXg0BzTFzdFA":44,"JVvUxIunvr6V68Rt99rK9w":38,"tagsGmBta7BnDHBzEbH9eQ":28,"CjP83pplY09FGl9PBMeqCg":13,"SQ6jhz-Ee7WHXLMOHOsDcQ":18,"eM1ATYEKUIN4nyPylmr13A":20,"9vNu8RjYClbqhYYGUiWI7A":12,"CU-T9AvnxmWd1TTRjgV01Q":17,"hoJT-ObO7MDFTgt9UeFJfg":9,"us5XzJaFA8Y8a8Jhq7VWzQ":34,"tWPDa1sBMePW-YFiahrHBA":9,"KKjaO47Ew4fmVCY-lBFkLg":6,"zxyQebekMWvnWWEuWSzR9Q":8,"UI-7Z494NKAWuv1FuNlxoQ":4,"6yHX0lcyWmly8MshBzd78Q":7,"uEL43HtanLRCO2rLB4ttzQ":3,"mXgK2ekWZ4qH-uHB8QaLtA":7,"1twYzjHR6hCfJqQLvJ81XA":5,"f-LRF9Sfj675yc68DOXczw":2,"p24lyWOwFjGMsQaWybQUMA":1,"KHat1RLkyP8wPwwR1uD04A":4,"B-OQjwP7KzSb4f6cXUL1bA":2,"kOWftL0Ttias8Z1isZi9oA":4,"JzGylmBPluUmIML9XnagKw":3,"tTw0tfSnPtZhbcyzyVHHpg":2,"E_F-N51BcZ4iQ9oPaHFKXw":2,"d04G8ZHV3kYQ0ekQBw1VYQ":3,"I-DofAMUQgh7q14tBJcZlA":3,"tGGi0acvAmmxOR5DbuF3dg":4,"Ws9TqFMz-kHv_-7zrBFdKw":3,"nBHRVpYV5wUL_UAb5ff6Zg":1,"vfw5EN0FEHQCAj0w-N2avQ":1,"lyeLQDjWsQDYEJbcY4aFJA":3,"cqzgaW0F-6gZ8uHz_Pf3hQ":1,"b89Eo7vMfG4HsPSBVvjiKQ":5,"5_-zAnLDYAi4FySmVgS6iw":2,"zOI_cRK31hVrh4Typ0-Fxg":5,"4U9ayDnwvWmqJPhn_AOKew":8,"Jt6CexOHLEwUl4IeTgASBQ":4,"8Rif7kuKG2cfhEYF2fJXmA":4,"cCjn5miDmyezrnBAe2jDww":12,"f8AFYpSQOpjCNbhqUuR3Rg":9,"dGMvgpGXk-ajX6PRi92qdg":9,"OxrG9ZVAzX9GwGtxUtIQNg":3,"QoW8uF5K3OBNL2DXI66leA":9,"zV-93oQDbZK9zB7UMAcCmw":5,"9CQVJEfCfL1rSnUaxlAfqg":3,"mGGvLNOYB74ofk9FRrMxxQ":2,"pnLCuJVNeqGwwFeJQIrkPw":2,"R77Zz6fBvENVXyt4GVb9dQ":1,"tgL-t2GJJjItpLjnwjc4zQ":1,"XNCSlgkv_bOXDIYn6zwekw":5,"jPN_jNGPJguImYjakYlBcA":1,"4K-SlZ4j8NjsVBpqyPj2dw":1,"W8IRlEZMfFJdYSgUQXDnMg":2,"qytuJG9brvKSB9NJCHV9fQ":1,"b116myovN7_XXb1AVLPH0g":1,"dNwgDmnCM1dIIF5EZm4ZgA":1,"KEdXtWOmrUdpIHsjndtg_A":1,"V2K_ZjA6rol7KyINtV45_A":1},"stack_traces":{"-njmbjRUBOZR5EgXpUQdRw":{"address_or_lines":[1277056],"file_ids":["G68hjsyagwq6LpWrMjDdng"],"frame_ids":["G68hjsyagwq6LpWrMjDdngAAAAAAE3yA"],"type_ids":[3]},"ztDY3GPoIfO7CjHQxmyZ-Q":{"address_or_lines":[4643458,4456960],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtqC","B8JRxL079xbhqQBqGvksAgAAAAAARAIA"],"type_ids":[3,3]},"Y8CwPu4zFwOz0m86XYzkGw":{"address_or_lines":[4597989,4390116,4390542],"file_ids":["6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w"],"frame_ids":["6kzBY4yj-1Fh1NCTZA3z0wAAAAAARijl","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQvzk","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQv6O"],"type_ids":[3,3,3]},"QiwsJA6NJ0Q3f2M4DT-dxA":{"address_or_lines":[4597989,4307812,4320019,4321918],"file_ids":["6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w"],"frame_ids":["6kzBY4yj-1Fh1NCTZA3z0wAAAAAARijl","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQbtk","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQesT","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQfJ-"],"type_ids":[3,3,3,3]},"9_06LL00QkYIeiFNCWu0XQ":{"address_or_lines":[4643592,4325284,4339923,4341903,4293837],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjjT","B8JRxL079xbhqQBqGvksAgAAAAAAQkCP","B8JRxL079xbhqQBqGvksAgAAAAAAQYTN"],"type_ids":[3,3,3,3,3]},"GApi1ybrprUZdnGMiSfUPA":{"address_or_lines":[18434496,18109958,18105083,18107109,18183090,18183229],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABFFYG","j8DVIOTu7Btj9lgFefJ84AAAAAABFEL7","j8DVIOTu7Btj9lgFefJ84AAAAAABFErl","j8DVIOTu7Btj9lgFefJ84AAAAAABFXOy","j8DVIOTu7Btj9lgFefJ84AAAAAABFXQ9"],"type_ids":[3,3,3,3,3,3]},"QpRRwD9tRNNrUmJ_2oOuSg":{"address_or_lines":[4644672,40444780,40465086,40468873,40476239,4250662,4249714],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARt9A","B56YkhsK1JwqD-8F8sjS3AAAAAACaSNs","B56YkhsK1JwqD-8F8sjS3AAAAAACaXK-","B56YkhsK1JwqD-8F8sjS3AAAAAACaYGJ","B56YkhsK1JwqD-8F8sjS3AAAAAACaZ5P","B56YkhsK1JwqD-8F8sjS3AAAAAAAQNwm","B56YkhsK1JwqD-8F8sjS3AAAAAAAQNhy"],"type_ids":[3,3,3,3,3,3,3]},"43tbk4XHS6h_eSSkozr2lQ":{"address_or_lines":[18515232,22597677,22574090,22556393,22530363,22106663,22101077,22107662],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHQK","v6HIzNa4K6G4nRP9032RIAAAAAABWC7p","v6HIzNa4K6G4nRP9032RIAAAAAABV8k7","v6HIzNa4K6G4nRP9032RIAAAAAABUVIn","v6HIzNa4K6G4nRP9032RIAAAAAABUTxV","v6HIzNa4K6G4nRP9032RIAAAAAABUVYO"],"type_ids":[3,3,3,3,3,3,3,3]},"nORl1I4BGh3mzZiFR21ijQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271908,4256166,4255110,4288975,4287865],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qfk","FWZ9q3TQKZZok58ua1HDsgAAAAAAQPGm","FWZ9q3TQKZZok58ua1HDsgAAAAAAQO2G","FWZ9q3TQKZZok58ua1HDsgAAAAAAQXHP","FWZ9q3TQKZZok58ua1HDsgAAAAAAQW15"],"type_ids":[3,3,3,3,3,3,3,3,3]},"ONNtRKFUjSc8lLm64B4nVQ":{"address_or_lines":[4641312,7081613,7060969,4425906,7064267,7057968,6093476,6025643,4305623,4278829],"file_ids":["gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w"],"frame_ids":["gNW12BepH17pXwK-ZuYt3wAAAAAARtIg","gNW12BepH17pXwK-ZuYt3wAAAAAAbA6N","gNW12BepH17pXwK-ZuYt3wAAAAAAa73p","gNW12BepH17pXwK-ZuYt3wAAAAAAQ4iy","gNW12BepH17pXwK-ZuYt3wAAAAAAa8rL","gNW12BepH17pXwK-ZuYt3wAAAAAAa7Iw","gNW12BepH17pXwK-ZuYt3wAAAAAAXPqk","gNW12BepH17pXwK-ZuYt3wAAAAAAW_Gr","gNW12BepH17pXwK-ZuYt3wAAAAAAQbLX","gNW12BepH17pXwK-ZuYt3wAAAAAAQUot"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"IgUYn71JvS5hV0IssAqJCA":{"address_or_lines":[4636100,4452920,4453106,4487396,4487396,4651100,10485923,16743,1136873,1113241,4849252],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARr3E","B56YkhsK1JwqD-8F8sjS3AAAAAAAQ_I4","B56YkhsK1JwqD-8F8sjS3AAAAAAAQ_Ly","B56YkhsK1JwqD-8F8sjS3AAAAAAARHjk","B56YkhsK1JwqD-8F8sjS3AAAAAAARHjk","B56YkhsK1JwqD-8F8sjS3AAAAAAARvhc","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEVjp","piWSMQrh4r040D0BPNaJvwAAAAAAEPyZ","piWSMQrh4r040D0BPNaJvwAAAAAASf5k"],"type_ids":[3,3,3,3,3,3,4,4,4,4,4]},"u31aX9a6CI2OuomWQHSx1Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265796,7372663,7364083],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcH93","B8JRxL079xbhqQBqGvksAgAAAAAAcF3z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3]},"ZBYtP3yTV5OAbePvOl3arg":{"address_or_lines":[4636226,4469356,4468068,4466980,4460377,4459271,4243432,4415957,4652642,10485923,16743,1221731,1219038],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARr5C","B56YkhsK1JwqD-8F8sjS3AAAAAAARDJs","B56YkhsK1JwqD-8F8sjS3AAAAAAARC1k","B56YkhsK1JwqD-8F8sjS3AAAAAAARCkk","B56YkhsK1JwqD-8F8sjS3AAAAAAARA9Z","B56YkhsK1JwqD-8F8sjS3AAAAAAARAsH","B56YkhsK1JwqD-8F8sjS3AAAAAAAQL_o","B56YkhsK1JwqD-8F8sjS3AAAAAAAQ2HV","B56YkhsK1JwqD-8F8sjS3AAAAAAARv5i","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEqRj","piWSMQrh4r040D0BPNaJvwAAAAAAEpne"],"type_ids":[3,3,3,3,3,3,3,3,3,4,4,4,4]},"ztbi9NfSFBK5AxpIlylSew":{"address_or_lines":[4594466,4444524,4443160,4438546,4391572,4609107,10485923,16807,2756288,2755416,2744627,2792698,4867725,4855327],"file_ids":["kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["kajOqZqz7V1y0BdYQLFQrwAAAAAARhsi","kajOqZqz7V1y0BdYQLFQrwAAAAAAQ9Fs","kajOqZqz7V1y0BdYQLFQrwAAAAAAQ8wY","kajOqZqz7V1y0BdYQLFQrwAAAAAAQ7oS","kajOqZqz7V1y0BdYQLFQrwAAAAAAQwKU","kajOqZqz7V1y0BdYQLFQrwAAAAAARlRT","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAKpz6","A2oiHVwisByxRn5RDT4LjAAAAAAASkaN","A2oiHVwisByxRn5RDT4LjAAAAAAAShYf"],"type_ids":[3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"-s21TvA-EsTWbfCutQG83Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10733818,10618404,10387225,4547736,4658752],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8j6","FWZ9q3TQKZZok58ua1HDsgAAAAAAogYk","FWZ9q3TQKZZok58ua1HDsgAAAAAAnn8Z","FWZ9q3TQKZZok58ua1HDsgAAAAAARWSY","FWZ9q3TQKZZok58ua1HDsgAAAAAARxZA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"APcbPjShNMH1PkL1e22JYg":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54546893,54560984,44458726,43610833,43327941,43735894],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFHN","MNBJ5seVz_ocW6tcr1HSmwAAAAADQIjY","MNBJ5seVz_ocW6tcr1HSmwAAAAACpmLm","MNBJ5seVz_ocW6tcr1HSmwAAAAACmXLR","MNBJ5seVz_ocW6tcr1HSmwAAAAAClSHF","MNBJ5seVz_ocW6tcr1HSmwAAAAACm1tW"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"sGdKDAzt2D3ZK2brqGj4vQ":{"address_or_lines":[4652224,22354871,22382638,22364302,56672751,58471189,58268669,58227812,58241853,31197476,7372151,7373114,7373997,4536145,4264900,4265340,4655641],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYMHv","-pk6w5puGcp-wKnQ61BZzQAAAAADfDMV","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Akk","-pk6w5puGcp-wKnQ61BZzQAAAAAAcH13","-pk6w5puGcp-wKnQ61BZzQAAAAAAcIE6","-pk6w5puGcp-wKnQ61BZzQAAAAAAcISt","-pk6w5puGcp-wKnQ61BZzQAAAAAARTdR","-pk6w5puGcp-wKnQ61BZzQAAAAAAQRPE","-pk6w5puGcp-wKnQ61BZzQAAAAAAQRV8","-pk6w5puGcp-wKnQ61BZzQAAAAAARwoZ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"hecRkAhRG62NML7wI512zA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961373,27940684],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqgd","v6HIzNa4K6G4nRP9032RIAAAAAABqldM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"yqosCJmye4YNNxuB2s8zdQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961653,27949894,18928855],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqk1","v6HIzNa4K6G4nRP9032RIAAAAAABqntG","v6HIzNa4K6G4nRP9032RIAAAAAABINTX"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"JEl8c8qrwRMDRhl_VlTpFQ":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59181690,58121321,58026161,58173220,58175116,7294148,7295421,7297245,7300762,7297188,7304836,7297413,7309604,7298328,5114154],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwp6","B8JRxL079xbhqQBqGvksAgAAAAADdtxp","B8JRxL079xbhqQBqGvksAgAAAAADdWix","B8JRxL079xbhqQBqGvksAgAAAAADd6ck","B8JRxL079xbhqQBqGvksAgAAAAADd66M","B8JRxL079xbhqQBqGvksAgAAAAAAb0zE","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1mF","B8JRxL079xbhqQBqGvksAgAAAAAAb4kk","B8JRxL079xbhqQBqGvksAgAAAAAAb10Y","B8JRxL079xbhqQBqGvksAgAAAAAATgkq"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"TFvQpP8OVc3AdHSKmIUBAA":{"address_or_lines":[4652224,22357367,22385134,22366798,57092143,58893857,58677085,58641545,58657509,31313785,7372944,7295421,7297245,7300762,7297188,7304836,7297188,7306724,5132868,4625639,4289536],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZygv","B8JRxL079xbhqQBqGvksAgAAAAADgqYh","B8JRxL079xbhqQBqGvksAgAAAAADf1dd","B8JRxL079xbhqQBqGvksAgAAAAADfsyJ","B8JRxL079xbhqQBqGvksAgAAAAADfwrl","B8JRxL079xbhqQBqGvksAgAAAAAB3c95","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb33k","B8JRxL079xbhqQBqGvksAgAAAAAATlJE","B8JRxL079xbhqQBqGvksAgAAAAAARpTn","B8JRxL079xbhqQBqGvksAgAAAAAAQXQA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"eUMH9Wf36CVzdkAZsN9itA":{"address_or_lines":[32443680,43151402,43152149,43153397,41329281,41441892,41443480,41222389,41225442,41240900,40679166,40714972,40707458,40707880,40710748,40690621,40679204,40688196,40679204,40688166,40644014,41210644],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7w0g","QvG8QEGAld88D676NL_Y2QAAAAACknAq","QvG8QEGAld88D676NL_Y2QAAAAACknMV","QvG8QEGAld88D676NL_Y2QAAAAACknf1","QvG8QEGAld88D676NL_Y2QAAAAACdqKB","QvG8QEGAld88D676NL_Y2QAAAAACeFpk","QvG8QEGAld88D676NL_Y2QAAAAACeGCY","QvG8QEGAld88D676NL_Y2QAAAAACdQD1","QvG8QEGAld88D676NL_Y2QAAAAACdQzi","QvG8QEGAld88D676NL_Y2QAAAAACdUlE","QvG8QEGAld88D676NL_Y2QAAAAACbLb-","QvG8QEGAld88D676NL_Y2QAAAAACbULc","QvG8QEGAld88D676NL_Y2QAAAAACbSWC","QvG8QEGAld88D676NL_Y2QAAAAACbSco","QvG8QEGAld88D676NL_Y2QAAAAACbTJc","QvG8QEGAld88D676NL_Y2QAAAAACbOO9","QvG8QEGAld88D676NL_Y2QAAAAACbLck","QvG8QEGAld88D676NL_Y2QAAAAACbNpE","QvG8QEGAld88D676NL_Y2QAAAAACbLck","QvG8QEGAld88D676NL_Y2QAAAAACbNom","QvG8QEGAld88D676NL_Y2QAAAAACbC2u","QvG8QEGAld88D676NL_Y2QAAAAACdNMU"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"57NvBalQc9mIcBwC1lPObg":{"address_or_lines":[4652224,31040261,31054565,31056612,31058888,31450411,30791748,25539462,25519688,25480413,25483943,25484196,4951332,4960527,4959954,4897957,4893996,4627954,4660663,10485923,16807,3103640,3100879],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAAB2aMF","B8JRxL079xbhqQBqGvksAgAAAAAB2drl","B8JRxL079xbhqQBqGvksAgAAAAAB2eLk","B8JRxL079xbhqQBqGvksAgAAAAAB2evI","B8JRxL079xbhqQBqGvksAgAAAAAB3-Ur","B8JRxL079xbhqQBqGvksAgAAAAAB1dhE","B8JRxL079xbhqQBqGvksAgAAAAABhbOG","B8JRxL079xbhqQBqGvksAgAAAAABhWZI","B8JRxL079xbhqQBqGvksAgAAAAABhMzd","B8JRxL079xbhqQBqGvksAgAAAAABhNqn","B8JRxL079xbhqQBqGvksAgAAAAABhNuk","B8JRxL079xbhqQBqGvksAgAAAAAAS40k","B8JRxL079xbhqQBqGvksAgAAAAAAS7EP","B8JRxL079xbhqQBqGvksAgAAAAAAS67S","B8JRxL079xbhqQBqGvksAgAAAAAASryl","B8JRxL079xbhqQBqGvksAgAAAAAASq0s","B8JRxL079xbhqQBqGvksAgAAAAAARp3y","B8JRxL079xbhqQBqGvksAgAAAAAARx23","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAL1uY","A2oiHVwisByxRn5RDT4LjAAAAAAAL1DP"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4]},"qaTBBEzEjIyGmsWUYfCBpA":{"address_or_lines":[4652224,31040261,31054565,31056612,31058888,31450411,30791748,25539462,25520823,25502704,25503492,25480821,25481061,4953508,4960780,4898318,4893650,4898160,4745321,4757831,4219698,4219725,10485923,16755],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAAB2aMF","B8JRxL079xbhqQBqGvksAgAAAAAB2drl","B8JRxL079xbhqQBqGvksAgAAAAAB2eLk","B8JRxL079xbhqQBqGvksAgAAAAAB2evI","B8JRxL079xbhqQBqGvksAgAAAAAB3-Ur","B8JRxL079xbhqQBqGvksAgAAAAAB1dhE","B8JRxL079xbhqQBqGvksAgAAAAABhbOG","B8JRxL079xbhqQBqGvksAgAAAAABhWq3","B8JRxL079xbhqQBqGvksAgAAAAABhSPw","B8JRxL079xbhqQBqGvksAgAAAAABhScE","B8JRxL079xbhqQBqGvksAgAAAAABhM51","B8JRxL079xbhqQBqGvksAgAAAAABhM9l","B8JRxL079xbhqQBqGvksAgAAAAAAS5Wk","B8JRxL079xbhqQBqGvksAgAAAAAAS7IM","B8JRxL079xbhqQBqGvksAgAAAAAASr4O","B8JRxL079xbhqQBqGvksAgAAAAAASqvS","B8JRxL079xbhqQBqGvksAgAAAAAASr1w","B8JRxL079xbhqQBqGvksAgAAAAAASGhp","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEFz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4]},"y7Mdo_ee9-4XsWhpA4MB0g":{"address_or_lines":[4652224,58223725,10400868,10401064,10401333,10401661,58236869,58227432,58120068,58163344,58184537,58041720,57725674,57726188,57066632,22280836,22281116,22396783,22397566,22398116,5362852,5363370,4271546,4264588,4299069],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAADeGxt","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrRk","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrUo","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrY1","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrd9","6auiCMWq5cA-hAbqSYvdQQAAAAADeJ_F","6auiCMWq5cA-hAbqSYvdQQAAAAADeHro","6auiCMWq5cA-hAbqSYvdQQAAAAADdteE","6auiCMWq5cA-hAbqSYvdQQAAAAADd4CQ","6auiCMWq5cA-hAbqSYvdQQAAAAADd9NZ","6auiCMWq5cA-hAbqSYvdQQAAAAADdaV4","6auiCMWq5cA-hAbqSYvdQQAAAAADcNLq","6auiCMWq5cA-hAbqSYvdQQAAAAADcNTs","6auiCMWq5cA-hAbqSYvdQQAAAAADZsSI","6auiCMWq5cA-hAbqSYvdQQAAAAABU_qE","6auiCMWq5cA-hAbqSYvdQQAAAAABU_uc","6auiCMWq5cA-hAbqSYvdQQAAAAABVb9v","6auiCMWq5cA-hAbqSYvdQQAAAAABVcJ-","6auiCMWq5cA-hAbqSYvdQQAAAAABVcSk","6auiCMWq5cA-hAbqSYvdQQAAAAAAUdSk","6auiCMWq5cA-hAbqSYvdQQAAAAAAUdaq","6auiCMWq5cA-hAbqSYvdQQAAAAAAQS26","6auiCMWq5cA-hAbqSYvdQQAAAAAAQRKM","6auiCMWq5cA-hAbqSYvdQQAAAAAAQZk9"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"vODIlh-kDOyM2hWSJhdfpA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19976893,19927481,19928567,19983876,19943049,19984068,19944276,19984260,19945213,19982696,19937907,19982884,19142858],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNK9","v6HIzNa4K6G4nRP9032RIAAAAAABMBG5","v6HIzNa4K6G4nRP9032RIAAAAAABMBX3","v6HIzNa4K6G4nRP9032RIAAAAAABMO4E","v6HIzNa4K6G4nRP9032RIAAAAAABME6J","v6HIzNa4K6G4nRP9032RIAAAAAABMO7E","v6HIzNa4K6G4nRP9032RIAAAAAABMFNU","v6HIzNa4K6G4nRP9032RIAAAAAABMO-E","v6HIzNa4K6G4nRP9032RIAAAAAABMFb9","v6HIzNa4K6G4nRP9032RIAAAAAABMOlo","v6HIzNa4K6G4nRP9032RIAAAAAABMDpz","v6HIzNa4K6G4nRP9032RIAAAAAABMOok","v6HIzNa4K6G4nRP9032RIAAAAAABJBjK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"QKuCwkwTUdmVpouD1TSb6g":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895453,19846041,19847127,19902436,19861609,19902628,19862836,19902820,19863773,19901256,19856467,19901444,19858562,18659470],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5Sd","j8DVIOTu7Btj9lgFefJ84AAAAAABLtOZ","j8DVIOTu7Btj9lgFefJ84AAAAAABLtfX","j8DVIOTu7Btj9lgFefJ84AAAAAABL6_k","j8DVIOTu7Btj9lgFefJ84AAAAAABLxBp","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Ck","j8DVIOTu7Btj9lgFefJ84AAAAAABLxU0","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Fk","j8DVIOTu7Btj9lgFefJ84AAAAAABLxjd","j8DVIOTu7Btj9lgFefJ84AAAAAABL6tI","j8DVIOTu7Btj9lgFefJ84AAAAAABLvxT","j8DVIOTu7Btj9lgFefJ84AAAAAABL6wE","j8DVIOTu7Btj9lgFefJ84AAAAAABLwSC","j8DVIOTu7Btj9lgFefJ84AAAAAABHLiO"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"zQ3yVnMIXoz1yUFx6SaSlA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528467,54488242,54489352,54492882,44042020,44050554,43824563,43838109,43282962,43282989,10485923,16807,2741196,2827770,2817934],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQAnT","MNBJ5seVz_ocW6tcr1HSmwAAAAADP2yy","MNBJ5seVz_ocW6tcr1HSmwAAAAADP3EI","MNBJ5seVz_ocW6tcr1HSmwAAAAADP37S","MNBJ5seVz_ocW6tcr1HSmwAAAAACoAck","MNBJ5seVz_ocW6tcr1HSmwAAAAACoCh6","MNBJ5seVz_ocW6tcr1HSmwAAAAACnLWz","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOqd","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv-O"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"PfGJvpI_t-0Eiwgl8k31BA":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708921,24712242,24698684,24696100,20084020,20086666,20084847,20085083,18040582,18049603],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQc5","j8DVIOTu7Btj9lgFefJ84AAAAAABeRQy","j8DVIOTu7Btj9lgFefJ84AAAAAABeN88","j8DVIOTu7Btj9lgFefJ84AAAAAABeNUk","j8DVIOTu7Btj9lgFefJ84AAAAAABMnU0","j8DVIOTu7Btj9lgFefJ84AAAAAABMn-K","j8DVIOTu7Btj9lgFefJ84AAAAAABMnhv","j8DVIOTu7Btj9lgFefJ84AAAAAABMnlb","j8DVIOTu7Btj9lgFefJ84AAAAAABE0cG","j8DVIOTu7Btj9lgFefJ84AAAAAABE2pD"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"P-lVr6eiwDBuO8eZBdsdMQ":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528745,54499864,54500494,54477482,44044054,44044293,44044676,44051020,43988398,43982642,43988240,43826825,43837959,43282962,43282989,10485923,16755],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQArp","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5oY","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5yO","MNBJ5seVz_ocW6tcr1HSmwAAAAADP0Kq","MNBJ5seVz_ocW6tcr1HSmwAAAAACoA8W","MNBJ5seVz_ocW6tcr1HSmwAAAAACoBAF","MNBJ5seVz_ocW6tcr1HSmwAAAAACoBGE","MNBJ5seVz_ocW6tcr1HSmwAAAAACoCpM","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzWu","MNBJ5seVz_ocW6tcr1HSmwAAAAACnx8y","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzUQ","MNBJ5seVz_ocW6tcr1HSmwAAAAACnL6J","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEFz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4]},"KxQngfXsErVAsVuASxix6w":{"address_or_lines":[4652224,11645454,31861537,31858282,31847101,59040776,58304471,58312462,31457395,31076505,31042101,31058818,31448215,30842852,30845380,30848778,30847620,4952886,4953125,4953508,4960780,4898318,4893650,4898125,4628233,4660663,10485923,16807,3104019,8528279,936364],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAAAsbIO","6auiCMWq5cA-hAbqSYvdQQAAAAAB5ish","6auiCMWq5cA-hAbqSYvdQQAAAAAB5h5q","6auiCMWq5cA-hAbqSYvdQQAAAAAB5fK9","6auiCMWq5cA-hAbqSYvdQQAAAAADhOQI","6auiCMWq5cA-hAbqSYvdQQAAAAADeafX","6auiCMWq5cA-hAbqSYvdQQAAAAADeccO","6auiCMWq5cA-hAbqSYvdQQAAAAAB4ABz","6auiCMWq5cA-hAbqSYvdQQAAAAAB2jCZ","6auiCMWq5cA-hAbqSYvdQQAAAAAB2ao1","6auiCMWq5cA-hAbqSYvdQQAAAAAB2euC","6auiCMWq5cA-hAbqSYvdQQAAAAAB39yX","6auiCMWq5cA-hAbqSYvdQQAAAAAB1p_k","6auiCMWq5cA-hAbqSYvdQQAAAAAB1qnE","6auiCMWq5cA-hAbqSYvdQQAAAAAB1rcK","6auiCMWq5cA-hAbqSYvdQQAAAAAB1rKE","6auiCMWq5cA-hAbqSYvdQQAAAAAAS5M2","6auiCMWq5cA-hAbqSYvdQQAAAAAAS5Ql","6auiCMWq5cA-hAbqSYvdQQAAAAAAS5Wk","6auiCMWq5cA-hAbqSYvdQQAAAAAAS7IM","6auiCMWq5cA-hAbqSYvdQQAAAAAASr4O","6auiCMWq5cA-hAbqSYvdQQAAAAAASqvS","6auiCMWq5cA-hAbqSYvdQQAAAAAASr1N","6auiCMWq5cA-hAbqSYvdQQAAAAAARp8J","6auiCMWq5cA-hAbqSYvdQQAAAAAARx23","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAL10T","ew01Dk0sWZctP-VaEpavqQAAAAAAgiGX","ew01Dk0sWZctP-VaEpavqQAAAAAADkms"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"NDxOvbKIocbTk6FkHrLlqQ":{"address_or_lines":[4652224,58222957,10400868,10401064,10401333,10401661,58236101,58226664,58119300,58162576,58183769,58040952,57724906,57725420,57065864,22280836,22281206,22412958,22408242,22413668,22416921,22341332,22109092,22108612,11325304,11325700,10718668,11154818,57469092,57466065,4552751,4263429],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADeGlt","B8JRxL079xbhqQBqGvksAgAAAAAAnrRk","B8JRxL079xbhqQBqGvksAgAAAAAAnrUo","B8JRxL079xbhqQBqGvksAgAAAAAAnrY1","B8JRxL079xbhqQBqGvksAgAAAAAAnrd9","B8JRxL079xbhqQBqGvksAgAAAAADeJzF","B8JRxL079xbhqQBqGvksAgAAAAADeHfo","B8JRxL079xbhqQBqGvksAgAAAAADdtSE","B8JRxL079xbhqQBqGvksAgAAAAADd32Q","B8JRxL079xbhqQBqGvksAgAAAAADd9BZ","B8JRxL079xbhqQBqGvksAgAAAAADdaJ4","B8JRxL079xbhqQBqGvksAgAAAAADcM_q","B8JRxL079xbhqQBqGvksAgAAAAADcNHs","B8JRxL079xbhqQBqGvksAgAAAAADZsGI","B8JRxL079xbhqQBqGvksAgAAAAABU_qE","B8JRxL079xbhqQBqGvksAgAAAAABU_v2","B8JRxL079xbhqQBqGvksAgAAAAABVf6e","B8JRxL079xbhqQBqGvksAgAAAAABVewy","B8JRxL079xbhqQBqGvksAgAAAAABVgFk","B8JRxL079xbhqQBqGvksAgAAAAABVg4Z","B8JRxL079xbhqQBqGvksAgAAAAABVObU","B8JRxL079xbhqQBqGvksAgAAAAABUVuk","B8JRxL079xbhqQBqGvksAgAAAAABUVnE","B8JRxL079xbhqQBqGvksAgAAAAAArM94","B8JRxL079xbhqQBqGvksAgAAAAAArNEE","B8JRxL079xbhqQBqGvksAgAAAAAAo43M","B8JRxL079xbhqQBqGvksAgAAAAAAqjWC","B8JRxL079xbhqQBqGvksAgAAAAADbOik","B8JRxL079xbhqQBqGvksAgAAAAADbNzR","B8JRxL079xbhqQBqGvksAgAAAAAARXgv","B8JRxL079xbhqQBqGvksAgAAAAAAQQ4F"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"2GP6bCEH-XkrLdH6ox0E3Q":{"address_or_lines":[4623648,7066994,7068484,7069849,7058446,10002970,10005676,10124500,9016547,11291366,9016547,24500423,24494926,9016547,10689293,10690744,9016547,24494153,24444068,9016547,24526481,9016547,12769368,12762703,6837766,6838366,6839304,5651373,5585348,5510696,4903076,4768780,4778619],"file_ids":["JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA"],"frame_ids":["JsObMPhfT_zO2Q_B1cPLxAAAAAAARo0g","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9Vy","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9tE","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-CZ","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa7QO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKIa","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKys","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmnzU","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAArErm","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABddjH","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcNO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoxsN","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoyC4","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcBJ","JsObMPhfT_zO2Q_B1cPLxAAAAAABdPyk","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdj6R","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAwthY","JsObMPhfT_zO2Q_B1cPLxAAAAAAAwr5P","JsObMPhfT_zO2Q_B1cPLxAAAAAAAaFYG","JsObMPhfT_zO2Q_B1cPLxAAAAAAAaFhe","JsObMPhfT_zO2Q_B1cPLxAAAAAAAaFwI","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVjut","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVTnE","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVBYo","JsObMPhfT_zO2Q_B1cPLxAAAAAAAStCk","JsObMPhfT_zO2Q_B1cPLxAAAAAAASMQM","JsObMPhfT_zO2Q_B1cPLxAAAAAAASOp7"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"NYEjWS7muJ8dsj9z5lNehg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19908516,19901477,19920683,18932457,18907996,18882195],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6wl","v6HIzNa4K6G4nRP9032RIAAAAAABL_cr","v6HIzNa4K6G4nRP9032RIAAAAAABIOLp","v6HIzNa4K6G4nRP9032RIAAAAAABIINc","v6HIzNa4K6G4nRP9032RIAAAAAABIB6T"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Nr5XZDDmb-nXg0BzTFzdFA":{"address_or_lines":[4652224,22354871,22382638,22364302,56669071,58509234,58268669,58227812,58241853,31197553,31197973,31304315,4873273,4873930,4883062,4875761,4874468,8925121,8860356,8860667,8476967,4872825,5688954,8906989,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16890,16350,1408382],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYLOP","-pk6w5puGcp-wKnQ61BZzQAAAAADfMey","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Alx","-pk6w5puGcp-wKnQ61BZzQAAAAAB3AsV","-pk6w5puGcp-wKnQ61BZzQAAAAAB3ap7","-pk6w5puGcp-wKnQ61BZzQAAAAAASlw5","-pk6w5puGcp-wKnQ61BZzQAAAAAASl7K","-pk6w5puGcp-wKnQ61BZzQAAAAAASoJ2","-pk6w5puGcp-wKnQ61BZzQAAAAAASmXx","-pk6w5puGcp-wKnQ61BZzQAAAAAASmDk","-pk6w5puGcp-wKnQ61BZzQAAAAAAiC_B","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzLE","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzP7","-pk6w5puGcp-wKnQ61BZzQAAAAAAgVkn","-pk6w5puGcp-wKnQ61BZzQAAAAAASlp5","-pk6w5puGcp-wKnQ61BZzQAAAAAAVs56","-pk6w5puGcp-wKnQ61BZzQAAAAAAh-jt","-pk6w5puGcp-wKnQ61BZzQAAAAAAVUwE","-pk6w5puGcp-wKnQ61BZzQAAAAAAVATI","-pk6w5puGcp-wKnQ61BZzQAAAAAASsLk","-pk6w5puGcp-wKnQ61BZzQAAAAAASHZk","-pk6w5puGcp-wKnQ61BZzQAAAAAASJlH","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEH6","piWSMQrh4r040D0BPNaJvwAAAAAAAD_e","piWSMQrh4r040D0BPNaJvwAAAAAAFX1-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4]},"JVvUxIunvr6V68Rt99rK9w":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19045737,19044484,19054298,18859716,18879913,10485923,16807,2741196,2827770,2817385,2759858,2758809,2558430,2672376],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp1p","v6HIzNa4K6G4nRP9032RIAAAAAABIpiE","v6HIzNa4K6G4nRP9032RIAAAAAABIr7a","v6HIzNa4K6G4nRP9032RIAAAAAABH8bE","v6HIzNa4K6G4nRP9032RIAAAAAABIBWp","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv1p","A2oiHVwisByxRn5RDT4LjAAAAAAAKhyy","A2oiHVwisByxRn5RDT4LjAAAAAAAKhiZ","A2oiHVwisByxRn5RDT4LjAAAAAAAJwne","A2oiHVwisByxRn5RDT4LjAAAAAAAKMb4"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"tagsGmBta7BnDHBzEbH9eQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19977269,22569935,22570653,19208948,22544340,19208919,19208225,22608882,19754692,19668808,19001325,18870508,18879802,10485923,16807,2756848,2756092,2745322,6715782,6715626,7927445,6732427,882422,8542429],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNQ1","v6HIzNa4K6G4nRP9032RIAAAAAABWGPP","v6HIzNa4K6G4nRP9032RIAAAAAABWGad","v6HIzNa4K6G4nRP9032RIAAAAAABJRr0","v6HIzNa4K6G4nRP9032RIAAAAAABV__U","v6HIzNa4K6G4nRP9032RIAAAAAABJRrX","v6HIzNa4K6G4nRP9032RIAAAAAABJRgh","v6HIzNa4K6G4nRP9032RIAAAAAABWPvy","v6HIzNa4K6G4nRP9032RIAAAAAABLW7E","v6HIzNa4K6G4nRP9032RIAAAAAABLB9I","v6HIzNa4K6G4nRP9032RIAAAAAABIe_t","v6HIzNa4K6G4nRP9032RIAAAAAABH_Ds","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw","ew01Dk0sWZctP-VaEpavqQAAAAAAKg38","ew01Dk0sWZctP-VaEpavqQAAAAAAKePq","ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG","ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq","ew01Dk0sWZctP-VaEpavqQAAAAAAePaV","ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL","ew01Dk0sWZctP-VaEpavqQAAAAAADXb2","ew01Dk0sWZctP-VaEpavqQAAAAAAgljd"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"CjP83pplY09FGl9PBMeqCg":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895829,22487599,22488317,19128052,22462004,19128023,19127329,22526546,19673252,19587368,18920557,18789740,18799034,10485923,16743,2752800,2752044,2741274,6650246,6650090,7860129,6674998,6706857,2411027,2395208],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5YV","j8DVIOTu7Btj9lgFefJ84AAAAAABVyIv","j8DVIOTu7Btj9lgFefJ84AAAAAABVyT9","j8DVIOTu7Btj9lgFefJ84AAAAAABI970","j8DVIOTu7Btj9lgFefJ84AAAAAABVr40","j8DVIOTu7Btj9lgFefJ84AAAAAABI97X","j8DVIOTu7Btj9lgFefJ84AAAAAABI9wh","j8DVIOTu7Btj9lgFefJ84AAAAAABV7pS","j8DVIOTu7Btj9lgFefJ84AAAAAABLDCk","j8DVIOTu7Btj9lgFefJ84AAAAAABKuEo","j8DVIOTu7Btj9lgFefJ84AAAAAABILRt","j8DVIOTu7Btj9lgFefJ84AAAAAABHrVs","j8DVIOTu7Btj9lgFefJ84AAAAAABHtm6","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgEg","piWSMQrh4r040D0BPNaJvwAAAAAAKf4s","piWSMQrh4r040D0BPNaJvwAAAAAAKdQa","piWSMQrh4r040D0BPNaJvwAAAAAAZXmG","piWSMQrh4r040D0BPNaJvwAAAAAAZXjq","piWSMQrh4r040D0BPNaJvwAAAAAAd--h","piWSMQrh4r040D0BPNaJvwAAAAAAZdo2","piWSMQrh4r040D0BPNaJvwAAAAAAZlap","piWSMQrh4r040D0BPNaJvwAAAAAAJMoT","piWSMQrh4r040D0BPNaJvwAAAAAAJIxI"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"SQ6jhz-Ee7WHXLMOHOsDcQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,6715099,4221812],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAZnbb","ew01Dk0sWZctP-VaEpavqQAAAAAAQGt0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"eM1ATYEKUIN4nyPylmr13A":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440021,7478164],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYaV","ew01Dk0sWZctP-VaEpavqQAAAAAAchuU"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"9vNu8RjYClbqhYYGUiWI7A":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,51380,55074,37132,20242,23612,47200,14250,1480561,1970211,1481652,1480953,2600004,1079669,52860,1480561,1970211,1481652,1480953,2600004,1079483,6166,60608,20250,65302,10604,14228,1479868,2600004,1079483,29728,14228,1479868,2600004,1069332,47952],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","ktj-IOmkEpvZJouiJkQjTg","O_h7elJSxPO7SiCsftYRZg","DxQN3aM1Ddn1lUwovx75wQ","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAMi0","U4Le8nh-beog_B7jq7uTIAAAAAAAANci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAJEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAE8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAFw8","W8AFtEsepzrJ6AasHrCttwAAAAAAALhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAADeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAM58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","kSaNXrGzSS3BnDNNWezzMAAAAAAAABgW","ne8F__HPIVgxgycJADVSzAAAAAAAAOzA","ktj-IOmkEpvZJouiJkQjTgAAAAAAAE8a","O_h7elJSxPO7SiCsftYRZgAAAAAAAP8W","DxQN3aM1Ddn1lUwovx75wQAAAAAAACls","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAAHQg","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEFEU","--q8cwZVXbHL2zOM_p3RlQAAAAAAALtQ"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,1,1,3,3,3,1]},"CU-T9AvnxmWd1TTRjgV01Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7508830,6761766,2559050],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe","9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m","9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"hoJT-ObO7MDFTgt9UeFJfg":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2822585,3001783,2924437,3111967,3095700,156159,136664,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1344317,1318852,1317318,469350,452199,518055,511351],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","9HZ7GQCC6G9fZlRD7aGzXQ","9HZ7GQCC6G9fZlRD7aGzXQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxG5","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3wf","-p9BlJh9JZMPPNjY_j92ngAAAAAALzyU","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhXY","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBnG","huWyXZbCBWCe2ZtK9BiokQAAAAAABylm","huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB813"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"us5XzJaFA8Y8a8Jhq7VWzQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7439971,6798378,6797926,6797556,2726254,449444],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0","ew01Dk0sWZctP-VaEpavqQAAAAAAKZlu","ew01Dk0sWZctP-VaEpavqQAAAAAABtuk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"tWPDa1sBMePW-YFiahrHBA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10489481,12583132,6878809,6871998,6871380,7366427,7371724,7390232,7379824,6863646,7218707,7217709,6862495,13713],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","5OhlekN4HU3KaqhG_GtinA"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J","9LzzIocepYcOjnUsLlgOjgAAAAAAwADc","9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ","9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-","9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU","9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb","9LzzIocepYcOjnUsLlgOjgAAAAAAcHvM","9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY","9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw","9LzzIocepYcOjnUsLlgOjgAAAAAAaLse","9LzzIocepYcOjnUsLlgOjgAAAAAAbiYT","9LzzIocepYcOjnUsLlgOjgAAAAAAbiIt","9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf","5OhlekN4HU3KaqhG_GtinAAAAAAAADWR"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"KKjaO47Ew4fmVCY-lBFkLg":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2823003,3007344,3001783,2924437,3112045,3104142,1417998,1456694,1456323,1393341,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1344317,1318852,1317297,1335062,1334886,452199,517552],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxNb","-p9BlJh9JZMPPNjY_j92ngAAAAAALeNw","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3xt","-p9BlJh9JZMPPNjY_j92ngAAAAAAL12O","huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD","huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBmx","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF5m","huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-Ww"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"zxyQebekMWvnWWEuWSzR9Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265873,31266293,31372635,4873273,4873930,4883062,4875761,4874468,8927681,8862916,8863227,8479623,4872825,5688954,8909549,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16807,2756288,2755416,2744627,6715329,7926130,7925524,6772762,6770749,6770671,7937674,6744271,7917830,882422,8541549],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RRR","B8JRxL079xbhqQBqGvksAgAAAAAB3RX1","B8JRxL079xbhqQBqGvksAgAAAAAB3rVb","B8JRxL079xbhqQBqGvksAgAAAAAASlw5","B8JRxL079xbhqQBqGvksAgAAAAAASl7K","B8JRxL079xbhqQBqGvksAgAAAAAASoJ2","B8JRxL079xbhqQBqGvksAgAAAAAASmXx","B8JRxL079xbhqQBqGvksAgAAAAAASmDk","B8JRxL079xbhqQBqGvksAgAAAAAAiDnB","B8JRxL079xbhqQBqGvksAgAAAAAAhzzE","B8JRxL079xbhqQBqGvksAgAAAAAAhz37","B8JRxL079xbhqQBqGvksAgAAAAAAgWOH","B8JRxL079xbhqQBqGvksAgAAAAAASlp5","B8JRxL079xbhqQBqGvksAgAAAAAAVs56","B8JRxL079xbhqQBqGvksAgAAAAAAh_Lt","B8JRxL079xbhqQBqGvksAgAAAAAAVUwE","B8JRxL079xbhqQBqGvksAgAAAAAAVATI","B8JRxL079xbhqQBqGvksAgAAAAAASsLk","B8JRxL079xbhqQBqGvksAgAAAAAASHZk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB","A2oiHVwisByxRn5RDT4LjAAAAAAAePFy","A2oiHVwisByxRn5RDT4LjAAAAAAAeO8U","A2oiHVwisByxRn5RDT4LjAAAAAAAZ1ga","A2oiHVwisByxRn5RDT4LjAAAAAAAZ1A9","A2oiHVwisByxRn5RDT4LjAAAAAAAZ0_v","A2oiHVwisByxRn5RDT4LjAAAAAAAeR6K","A2oiHVwisByxRn5RDT4LjAAAAAAAZujP","A2oiHVwisByxRn5RDT4LjAAAAAAAeNEG","A2oiHVwisByxRn5RDT4LjAAAAAAADXb2","A2oiHVwisByxRn5RDT4LjAAAAAAAglVt"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"UI-7Z494NKAWuv1FuNlxoQ":{"address_or_lines":[4652224,59049454,56939078,10401064,10401333,10401661,56939173,56937529,56937108,38310942,29802677,29803353,29746360,8752265,4268420,4265510,4264588,4297532,10488398,10493154,585663,12583132,6882905,21536,6881628,6877992,6877443,6876950,7370944,7369391,7367054,7370328,7370195,7369770,7552115,7547124,7496717,7491196,7486785,7507864,7393057,7394424,7384016,6867742,7222899,7221901,6866591,13650],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","R3YNZBiWt7Z3ZpFfTh6XyQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","R3YNZBiWt7Z3ZpFfTh6XyQ"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADhQXu","B8JRxL079xbhqQBqGvksAgAAAAADZNJG","B8JRxL079xbhqQBqGvksAgAAAAAAnrUo","B8JRxL079xbhqQBqGvksAgAAAAAAnrY1","B8JRxL079xbhqQBqGvksAgAAAAAAnrd9","B8JRxL079xbhqQBqGvksAgAAAAADZNKl","B8JRxL079xbhqQBqGvksAgAAAAADZMw5","B8JRxL079xbhqQBqGvksAgAAAAADZMqU","B8JRxL079xbhqQBqGvksAgAAAAACSJQe","B8JRxL079xbhqQBqGvksAgAAAAABxsC1","B8JRxL079xbhqQBqGvksAgAAAAABxsNZ","B8JRxL079xbhqQBqGvksAgAAAAABxeS4","B8JRxL079xbhqQBqGvksAgAAAAAAhYyJ","B8JRxL079xbhqQBqGvksAgAAAAAAQSGE","B8JRxL079xbhqQBqGvksAgAAAAAAQRYm","B8JRxL079xbhqQBqGvksAgAAAAAAQRKM","B8JRxL079xbhqQBqGvksAgAAAAAAQZM8","A2oiHVwisByxRn5RDT4LjAAAAAAAoApO","A2oiHVwisByxRn5RDT4LjAAAAAAAoBzi","A2oiHVwisByxRn5RDT4LjAAAAAAACO-_","A2oiHVwisByxRn5RDT4LjAAAAAAAwADc","A2oiHVwisByxRn5RDT4LjAAAAAAAaQZZ","R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAAFQg","A2oiHVwisByxRn5RDT4LjAAAAAAAaQFc","A2oiHVwisByxRn5RDT4LjAAAAAAAaPMo","A2oiHVwisByxRn5RDT4LjAAAAAAAaPED","A2oiHVwisByxRn5RDT4LjAAAAAAAaO8W","A2oiHVwisByxRn5RDT4LjAAAAAAAcHjA","A2oiHVwisByxRn5RDT4LjAAAAAAAcHKv","A2oiHVwisByxRn5RDT4LjAAAAAAAcGmO","A2oiHVwisByxRn5RDT4LjAAAAAAAcHZY","A2oiHVwisByxRn5RDT4LjAAAAAAAcHXT","A2oiHVwisByxRn5RDT4LjAAAAAAAcHQq","A2oiHVwisByxRn5RDT4LjAAAAAAAczxz","A2oiHVwisByxRn5RDT4LjAAAAAAAcyj0","A2oiHVwisByxRn5RDT4LjAAAAAAAcmQN","A2oiHVwisByxRn5RDT4LjAAAAAAAck58","A2oiHVwisByxRn5RDT4LjAAAAAAAcj1B","A2oiHVwisByxRn5RDT4LjAAAAAAAco-Y","A2oiHVwisByxRn5RDT4LjAAAAAAAcM8h","A2oiHVwisByxRn5RDT4LjAAAAAAAcNR4","A2oiHVwisByxRn5RDT4LjAAAAAAAcKvQ","A2oiHVwisByxRn5RDT4LjAAAAAAAaMse","A2oiHVwisByxRn5RDT4LjAAAAAAAbjZz","A2oiHVwisByxRn5RDT4LjAAAAAAAbjKN","A2oiHVwisByxRn5RDT4LjAAAAAAAaMaf","R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAADVS"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"6yHX0lcyWmly8MshBzd78Q":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,3132,30816,59306,1480561,1970211,1481652,1480953,2600004,1079483,36350,56142,27276,48820,6316,1479960,1494280,2600004,1079483,31058,15346,1479960,2600004,1079483,44156,54044,53948,63380,1479868,2600004,1079483,8496,63380,1479868,2600004,1056891,26970,28876,2143205,2040020],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","GdaBUD9IUEkKxIBryNqV2w","QU8QLoFK6ojrywKrBFfTzA","V558DAsp4yi8bwa8eYwk5Q","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","cHp4MwXaY5FCuFRuAA6tWw","-9oyoP4Jj2iRkwEezqId-g","3FRCbvQLPuJyn2B-2wELGw","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAAw8","W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","EFJHOn-GACfHXgae-R1yDAAAAAAAAI3-","GdaBUD9IUEkKxIBryNqV2wAAAAAAANtO","QU8QLoFK6ojrywKrBFfTzAAAAAAAAGqM","V558DAsp4yi8bwa8eYwk5QAAAAAAAL60","tuTnMBfyc9UiPsI0QyvErAAAAAAAABis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","cHp4MwXaY5FCuFRuAA6tWwAAAAAAAKx8","-9oyoP4Jj2iRkwEezqId-gAAAAAAANMc","3FRCbvQLPuJyn2B-2wELGwAAAAAAANK8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAACEw","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAECB7","--q8cwZVXbHL2zOM_p3RlQAAAAAAAGla","yaTrLhUSIq2WitrTHLBy3QAAAAAAAHDM","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAILPl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHyDU"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,3,3]},"uEL43HtanLRCO2rLB4ttzQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,64358,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,11986,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,51652,2573747,2594708,1091475,13186,2790352,1482889,1482415,2595076,1069851,33394,1493754,2595076,1049998,50014,45950,2995046,2994923,3072326,3072096,3066615,1917744],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","8EY5iPD5-FtlXFBTyb6lkw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","dCCKy6JoX0PADOFic8hRNQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","7RLN3PNgotUSmdQVMRTSvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","43vJVfBcAahhLMzDSC-H0g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","RRFdsCrJw1U2erb6qtrrzQ","_zH-ed4x-42m0B4z2RmcdQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","dCCKy6JoX0PADOFic8hRNQAAAAAAAC7S","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","7RLN3PNgotUSmdQVMRTSvAAAAAAAAMnE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","43vJVfBcAahhLMzDSC-H0gAAAAAAADOC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFMb","ik6PIX946fW_erE7uBJlVQAAAAAAAIJy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsr6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAWO","RRFdsCrJw1U2erb6qtrrzQAAAAAAAMNe","_zH-ed4x-42m0B4z2RmcdQAAAAAAALN-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALbNm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALbLr","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuFG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuBg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsr3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUMw"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,1,1,3,3,3,3,3,3]},"mXgK2ekWZ4qH-uHB8QaLtA":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,824,116,12,8,54,12,46,22,1091612,1804498,665668,663668,1112453,1232178,833111,2265137,2264574,2258679],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","IlUL618nbeW5Kz4uyGZLrQ","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","oN7OWDJeuc8DmI2f_earDQ","Yj7P3-Rt3nirG6apRl4A7A","pz3Evn9laHNJFMwOKIXbsw","7aaw2O1Vn7-6eR8XuUWQZQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4","IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2","Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM","pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu","7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW","G68hjsyagwq6LpWrMjDdngAAAAAAEKgc","G68hjsyagwq6LpWrMjDdngAAAAAAG4jS","G68hjsyagwq6LpWrMjDdngAAAAAACihE","G68hjsyagwq6LpWrMjDdngAAAAAACiB0","G68hjsyagwq6LpWrMjDdngAAAAAAEPmF","G68hjsyagwq6LpWrMjDdngAAAAAAEs0y","G68hjsyagwq6LpWrMjDdngAAAAAADLZX","G68hjsyagwq6LpWrMjDdngAAAAAAIpAx","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInb3"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"1twYzjHR6hCfJqQLvJ81XA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,50892,43744,57354,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1075570,17430,40768,26744,7590,63980,23014,47110,19666,47110,34306,44426,44426,44426,44426,44426,44426,44426,44334,47110,46588,46966,1670488,3072326,3072096,3066777,1745028],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","O_h7elJSxPO7SiCsftYRZg","ZLTqiSLOmv4Ej_7d8yKLmw","qLiwuFhv6DIyQ0OgaSMXCg","ka2IKJhpWbD6PA3J3v624w","e8Lb_MV93AH-OkvHPPDitg","ka2IKJhpWbD6PA3J3v624w","1vivUE5hL65442lQ9a_ylg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","ka2IKJhpWbD6PA3J3v624w","fCsVLBj60GK9Hf8VtnMcgA","ka2IKJhpWbD6PA3J3v624w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAMbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGly","kSaNXrGzSS3BnDNNWezzMAAAAAAAAEQW","ne8F__HPIVgxgycJADVSzAAAAAAAAJ9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAAGh4","O_h7elJSxPO7SiCsftYRZgAAAAAAAB2m","ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAPns","qLiwuFhv6DIyQ0OgaSMXCgAAAAAAAFnm","ka2IKJhpWbD6PA3J3v624wAAAAAAALgG","e8Lb_MV93AH-OkvHPPDitgAAAAAAAEzS","ka2IKJhpWbD6PA3J3v624wAAAAAAALgG","1vivUE5hL65442lQ9a_ylgAAAAAAAIYC","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK0u","ka2IKJhpWbD6PA3J3v624wAAAAAAALgG","fCsVLBj60GK9Hf8VtnMcgAAAAAAAALX8","ka2IKJhpWbD6PA3J3v624wAAAAAAALd2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGX1Y","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuFG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuBg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsuZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGqCE"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3]},"f-LRF9Sfj675yc68DOXczw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,56302,2790352,1482889,1482415,2595076,1079144,25326,27384,368,1760,1481694,1828960,2573747,2594708,1091475,16910,2790352,1482889,1482415,2595076,1079144,25326,27384,368,1760,1481694,1828960,2573747,2594708,1073425,16424,24340,2572553,2928589,1108138,1105869,1310238,1245752,1200236,1192099,1183786,1104144,1103499,2268402,1775000,1761295,1048342],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","cfc92_adXFZraMPGbgbcDg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","WLefmNR3IpykzCX3WWNnMw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","IvJrzqPEgeoowZySdwFq3w","vkeP2ntYyoFN0A16x9eliw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","cfc92_adXFZraMPGbgbcDgAAAAAAANvu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","WLefmNR3IpykzCX3WWNnMwAAAAAAAEIO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","IvJrzqPEgeoowZySdwFq3wAAAAAAAEAo","vkeP2ntYyoFN0A16x9eliwAAAAAAAF8U","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0EJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALK_N","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEOiq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEN_N","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAE_4e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEwI4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAElBs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEjCj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEhAq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAENkQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAENaL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxWY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_8W"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"p24lyWOwFjGMsQaWybQUMA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,36384,21728,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,0,2789627,1482889,1482415,2595076,1079485,54384,2918,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986447,1982493,1959028,1099442],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MXHCWLuAJw7Gg6T7hdrPHA","ecHSwk0KAG7gFkiYdAgIZw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAI4g","ecHSwk0KAG7gFkiYdAgIZwAAAAAAAFTg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeR0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEMay"],"type_ids":[3,3,3,3,3,3,1,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3]},"KHat1RLkyP8wPwwR1uD04A":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,40,38,174,104,68,80,38,174,104,68,60,38,174,104,68,382,38,174,104,68,24,38,174,104,68,28,38,174,104,68,0,1090933,1814182,788459,788130,1197048,1243240,1238413,1212345,1033898,429638],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","0cqvso24v07beLsmyC0nMw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","3WU6MO1xF7O0NmrHFj4y4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","x617yDiAG2Sqq3cLDkX4aA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZTmztUywGW_uHXPqWVr76w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZPAF8mJO2n0azNbxzkJ2rA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAo","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","0cqvso24v07beLsmyC0nMwAAAAAAAABQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","3WU6MO1xF7O0NmrHFj4y4AAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","x617yDiAG2Sqq3cLDkX4aAAAAAAAAAF-","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZTmztUywGW_uHXPqWVr76wAAAAAAAAAY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZPAF8mJO2n0azNbxzkJ2rAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvho","G68hjsyagwq6LpWrMjDdngAAAAAAEuWN","G68hjsyagwq6LpWrMjDdngAAAAAAEn-5","G68hjsyagwq6LpWrMjDdngAAAAAAD8aq","G68hjsyagwq6LpWrMjDdngAAAAAABo5G"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"B-OQjwP7KzSb4f6cXUL1bA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,3616,42208,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,0,2789627,1482889,1482415,2595076,1079485,50288,64358,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986405,1946637,1538878,2269465,2268402,1774938,1011120],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MXHCWLuAJw7Gg6T7hdrPHA","ecHSwk0KAG7gFkiYdAgIZw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAA4g","ecHSwk0KAG7gFkiYdAgIZwAAAAAAAKTg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAMRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAPtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk9l","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHbQN","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF3s-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIqEZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxVa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD22w"],"type_ids":[3,3,3,3,3,3,1,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3]},"kOWftL0Ttias8Z1isZi9oA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,58710,61916,19828,27444,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,12482,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,49534,2790352,1482889,1482415,2595076,1097615,37614,39672,12656,17976,49494,2722496,3251876,3237020,1748920],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SOSrvCNmbstVFKAcqHNCvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAADDC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","SOSrvCNmbstVFKAcqHNCvAAAAAAAAMF-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEL-P","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKYrA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMZ6k","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMWSc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGq-4"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,3,3,3,3]},"JzGylmBPluUmIML9XnagKw":{"address_or_lines":[2599636,1079669,2228,5922,53516,36626,36806,45836,18932,13860,58864,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,56398,58456,31408,16708,2578675,2599636,1091600,36298,2795776,1483241,1482767,2600004,1074397,56398,58456,31408,16708,2578675,2599636,1091600,46582,2795776,1483241,1482767,2600004,1073803,56398,58456,31408,16492,49494,45794,2852079,2851771,2849353,2846190,2849353,2846190,2847233,2838792],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","SD7uzoegJjRT3jYNpuQ5wQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAI_G","LF6DFcGHEMqhhhlptO_M_QAAAAAAALMM","Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAANxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY","J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAI3K","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAANxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY","J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","SD7uzoegJjRT3jYNpuQ5wQAAAAAAALX2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAANxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY","J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAALLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3IB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK1EI"],"type_ids":[3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3]},"tTw0tfSnPtZhbcyzyVHHpg":{"address_or_lines":[4622976,4423302,48950246,48930003,48929418,48931768,15219528,15219797,15220198,48932134,15224283,15224488,15224631,15220795,15220538,48932900,48934534,48924362,21171091,15443915,15441240,6695879,6686586,6688471,15292865,6927608,7025423,9353786,9296758,9312446,9317924,5671585,9381613,9295438,6263620,6258992,6257863,6068365,6003908,5935528,5054445,4702860,4711258,10485923,16743,2752800,2752044,2741274,6650246,6650083,7384662,7382442,7451553,7447772,7441688,7327025,7328392,7317984,6802313,6799580,6799223,6797958],"file_ids":["-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-SVIyCZG9IbFKK-fe2Wh4gAAAAAARoqA","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAQ36G","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6uvm","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6pzT","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6pqK","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6qO4","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6DtI","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6DxV","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6D3m","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6qUm","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6E3b","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6E6o","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6E83","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6EA7","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6D86","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6qgk","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6q6G","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6obK","-SVIyCZG9IbFKK-fe2Wh4gAAAAABQwuT","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA66fL","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA651Y","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAZivH","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAZgd6","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAZg7X","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6VnB","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAabT4","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAazMP","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjro6","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjdt2","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjhi-","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAji4k","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAVoqh","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjybt","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjdZO","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAX5NE","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAX4Ew","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAX3zH","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAXJiN","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAW5zE","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAWpGo","-SVIyCZG9IbFKK-fe2Wh4gAAAAAATR_t","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAR8KM","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAR-Na","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgEg","piWSMQrh4r040D0BPNaJvwAAAAAAKf4s","piWSMQrh4r040D0BPNaJvwAAAAAAKdQa","piWSMQrh4r040D0BPNaJvwAAAAAAZXmG","piWSMQrh4r040D0BPNaJvwAAAAAAZXjj","piWSMQrh4r040D0BPNaJvwAAAAAAcK5W","piWSMQrh4r040D0BPNaJvwAAAAAAcKWq","piWSMQrh4r040D0BPNaJvwAAAAAAcbOh","piWSMQrh4r040D0BPNaJvwAAAAAAcaTc","piWSMQrh4r040D0BPNaJvwAAAAAAcY0Y","piWSMQrh4r040D0BPNaJvwAAAAAAb80x","piWSMQrh4r040D0BPNaJvwAAAAAAb9KI","piWSMQrh4r040D0BPNaJvwAAAAAAb6ng","piWSMQrh4r040D0BPNaJvwAAAAAAZ8uJ","piWSMQrh4r040D0BPNaJvwAAAAAAZ8Dc","piWSMQrh4r040D0BPNaJvwAAAAAAZ793","piWSMQrh4r040D0BPNaJvwAAAAAAZ7qG"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"E_F-N51BcZ4iQ9oPaHFKXw":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,400,38,174,104,68,20,38,174,104,68,88,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044780,2041460,1171829,2265239,2264574,2258463,1015963,2256180],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","c-eM3dWacIPzBmA_7-OWBw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","w9AQfBE7-1YeE4mOMirPBg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAGQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","c-eM3dWacIPzBmA_7-OWBwAAAAAAAAAU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","w9AQfBE7-1YeE4mOMirPBgAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzNs","G68hjsyagwq6LpWrMjDdngAAAAAAHyZ0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAAD4Cb","G68hjsyagwq6LpWrMjDdngAAAAAAIm00"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3]},"d04G8ZHV3kYQ0ekQBw1VYQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,62806,476,36212,43828,42480,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,17614,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,41518,2790352,1482889,1482415,2595076,1076587,25326,27384,368,1592,16726,55682,2846655,2846347,2843929,2840766,2843929,2840766,2843929,2840692,1912597,3072400],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uo8E5My6tupMEt-pfV-uhA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAPVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAAHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAI10","xwuAPHgc12-8PZB3i-320gAAAAAAAKs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAETO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1h0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHS8V","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuGQ"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"I-DofAMUQgh7q14tBJcZlA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,30412,43744,6426,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1062336,60522,1844695,1847563,1481567,2595076,1079485,19388,48282,27404,1479608,1493928,2595076,1079485,63084,1479608,1493928,2595076,1079485,63346,48114,1479608,2595076,1079485,5750,41842,34364,63380,1479516,2595076,1079485,14544,63380,1479516,2595076,1056995,11370,55184,2188039,2032414,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAABka","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAAOxq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAEu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAALya","un9fLDZOLvDMO52ltZtuegAAAAAAAGsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAAPZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAABZ2","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy","7v-k2b21f_Xuf-3329jFywAAAAAAAIY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAADjQ","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAECDj","--q8cwZVXbHL2zOM_p3RlQAAAAAAACxq","yaTrLhUSIq2WitrTHLBy3QAAAAAAANeQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIWMH","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHwMe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,3,3,3]},"tGGi0acvAmmxOR5DbuF3dg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,49488,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,20126,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,12078,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1079144,65228,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1079144,28888,1480209,1827586,1940195,1986405,1946664,1775467,1749899,1745572,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N0GNsPaCLYzoFsPJWnIJtQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fq0ezjB8ddCA6Pk0BY9arQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","r1l-BTVp1g6dSvPPoOY_cg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAE6e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N0GNsPaCLYzoFsPJWnIJtQAAAAAAAC8u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","fq0ezjB8ddCA6Pk0BY9arQAAAAAAAP7M","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","r1l-BTVp1g6dSvPPoOY_cgAAAAAAAHDY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZrj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk9l","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHbQo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxdr","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGrOL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGqKk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3]},"Ws9TqFMz-kHv_-7zrBFdKw":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,188,38,174,104,68,60,38,174,104,68,98,38,174,104,68,8,38,174,104,68,36,38,174,104,14,32,166,1090933,19429,41240,50286],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","IcegEVkl4JzbMBhUeMqp0Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","tz0ps4QDYR1clO_q5ziJUQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M0gS5SrmklEEjlV4jbSIBA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","k5C4r96b77lEZ_fHFwCYkQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","EX9l-cE0x8X9W8uz4iKUfw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAAC8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","IcegEVkl4JzbMBhUeMqp0QAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","tz0ps4QDYR1clO_q5ziJUQAAAAAAAABi","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M0gS5SrmklEEjlV4jbSIBAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","k5C4r96b77lEZ_fHFwCYkQAAAAAAAAAk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","EX9l-cE0x8X9W8uz4iKUfwAAAAAAAEvl","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMRu"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"nBHRVpYV5wUL_UAb5ff6Zg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,33826,49772,35602,22316,60128,28682,1480209,1969795,1481300,1480601,2595076,1079144,51020,1480209,1969795,1481300,1480601,2595076,1062336,53402,1844695,1847563,1481567,2595076,1079485,35772,40874,43788,1479608,1493928,2595076,1079485,13932,1479608,1493928,2595076,1079485,63346,48114,1479608,2595076,1079485,1990,41842,34364,63380,1479516,2595076,1079485,8256,63380,1479516,2595076,1073749,4896,39178,32948,3149429,3144768,1903783,1765444,1761295,1048797],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","wXOyVgf5_nNg6CUH5kFBbg","zEgDK4qMawUAQZjg5YHyww","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAFcs","W8AFtEsepzrJ6AasHrCttwAAAAAAAOrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAHAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAMdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAANCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAJ-q","un9fLDZOLvDMO52ltZtuegAAAAAAAKsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAADZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAAAfG","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy","7v-k2b21f_Xuf-3329jFywAAAAAAAIY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAACBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAABMg","wXOyVgf5_nNg6CUH5kFBbgAAAAAAAJkK","zEgDK4qMawUAQZjg5YHywwAAAAAAAIC0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMA51","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAL_xA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHQyn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGvBE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEADd"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,1,3,3,3,3,3,3]},"vfw5EN0FEHQCAj0w-N2avQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,17004,2834,5462,8668,3444,60212,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,24902,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,21798,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,62098,2789627,1482889,1482415,2595076,1073425,9228,2567913,1848405,1837592,1848017,2712905,2221838,2208668,2039344],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","780bLUPADqfQ3x1T5lnVOg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","X0TUmWpd8saA6nnPGQi3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS","grZNsSElR5ITq8H2yHCNSwAAAAAAABVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAACHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAA10","xwuAPHgc12-8PZB3i-320gAAAAAAAOs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAGFG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","780bLUPADqfQ3x1T5lnVOgAAAAAAAFUm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","X0TUmWpd8saA6nnPGQi3nQAAAAAAAPKS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","Npep8JfxWDWZ3roJSD7jPgAAAAAAACQM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDLR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKWVJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIecO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIbOc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHx4w"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,3]},"lyeLQDjWsQDYEJbcY4aFJA":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,51380,55074,37132,20242,15420,47200,6058,1480561,1970211,1481652,1480953,2600004,1079669,52860,1480561,1970211,1481652,1480953,2600004,1062448,62522,1845095,1847963,1481919,2600004,1079483,44204,61562,19788,1479960,1494280,2600004,1079483,22700,1479960,1494280,2600004,1079483,31058,15346,1479960,2600004,1079483,54374,42194,5116,30612,1479868,2600004,1079483,16608,30612,1479868,2600004,1074397,28580,3123760,766784,10485923,16807,2741468,2828042,2817657,2760130,2759130,4216293],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","-T5rZCijT5TDJjmoEi8Kxg","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ","xLxcEbwnZ5oNrk99ZsxcSQ","Z_CHd3Zjsh2cWE2NSdbiNQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAMi0","U4Le8nh-beog_B7jq7uTIAAAAAAAANci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAJEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAE8S","grZNsSElR5ITq8H2yHCNSwAAAAAAADw8","W8AFtEsepzrJ6AasHrCttwAAAAAAALhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAM58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEDYw","kSaNXrGzSS3BnDNNWezzMAAAAAAAAPQ6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHCdn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDKb","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAKys","MYrgKQIxdDhr1gdpucfc-QAAAAAAAPB6","un9fLDZOLvDMO52ltZtuegAAAAAAAE1M","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","tuTnMBfyc9UiPsI0QyvErAAAAAAAAFis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","rTFMSHhLRlj86vHPR06zoQAAAAAAANRm","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKTS","-T5rZCijT5TDJjmoEi8KxgAAAAAAABP8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAAEDg","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","--q8cwZVXbHL2zOM_p3RlQAAAAAAAG-k","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAL6ow","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7NA","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc","ew01Dk0sWZctP-VaEpavqQAAAAAAKycK","ew01Dk0sWZctP-VaEpavqQAAAAAAKv55","ew01Dk0sWZctP-VaEpavqQAAAAAAKh3C","ew01Dk0sWZctP-VaEpavqQAAAAAAKhna","ew01Dk0sWZctP-VaEpavqQAAAAAAQFXl"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,3,3,4,4,4,4,4,4,4,4]},"cqzgaW0F-6gZ8uHz_Pf3hQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,188,38,174,104,68,60,38,174,104,68,86,38,174,104,68,4,38,174,104,68,0,38,174,104,68,0,714,34,1115045,1179023,833111,2265137,2264574,2261229,1175338],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","IcegEVkl4JzbMBhUeMqp0Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","tz0ps4QDYR1clO_q5ziJUQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","O2RGJIowquMzuET0HYQ6aQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","Ht79I_xqXv3bOgaClTNQ4w","T8-enlAkCZXqinPHW4B8sw","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAAC8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","IcegEVkl4JzbMBhUeMqp0QAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","tz0ps4QDYR1clO_q5ziJUQAAAAAAAABW","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","O2RGJIowquMzuET0HYQ6aQAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","Ht79I_xqXv3bOgaClTNQ4wAAAAAAAALK","T8-enlAkCZXqinPHW4B8swAAAAAAAAAi","G68hjsyagwq6LpWrMjDdngAAAAAAEQOl","G68hjsyagwq6LpWrMjDdngAAAAAAEf2P","G68hjsyagwq6LpWrMjDdngAAAAAADLZX","G68hjsyagwq6LpWrMjDdngAAAAAAIpAx","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAIoDt","G68hjsyagwq6LpWrMjDdngAAAAAAEe8q"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3]},"b89Eo7vMfG4HsPSBVvjiKQ":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,31334,49372,51700,46628,9712,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,12612,2578675,2599636,1091600,32150,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,12612,2578675,2599636,1091600,7938,2795051,1483241,1482767,2600004,1079483,28112,42150,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,12612,2578675,2599636,1079669,40672,1482046,1829360,2586325,1480953,1480561,1940968,1986911,1983192],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","3HhVgGD2yvuFLpoZq7RfKw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fDiQPd_MeGeyY9ZBOSU1Gg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAHpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAMDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAMn0","xwuAPHgc12-8PZB3i-320gAAAAAAALYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAH2W","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","3HhVgGD2yvuFLpoZq7RfKwAAAAAAAB8C","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAG3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAKSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","fDiQPd_MeGeyY9ZBOSU1GgAAAAAAAJ7g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHkLY"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3]},"5_-zAnLDYAi4FySmVgS6iw":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,61666,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,9122,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,8610,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,11838,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1079144,61238,1481694,1828960,2581297,2595076,1072525,49410,1646337,3072295,1865241,10489950,422647],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mP9Tk3T74fjOyYWKUaqdMQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","I4X8AC1-B0GuL4JyYemPzw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","b-3iFnlA7BmzAxDEzxShdA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","8jcOoolAg5RmmHop7NqzWQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2LABj1asXFICsosP2OrbVQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N1ZmsCOKFJHNThnHfFYo6Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","mP9Tk3T74fjOyYWKUaqdMQAAAAAAAPDi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","I4X8AC1-B0GuL4JyYemPzwAAAAAAACOi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","b-3iFnlA7BmzAxDEzxShdAAAAAAAACGi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","8jcOoolAg5RmmHop7NqzWQAAAAAAAC4-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","2LABj1asXFICsosP2OrbVQAAAAAAAO82","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEF2N","N1ZmsCOKFJHNThnHfFYo6QAAAAAAAMEC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGR8B","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuEn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe","A2oiHVwisByxRn5RDT4LjAAAAAAABnL3"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,4,4]},"zOI_cRK31hVrh4Typ0-Fxg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,16720,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,60990,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,44846,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,40354,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1079144,48884,1481694,1828960,2581397,1480601,1480209,1940568,1986405,1948474,1768216,1756070,1865241,10490014,423063,2283967,2281647,2098628,2098378,8541549],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N0GNsPaCLYzoFsPJWnIJtQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fq0ezjB8ddCA6Pk0BY9arQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-gDCCFjiBc58_iqAxti3Kw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAO4-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fq0ezjB8ddCA6Pk0BY9arQAAAAAAAJ2i","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","-gDCCFjiBc58_iqAxti3KwAAAAAAAL70","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk9l","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHbs6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGvsY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGsum","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAItCv","A2oiHVwisByxRn5RDT4LjAAAAAAAIAXE","A2oiHVwisByxRn5RDT4LjAAAAAAAIATK","A2oiHVwisByxRn5RDT4LjAAAAAAAglVt"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"4U9ayDnwvWmqJPhn_AOKew":{"address_or_lines":[38782,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,50350,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,10266,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,31478,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,4998,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986447,1982493,1959065,1765336,1761295,1048381],"file_ids":["GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","d4jl580PLMUwu5s3I4wcXg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","tKago5vqLnwIkezk_wTBpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rpq4cV1KPyFZcnKfWjKdZw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uFElJcsK9my-kA6ZYzT1uw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["GP7h96O0_ppGVtc-UpQQIQAAAAAAAJd-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","d4jl580PLMUwu5s3I4wcXgAAAAAAAMSu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","tKago5vqLnwIkezk_wTBpQAAAAAAACga","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","rpq4cV1KPyFZcnKfWjKdZwAAAAAAAHr2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uFElJcsK9my-kA6ZYzT1uwAAAAAAABOG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGu_Y","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_89"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3]},"Jt6CexOHLEwUl4IeTgASBQ":{"address_or_lines":[2795051,1483241,1482767,2600004,1079483,64976,13478,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1091600,57670,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1091600,51706,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1091600,59680,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1079669,0,1482046,1829360,2586325,1481195,1480561,1940968,1917658,1481652,1480953,2600004,1079483,41394,1480124,1827986,1940595,1986911,1983184],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","yp8MidCGMe4czbl-NigsYQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2noK4QoWxdzASRHkjOFwVA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","yO-OCNRiISNdCb_iVi4E_w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","mBpjyQvq6ftE7Wm1BUpcFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAP3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAADSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","yp8MidCGMe4czbl-NigsYQAAAAAAAOFG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2noK4QoWxdzASRHkjOFwVAAAAAAAAMn6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","yO-OCNRiISNdCb_iVi4E_wAAAAAAAOkg","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpnr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAKGy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpW8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-SS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZxz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHkLQ"],"type_ids":[3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3]},"8Rif7kuKG2cfhEYF2fJXmA":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,45806,47864,20848,34524,2573747,2594708,1091475,18066,2790352,1482889,1482415,2595076,1073749,45806,47864,20848,34524,2573747,2594708,1091475,53890,2789627,1482889,1482415,2595076,1073425,41996,2567913,1848405,1837592,1847724,1483518,1482415,2595076,1079144,6526,35438,63996,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,45806,47864,20848,34524,2573747,2594708,1091475,48638,2790352,1482889,1482415,2595076,1079485,45806,47864,20848,32520,56166,1479516,1828960,2573747,2594708,1091475,0,2789548,1848405,1837592,1848026,1002720],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2L4SW1rQgEVXRj3pZAI3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","bcwppGWOjTWw86zVNJE_Jg","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","NiCfOMPggzUjx-usqlmxvg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","Vot4T3F5OpUj8rbXhgpMDg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEaS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAANKC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","Npep8JfxWDWZ3roJSD7jPgAAAAAAAKQM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDGs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqL-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","bcwppGWOjTWw86zVNJE_JgAAAAAAABl-","TBeSzkyqIwKL8td602zDjAAAAAAAAIpu","NH3zvSjFAfTSy6bEocpNyQAAAAAAAPn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","NiCfOMPggzUjx-usqlmxvgAAAAAAAL3-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","Vot4T3F5OpUj8rbXhgpMDgAAAAAAAH8I","eV_m28NnKeeTL60KO2H3SAAAAAAAANtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpCs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDLa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD0zg"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3]},"cCjn5miDmyezrnBAe2jDww":{"address_or_lines":[1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,46938,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,15022,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,57678,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,1870,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1079669,19486,1482046,1829360,2586325,1480953,1480561,1940968,1986928],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","5nuRo5ZVtij8bTLlri7QXA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","hi5mlwAHRj-Yl1GNV_UEZQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","uSWUCgHgLPG4OFtPdUp0rg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","-BjW54fwMksXBor9R-YN9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","wuSmWRANn3Cl-syjEtxMoQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","5nuRo5ZVtij8bTLlri7QXAAAAAAAALda","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","hi5mlwAHRj-Yl1GNV_UEZQAAAAAAADqu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","uSWUCgHgLPG4OFtPdUp0rgAAAAAAAOFO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","-BjW54fwMksXBor9R-YN9wAAAAAAAAdO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","wuSmWRANn3Cl-syjEtxMoQAAAAAAAEwe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFw"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3]},"f8AFYpSQOpjCNbhqUuR3Rg":{"address_or_lines":[2578675,2599636,1091600,13686,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,50302,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,31414,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,43062,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,38710,2795776,1483241,1482767,2600004,1079483,31822,33880,6648,14264,54464,42150,1479868,1829983,2783616,2800188,3063028,4240,5748,1213299,4101,76200,1213299,77886,46784,40082,37650],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","pv4wAezdMMO0SVuGgaEMTg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","qns5vQ3LMi6QrIMOgD_TwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","J_Lkq1OzUHxWQhnTgF6FwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","rEbhXoMLMee0rf6bwU9RPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","rBzW547V0L_mH4nnWK1FUQ","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","pv4wAezdMMO0SVuGgaEMTgAAAAAAADV2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAMR-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAHq2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAAKg2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","rEbhXoMLMee0rf6bwU9RPwAAAAAAAJc2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABn4","0S3htaCNkzxOYeavDR1GTQAAAAAAADe4","rBzW547V0L_mH4nnWK1FUQAAAAAAANTA","eV_m28NnKeeTL60KO2H3SAAAAAAAAKSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKnmA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKro8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALrz0","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAATA-","3nN3bymnZ8E42aLEtgglmAAAAAAAALbA","3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS","3nN3bymnZ8E42aLEtgglmAAAAAAAAJMS"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"dGMvgpGXk-ajX6PRi92qdg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,17442,33388,19218,62806,476,52596,11060,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,16746,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,23102,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,0,2789627,1482889,1482415,2595076,1079485,13424,27494,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1592,33110,55262,3227220,1488310,1480209,1940568,3236384],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","z1-LQiSwGmfJHZm7Q223fQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAPVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAAHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAM10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAEFq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","z1-LQiSwGmfJHZm7Q223fQAAAAAAAFo-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAANfe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMT5U","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFrW2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMWIg"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3]},"OxrG9ZVAzX9GwGtxUtIQNg":{"address_or_lines":[51762,2795051,1483241,1482767,2600004,1079483,36304,50342,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,49476,2578675,2599636,1091600,64822,2795051,1483241,1482767,2600004,1079483,36304,50342,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,49476,2578675,2599636,1091600,45750,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,49476,2578675,2599636,1091600,58410,2795776,1483241,1482767,2600004,1073803,40014,42072,15024,49260,33110,13026,2852079,2851771,2849353,2846190,2849353,2846190,2849408,2846190,2848321,2268450,1775400,1761695,1048471],"file_ids":["xDXQtI2vA5YySwpx7QFiwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fSQ747oLNh0c0zFQjsVRWg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","yp8MidCGMe4czbl-NigsYQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2noK4QoWxdzASRHkjOFwVA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xDXQtI2vA5YySwpx7QFiwAAAAAAAAMoy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fSQ747oLNh0c0zFQjsVRWgAAAAAAAP02","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","yp8MidCGMe4czbl-NigsYQAAAAAAALK2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2noK4QoWxdzASRHkjOFwVAAAAAAAAOQq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAADLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3qA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3ZB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIp0i","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGxco","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGuGf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAD_-X"],"type_ids":[1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3]},"QoW8uF5K3OBNL2DXI66leA":{"address_or_lines":[1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,44118,2789627,1482889,1482415,2595076,1079485,54384,2918,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,32266,2789627,1482889,1482415,2595076,1079485,54384,2918,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,0,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986447,1982493,1959065,1765320],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Z-J8GEZK5aE8XNQ-3sO-Fg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","H-OlnUNurKAlPjkWfV0hTg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","Z-J8GEZK5aE8XNQ-3sO-FgAAAAAAAKxW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","H-OlnUNurKAlPjkWfV0hTgAAAAAAAH4K","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGu_I"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3]},"zV-93oQDbZK9zB7UMAcCmw":{"address_or_lines":[1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1091475,38166,2790352,1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1091475,63374,2790352,1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1091475,12690,2790352,1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1062336,11500,1844695,1837592,1847724,1483518,1482415,2595076,1079144,40398,15390,8700,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1079485,41710,43252,52070,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1072909,41710,43768,16752,18098,34934,1898256],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","pv4wAezdMMO0SVuGgaEMTg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","qns5vQ3LMi6QrIMOgD_TwQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J_Lkq1OzUHxWQhnTgF6FwA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","hrIwGgdEFsOBluJKOOs8Zg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","jhRfowFriqBKJWhZSTe7kg","B0e_Spx899MeGx2KSvzzow","v1UMuiFodNtdRCNi4iF0Rg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","yzJdtc2TQHpJ_IY5QdUQKA","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","pv4wAezdMMO0SVuGgaEMTgAAAAAAAJUW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAPeO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAADGS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","hrIwGgdEFsOBluJKOOs8ZgAAAAAAACzs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDGs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqL-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","jhRfowFriqBKJWhZSTe7kgAAAAAAAJ3O","B0e_Spx899MeGx2KSvzzowAAAAAAADwe","v1UMuiFodNtdRCNi4iF0RgAAAAAAACH8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAMtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEF8N","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEay","yzJdtc2TQHpJ_IY5QdUQKAAAAAAAAIh2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHPcQ"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,3]},"9CQVJEfCfL1rSnUaxlAfqg":{"address_or_lines":[1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,27398,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,2830,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,16862,2789627,1482889,1482415,2595076,1079485,9328,23398,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1079144,7050,1481694,1828960,2581297,2595076,1079144,21502,39750,29852,29250,6740,37336,26240,24712,1480209,1940568,1934986,1933934,3072096,3066615,1918105,1787434,3064390],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VuJFonCXevADcEDW6NVbKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VFBd9VqCaQu0ZzjQ2K3pjg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PUSucJs4FC_WdMzOyH3QYw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","q_M8ZB6aihtZKYZfHGkluQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MAFaasFcVIeoQsejXrnp0w","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","zpgqltXEgKujOhJUj-jAhg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VuJFonCXevADcEDW6NVbKgAAAAAAAGsG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PUSucJs4FC_WdMzOyH3QYwAAAAAAAEHe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAACRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","q_M8ZB6aihtZKYZfHGkluQAAAAAAABuK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","MAFaasFcVIeoQsejXrnp0wAAAAAAAFP-","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAGaA","zpgqltXEgKujOhJUj-jAhgAAAAAAAGCI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHYaK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHYJu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuBg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsr3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG0Yq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsJG"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3]},"mGGvLNOYB74ofk9FRrMxxQ":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,35918,37976,10928,49476,2578675,2599636,1091600,17196,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,49476,2578675,2599636,1091600,38014,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,49476,2578675,2599636,1091600,62622,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1073803,35918,37976,10928,49260,33110,13026,2852079,2851771,2849353,2846190,2849443,2846638,1439925,1865540],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ihsoi5zicXHpPrWRA9bTnA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","HbU9j_4D3UaJfjASj-JljA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","awUBhCYYZvWyN4rrVw-u5A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","ihsoi5zicXHpPrWRA9bTnAAAAAAAAEMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","HbU9j_4D3UaJfjASj-JljAAAAAAAAJR-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","awUBhCYYZvWyN4rrVw-u5AAAAAAAAPSe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAADLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3qj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2-u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFfi1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHdE"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3]},"pnLCuJVNeqGwwFeJQIrkPw":{"address_or_lines":[2795776,1483241,1482767,2600004,1079483,52302,53844,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1079483,52302,53844,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,24900,2578675,2599636,1091600,63066,2795051,1483241,1482767,2600004,1079483,48592,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,24900,2578675,2599636,1091600,62622,2795051,1483241,1482767,2600004,1079483,48592,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,24900,2578675,2599636,1079669,27496,1482046,1829360,2586325,1480953,1480561,1940968,1986911,1982943],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","akZOzI9XwsEixvkTDGeDPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","d1LNRHMzWQ5PvB10hYiN3g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PmkUsVBZlaSEgaFwCOKZlg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","akZOzI9XwsEixvkTDGeDPwAAAAAAAPZa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAL3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","d1LNRHMzWQ5PvB10hYiN3gAAAAAAAPSe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAL3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","PmkUsVBZlaSEgaFwCOKZlgAAAAAAAGto","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHkHf"],"type_ids":[3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3]},"R77Zz6fBvENVXyt4GVb9dQ":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,94,6,108,36,24,4,28,693765,935741],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","VIK6i3XoO6nxn9WkNabugA","SGPpASrxkViIc4Sq7x-WYQ","9xG1GRY3A4PQMfXDNvrOxQ","4xH83ZXxs_KV95Ur8Z59WQ","PWlQ4X4jsNu5q7FFJqlo_Q","LSxiso_u1cO_pWDBw25Egg","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAABe","VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG","SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs","9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAk","4xH83ZXxs_KV95Ur8Z59WQAAAAAAAAAY","PWlQ4X4jsNu5q7FFJqlo_QAAAAAAAAAE","LSxiso_u1cO_pWDBw25EggAAAAAAAAAc","G68hjsyagwq6LpWrMjDdngAAAAAACpYF","G68hjsyagwq6LpWrMjDdngAAAAAADkc9"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3]},"tgL-t2GJJjItpLjnwjc4zQ":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,40902,49932,35316,46628,9712,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20804,2578675,2599636,1091600,40322,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20804,2578675,2599636,1091600,6862,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20804,2578675,2599636,1091600,45714,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20588,33110,49802,19187,41240,51007],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","780bLUPADqfQ3x1T5lnVOg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","f3fxdcTCg7rbloZ6VtA0_Q","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAJ_G","LF6DFcGHEMqhhhlptO_M_QAAAAAAAMMM","Af6E3BeG383JVVbu67NJ0QAAAAAAAIn0","xwuAPHgc12-8PZB3i-320gAAAAAAALYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAJ2C","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","780bLUPADqfQ3x1T5lnVOgAAAAAAABrO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","f3fxdcTCg7rbloZ6VtA0_QAAAAAAALKS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMc_"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"XNCSlgkv_bOXDIYn6zwekw":{"address_or_lines":[2578675,2599636,1091600,10822,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,45380,2578675,2599636,1091600,40982,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,45380,2578675,2599636,1091600,6678,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,45380,2578675,2599636,1074067,39072,35338,13252,2577481,2934013,1108250,1105981,1310350,1245864,1200348,1190613,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165561,1146206,1245475,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165783,1162744,1226823,1225457,1224431,1198830,1177316,1176308,1173405,1172510,1172373,1102592],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","uU7rISh8R_xr6YYB3RgLuA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","vQQdLrWHLywJs9twt3EH2Q","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PUIH740KQXWx70DXM4ZvgQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","dsOcslker2-lnNTIC5yERA","zUlsQG278t98_u2KV_JLSQ","vkeP2ntYyoFN0A16x9eliw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","uU7rISh8R_xr6YYB3RgLuAAAAAAAACpG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","vQQdLrWHLywJs9twt3EH2QAAAAAAAKAW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","PUIH740KQXWx70DXM4ZvgQAAAAAAABoW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGOT","dsOcslker2-lnNTIC5yERAAAAAAAAJig","zUlsQG278t98_u2KV_JLSQAAAAAAAIoK","vkeP2ntYyoFN0A16x9eliwAAAAAAADPE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1RJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALMT9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOA9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAE_6O","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwKo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAElDc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEirV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEX1e","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwEj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcnX","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEb34","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErhH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErLx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEq7v","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeQe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeOV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAENMA"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"jPN_jNGPJguImYjakYlBcA":{"address_or_lines":[19534,21592,60080,53572,2578675,2599636,1091600,12394,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,53572,2578675,2599636,1091600,39546,2795776,1483241,1482767,2600004,1079669,19534,21418,26368,41208,8202,42532,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,55198,34238,39164,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,53572,2578675,2599636,1091600,33554,2795776,1483241,1482767,2600004,1073803,19534,21592,60080,53356,33110,17122,2852079,2851771,2849353,2846190,2849353,2846190,2849353,2846190,2845695,2033924,2033070,1865524],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2L4SW1rQgEVXRj3pZAI3nQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7bd6QJSfWZZfOOpDMHqLMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2L4SW1rQgEVXRj3pZAI3nQAAAAAAADBq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAJp6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4","h0l-9tGi18mC40qpcJbyDwAAAAAAACAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAANee","TBeSzkyqIwKL8td602zDjAAAAAAAAIW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAAIMS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAELi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2v_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHwkE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHwWu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHc0"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3]},"4K-SlZ4j8NjsVBpqyPj2dw":{"address_or_lines":[1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,6714,2790352,1482889,1482415,2595076,1079144,29422,31306,36256,31544,18122,5412,1481694,1829583,2567913,1848405,1978470,1481567,1493928,2595076,1079144,54286,19054,47612,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,60034,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,64446,2790352,1482889,1482415,2595076,1079485,29422,31480,4280,11896,52064,39782,1479516,1829583,2778192,2794764,3057572,4240,5748,1213299,4101,76200,1213299,77886,46784,40082,37750],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","7bd6QJSfWZZfOOpDMHqLMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J3wpF3Lf_vPkis4aNGKFbw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zo4mnjDJ1PlZka7jS9k2BA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","rBzW547V0L_mH4nnWK1FUQ","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","7bd6QJSfWZZfOOpDMHqLMAAAAAAAABo6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4","h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHjBm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO","TBeSzkyqIwKL8td602zDjAAAAAAAAEpu","NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","J3wpF3Lf_vPkis4aNGKFbwAAAAAAAOqC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPu-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABC4","0S3htaCNkzxOYeavDR1GTQAAAAAAAC54","rBzW547V0L_mH4nnWK1FUQAAAAAAAMtg","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKmRQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKqUM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALqek","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAATA-","3nN3bymnZ8E42aLEtgglmAAAAAAAALbA","3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS","3nN3bymnZ8E42aLEtgglmAAAAAAAAJN2"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"W8IRlEZMfFJdYSgUQXDnMg":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,72,38,174,104,68,88,38,174,104,68,124,38,38,10,38,174,104,68,72,38,174,104,68,120,38,174,104,68,276,6,108,20,50,50,2970,50,2970,50,1360,24,788130,1197115,1222867,1212996,1212720],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qkYSh95E1urNTie_gKbr7w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","V8ldXm9NGXsJ182jEHEsUw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xVaa0cBWNcFeS-8zFezQgA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","UBINlIxj95Sa_x2_k5IddA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gRRk0W_9P4SGZLXFJ5KU8Q","VIK6i3XoO6nxn9WkNabugA","SGPpASrxkViIc4Sq7x-WYQ","9xG1GRY3A4PQMfXDNvrOxQ","cbxfeE2AkqKne6oKUxdB6g","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","iLW1ehST1pGQ3S8RoqM9Qg","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qkYSh95E1urNTie_gKbr7wAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAEU","VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG","SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs","9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU","cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAVQ","iLW1ehST1pGQ3S8RoqM9QgAAAAAAAAAY","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkQ7","G68hjsyagwq6LpWrMjDdngAAAAAAEqjT","G68hjsyagwq6LpWrMjDdngAAAAAAEoJE","G68hjsyagwq6LpWrMjDdngAAAAAAEoEw"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3]},"qytuJG9brvKSB9NJCHV9fQ":{"address_or_lines":[1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,53572,2578675,2599636,1091600,45506,2795051,1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,53572,2578675,2599636,1091600,10626,2795051,1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,53572,2578675,2599636,1091600,54118,2795776,1483241,1482767,2600004,1073803,23630,25688,64176,53356,16726,17122,2852079,2851771,2849353,2846190,2849353,2846190,2849762,2846638,1439925,1865641,10490014,423063,2284223,2281903,2098884,2098647,2097658],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","9NWoah56eYULAP_zGE9Puw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","IKrIDHd5n47PpDQsRXxvvg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oG7568kMJujZxPJfj7VMjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","9NWoah56eYULAP_zGE9PuwAAAAAAALHC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","IKrIDHd5n47PpDQsRXxvvgAAAAAAACmC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","oG7568kMJujZxPJfj7VMjAAAAAAAANNm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAELi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3vi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2-u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFfi1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHep","ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe","ew01Dk0sWZctP-VaEpavqQAAAAAABnSX","ew01Dk0sWZctP-VaEpavqQAAAAAAItq_","ew01Dk0sWZctP-VaEpavqQAAAAAAItGv","ew01Dk0sWZctP-VaEpavqQAAAAAAIAbE","ew01Dk0sWZctP-VaEpavqQAAAAAAIAXX","ew01Dk0sWZctP-VaEpavqQAAAAAAIAH6"],"type_ids":[3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"b116myovN7_XXb1AVLPH0g":{"address_or_lines":[1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,21010,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,32886,2790352,1482889,1482415,2595076,1079485,25326,26868,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,8770,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52386,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1097633,38284,39750,58524,57922,35412,472,59182,472,59182,472,59182,472,59182,472,55416,2915906,959782,10485923,16807,2315878,2315735,2315122,2305825,2551628],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAAFIS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAIB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAMyi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEL-h","MsEmysGbXhMvgdbwhcZDCgAAAAAAAJWM","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAOSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAOJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAIpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAANh4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALH5C","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADqUm","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAI1Zm","A2oiHVwisByxRn5RDT4LjAAAAAAAI1XX","A2oiHVwisByxRn5RDT4LjAAAAAAAI1Ny","A2oiHVwisByxRn5RDT4LjAAAAAAAIy8h","A2oiHVwisByxRn5RDT4LjAAAAAAAJu9M"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,4,4,4,4,4,4,4]},"dNwgDmnCM1dIIF5EZm4ZgA":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,132,38,174,104,68,16,38,38,10,38,174,104,68,4,38,174,104,68,8,38,38,10,38,38,10,38,174,104,68,16,140,10,38,174,104,68,20,140,10,38,174,104,68,92,1090933,1814182,788459,788130,1197048,1243240,1238413,1212345,1033898,428752],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iwnHqwtnoHjA-XW01rxhpw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","53nvYhJfd2eJh-qREaeFBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zwRZ32H5_95LpRJHzXkqVA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","JJab8JrsPDK66yfOtCG3zQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1XUiDryPjyncBxkTlbVecg","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","OIy8IFqaTWz5UoN3FSH-wQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iwnHqwtnoHjA-XW01rxhpwAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","53nvYhJfd2eJh-qREaeFBQAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zwRZ32H5_95LpRJHzXkqVAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","JJab8JrsPDK66yfOtCG3zQAAAAAAAAAQ","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1XUiDryPjyncBxkTlbVecgAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","OIy8IFqaTWz5UoN3FSH-wQAAAAAAAABc","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvho","G68hjsyagwq6LpWrMjDdngAAAAAAEuWN","G68hjsyagwq6LpWrMjDdngAAAAAAEn-5","G68hjsyagwq6LpWrMjDdngAAAAAAD8aq","G68hjsyagwq6LpWrMjDdngAAAAAABorQ"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"KEdXtWOmrUdpIHsjndtg_A":{"address_or_lines":[13038,15096,53616,1756,2573747,2594708,1091475,37514,2789627,1482889,1482415,2595076,1079485,9328,23398,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,33834,2790352,1482889,1482415,2595076,1079144,13038,14922,19872,15160,1738,54564,1481694,1829583,2567913,1848405,1978470,1481567,1493928,2595076,1079144,37902,2670,31228,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,20530,2790352,1482889,1482415,2595076,1076587,13038,15096,53616,1592,16726,2434,2846655,2846347,2843929,2840766,2843929,2840766,2844278,2841214,1439429,1865241,10489950,423063,2283967,2281306,2510155,2414579,2398792,2385273,8471622],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2L4SW1rQgEVXRj3pZAI3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","7bd6QJSfWZZfOOpDMHqLMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J3wpF3Lf_vPkis4aNGKFbw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAJKK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAACRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAIQq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAE2g","8R2Lkqe-tYqq-plJ22QNzAAAAAAAADs4","h0l-9tGi18mC40qpcJbyDwAAAAAAAAbK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAANUk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHjBm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","705jmHYNd7I4Z4L4c0vfiAAAAAAAAJQO","TBeSzkyqIwKL8td602zDjAAAAAAAAApu","NH3zvSjFAfTSy6bEocpNyQAAAAAAAHn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","J3wpF3Lf_vPkis4aNGKFbwAAAAAAAFAy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAAmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2Z2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a","A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L","A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz","A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI","A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5","A2oiHVwisByxRn5RDT4LjAAAAAAAgURG"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"V2K_ZjA6rol7KyINtV45_A":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,24,140,10,38,174,104,68,178,1090933,1814182,788459,788130,1197048,1243204,1201241,1245991,1245236,1171829,2265239,2264574,2258463,922614,2256180],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","-gq3a70QOgdn9HetYyf2Og","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","-gq3a70QOgdn9HetYyf2OgAAAAAAAACy","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvhE","G68hjsyagwq6LpWrMjDdngAAAAAAElRZ","G68hjsyagwq6LpWrMjDdngAAAAAAEwMn","G68hjsyagwq6LpWrMjDdngAAAAAAEwA0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAADhP2","G68hjsyagwq6LpWrMjDdngAAAAAAIm00"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEVjp":{"file_name":[],"function_name":["__x64_sys_nanosleep"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEPyZ":{"file_name":[],"function_name":["get_timespec64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAASf5k":{"file_name":[],"function_name":["_copy_from_user"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEqRj":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEpne":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKpz6":{"file_name":[],"function_name":["pipe_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAASkaN":{"file_name":[],"function_name":["copy_page_to_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAShYf":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAL1uY":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAL1DP":{"file_name":[],"function_name":["ep_insert"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEFz":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv-O":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAL10T":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgiGX":{"file_name":[],"function_name":["__mutex_lock.isra.7"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADkms":{"file_name":[],"function_name":["mutex_spin_on_owner"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEH6":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAD_e":{"file_name":[],"function_name":["syscall_slow_exit_work"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAFX1-":{"file_name":[],"function_name":["__audit_syscall_exit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv1p":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKhyy":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKhiZ":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJwne":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKMb4":{"file_name":[],"function_name":["memcg_kmem_get_cache"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg38":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKePq":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAePaV":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL":{"file_name":[],"function_name":["sock_def_readable"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADXb2":{"file_name":[],"function_name":["__wake_up_common_lock"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgljd":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgEg":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKf4s":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKdQa":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAd--h":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZdo2":{"file_name":[],"function_name":["sock_alloc_send_pskb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZlap":{"file_name":[],"function_name":["alloc_skb_with_frags"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJMoT":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJIxI":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnbb":{"file_name":[],"function_name":["sock_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQGt0":{"file_name":[],"function_name":["security_socket_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYaV":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAchuU":{"file_name":[],"function_name":["tcp_rcv_space_adjust"],"function_offset":[],"line_number":[]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5":{"file_name":["../csu/libc-start.c"],"function_name":["__libc_start_main"],"function_offset":[],"line_number":[308]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAANci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAJEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAE8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAALhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAADeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAM58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAABgW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAOzA":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"ktj-IOmkEpvZJouiJkQjTgAAAAAAAE8a":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[117],"line_number":[854]},"O_h7elJSxPO7SiCsftYRZgAAAAAAAP8W":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"DxQN3aM1Ddn1lUwovx75wQAAAAAAACls":{"file_name":["client.py"],"function_name":["_load_service_endpoints_ruleset"],"function_offset":[1],"line_number":[193]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAHQg":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAALtQ":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKglI":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdME8":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK":{"file_name":[],"function_name":["kmem_cache_alloc_node"],"function_offset":[],"line_number":[]},"eOfhJQFIxbIEScd007tROwAAAAAAAHRK":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/nptl/pthread_create.c"],"function_name":["start_thread"],"function_offset":[],"line_number":[465]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_connect"],"function_offset":[],"line_number":[345]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhXY":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_get_server_certificate"],"function_offset":[],"line_number":[1234]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_d2i"],"function_offset":[],"line_number":[154]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_ex_d2i"],"function_offset":[],"line_number":[553]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[478]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_ex_d2i"],"function_offset":[],"line_number":[623]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_noexp_d2i"],"function_offset":[],"line_number":[735]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[266]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_ex_d2i"],"function_offset":[],"line_number":[235]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBnG":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_canon"],"function_offset":[],"line_number":[380]},"huWyXZbCBWCe2ZtK9BiokQAAAAAABylm":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/objects/obj_lib.c"],"function_name":["OBJ_dup"],"function_offset":[],"line_number":[83]},"huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/mem.c"],"function_name":["CRYPTO_malloc"],"function_offset":[],"line_number":[346]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["__GI___libc_malloc"],"function_offset":[],"line_number":[3068]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB813":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["_int_malloc"],"function_offset":[],"line_number":[3995]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKZlu":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABtuk":{"file_name":[],"function_name":["__virt_addr_valid"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J":{"file_name":[],"function_name":["do_softirq_own_stack"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-":{"file_name":[],"function_name":["process_backlog"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU":{"file_name":[],"function_name":["__netif_receive_skb_one_core"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb":{"file_name":[],"function_name":["ip_rcv"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcHvM":{"file_name":[],"function_name":["ip_forward"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaLse":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbiYT":{"file_name":[],"function_name":["__qdisc_run"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbiIt":{"file_name":[],"function_name":["sch_direct_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"5OhlekN4HU3KaqhG_GtinAAAAAAAADWR":{"file_name":[],"function_name":["ena_start_xmit"],"function_offset":[],"line_number":[]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_d2.c"],"function_name":["X509_STORE_load_locations"],"function_offset":[],"line_number":[94]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["by_file_ctrl"],"function_offset":[],"line_number":[117]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["X509_load_cert_crl_file"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/pem/pem_info.c"],"function_name":["PEM_X509_INFO_read_bio"],"function_offset":[],"line_number":[248]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBmx":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_canon"],"function_offset":[],"line_number":[377]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["ASN1_item_new"],"function_offset":[],"line_number":[76]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF5m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["asn1_item_ex_combine_new"],"function_offset":[],"line_number":[179]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-Ww":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["__GI___libc_malloc"],"function_offset":[],"line_number":[3031]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePFy":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeO8U":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ1ga":{"file_name":[],"function_name":["consume_skb"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ1A9":{"file_name":[],"function_name":["skb_release_all"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ0_v":{"file_name":[],"function_name":["skb_release_head_state"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeR6K":{"file_name":[],"function_name":["unix_destruct_scm"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZujP":{"file_name":[],"function_name":["sock_wfree"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeNEG":{"file_name":[],"function_name":["unix_write_space"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAADXb2":{"file_name":[],"function_name":["__wake_up_common_lock"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAglVt":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoApO":{"file_name":[],"function_name":["ret_from_intr"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBzi":{"file_name":[],"function_name":["do_IRQ"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAACO-_":{"file_name":[],"function_name":["irq_exit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaQZZ":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAAFQg":{"file_name":[],"function_name":["ena_io_poll"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaQFc":{"file_name":[],"function_name":["napi_complete_done"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaPMo":{"file_name":[],"function_name":["gro_normal_list.part.132"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaPED":{"file_name":[],"function_name":["netif_receive_skb_list_internal"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaO8W":{"file_name":[],"function_name":["__netif_receive_skb_list_core"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHjA":{"file_name":[],"function_name":["ip_list_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHKv":{"file_name":[],"function_name":["ip_sublist_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcGmO":{"file_name":[],"function_name":["ip_sublist_rcv_finish"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHZY":{"file_name":[],"function_name":["ip_local_deliver"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHXT":{"file_name":[],"function_name":["ip_local_deliver_finish"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHQq":{"file_name":[],"function_name":["ip_protocol_deliver_rcu"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAczxz":{"file_name":[],"function_name":["tcp_v4_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcyj0":{"file_name":[],"function_name":["tcp_v4_do_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcmQN":{"file_name":[],"function_name":["tcp_rcv_state_process"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAck58":{"file_name":[],"function_name":["tcp_data_queue"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcj1B":{"file_name":[],"function_name":["tcp_fin"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAco-Y":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcM8h":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcNR4":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcKvQ":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaMse":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAbjZz":{"file_name":[],"function_name":["__qdisc_run"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAbjKN":{"file_name":[],"function_name":["sch_direct_xmit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaMaf":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAADVS":{"file_name":[],"function_name":["ena_start_xmit"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAJci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAAw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAI3-":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"GdaBUD9IUEkKxIBryNqV2wAAAAAAANtO":{"file_name":["clidriver.py"],"function_name":["create_parser"],"function_offset":[4],"line_number":[635]},"QU8QLoFK6ojrywKrBFfTzAAAAAAAAGqM":{"file_name":["clidriver.py"],"function_name":["_get_command_table"],"function_offset":[3],"line_number":[580]},"V558DAsp4yi8bwa8eYwk5QAAAAAAAL60":{"file_name":["clidriver.py"],"function_name":["_create_command_table"],"function_offset":[18],"line_number":[615]},"tuTnMBfyc9UiPsI0QyvErAAAAAAAABis":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[700]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAHlS":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"cHp4MwXaY5FCuFRuAA6tWwAAAAAAAKx8":{"file_name":["waiters.py"],"function_name":["add_waiters"],"function_offset":[11],"line_number":[36]},"-9oyoP4Jj2iRkwEezqId-gAAAAAAANMc":{"file_name":["waiters.py"],"function_name":["get_waiter_model_from_service_model"],"function_offset":[5],"line_number":[48]},"3FRCbvQLPuJyn2B-2wELGwAAAAAAANK8":{"file_name":["session.py"],"function_name":["get_waiter_model"],"function_offset":[4],"line_number":[527]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAACEw":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAGla":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAAHDM":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm":{"file_name":["pyi_rth_pkgutil.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"ik6PIX946fW_erE7uBJlVQAAAAAAAILu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"dCCKy6JoX0PADOFic8hRNQAAAAAAAC7S":{"file_name":["pkgutil.py"],"function_name":[""],"function_offset":[315],"line_number":[316]},"7RLN3PNgotUSmdQVMRTSvAAAAAAAAMnE":{"file_name":["_bootstrap.py"],"function_name":["exec_module"],"function_offset":[5],"line_number":[982]},"43vJVfBcAahhLMzDSC-H0gAAAAAAADOC":{"file_name":["util.py"],"function_name":[""],"function_offset":[266],"line_number":[267]},"ik6PIX946fW_erE7uBJlVQAAAAAAAIJy":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"RRFdsCrJw1U2erb6qtrrzQAAAAAAAMNe":{"file_name":["_bootstrap.py"],"function_name":["__enter__"],"function_offset":[2],"line_number":[171]},"_zH-ed4x-42m0B4z2RmcdQAAAAAAALN-":{"file_name":["_bootstrap.py"],"function_name":["_get_module_lock"],"function_offset":[34],"line_number":[213]},"a5aMcPOeWx28QSVng73nBQAAAAAAAAAw":{"file_name":["aws"],"function_name":[""],"function_offset":[5],"line_number":[19]},"OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[5],"line_number":[1007]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[19],"line_number":[986]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[21],"line_number":[680]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[499]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[49],"line_number":[62]},"gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc":{"file_name":["core.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[5],"line_number":[18]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[5],"line_number":[972]},"zP58DjIs7uq1cghmzykyNAAAAAAAAAAK":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[228]},"9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4":{"file_name":["application.py"],"function_name":[""],"function_offset":[114],"line_number":[115]},"IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0":{"file_name":["application.py"],"function_name":["Application"],"function_offset":[91],"line_number":[206]},"U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[3],"line_number":[274]},"bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[354]},"oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2":{"file_name":["typing.py"],"function_name":["Union"],"function_offset":[32],"line_number":[466]},"Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM":{"file_name":["typing.py"],"function_name":[""],"function_offset":[0],"line_number":[466]},"pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu":{"file_name":["typing.py"],"function_name":["_type_check"],"function_offset":[18],"line_number":[155]},"7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW":{"file_name":["typing.py"],"function_name":["_type_convert"],"function_offset":[4],"line_number":[132]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAMbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAEQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAJ9A":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAAGh4":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"O_h7elJSxPO7SiCsftYRZgAAAAAAAB2m":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAPns":{"file_name":["client.py"],"function_name":["_get_client_args"],"function_offset":[15],"line_number":[295]},"qLiwuFhv6DIyQ0OgaSMXCgAAAAAAAFnm":{"file_name":["args.py"],"function_name":["get_client_args"],"function_offset":[72],"line_number":[118]},"ka2IKJhpWbD6PA3J3v624wAAAAAAALgG":{"file_name":["copy.py"],"function_name":["copy"],"function_offset":[35],"line_number":[101]},"e8Lb_MV93AH-OkvHPPDitgAAAAAAAEzS":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[6],"line_number":[344]},"1vivUE5hL65442lQ9a_ylgAAAAAAAIYC":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[8],"line_number":[486]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK0u":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fCsVLBj60GK9Hf8VtnMcgAAAAAAAALX8":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[5],"line_number":[35]},"ka2IKJhpWbD6PA3J3v624wAAAAAAALd2":{"file_name":["copy.py"],"function_name":["copy"],"function_offset":[35],"line_number":[101]},"cfc92_adXFZraMPGbgbcDgAAAAAAANvu":{"file_name":["pyi_rth_inspect.py"],"function_name":[""],"function_offset":[43],"line_number":[44]},"ik6PIX946fW_erE7uBJlVQAAAAAAAGLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbg":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"WLefmNR3IpykzCX3WWNnMwAAAAAAAEIO":{"file_name":["inspect.py"],"function_name":[""],"function_offset":[1707],"line_number":[1708]},"IvJrzqPEgeoowZySdwFq3wAAAAAAAEAo":{"file_name":["dis.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"vkeP2ntYyoFN0A16x9eliwAAAAAAAF8U":{"file_name":["__init__.py"],"function_name":["namedtuple"],"function_offset":[164],"line_number":[512]},"MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAI4g":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":[""],"function_offset":[13],"line_number":[14]},"ecHSwk0KAG7gFkiYdAgIZwAAAAAAAFTg":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":["_pyi_rth_multiprocessing"],"function_offset":[94],"line_number":[107]},"ik6PIX946fW_erE7uBJlVQAAAAAAAOLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[8],"line_number":[21]},"mHiYHSEggclUi1ELZIxq4AAAAAAAAABA":{"file_name":["session.py"],"function_name":[""],"function_offset":[13],"line_number":[27]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAo":{"file_name":["client.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"0cqvso24v07beLsmyC0nMwAAAAAAAABQ":{"file_name":["args.py"],"function_name":[""],"function_offset":[15],"line_number":[28]},"3WU6MO1xF7O0NmrHFj4y4AAAAAAAAAA8":{"file_name":["regions.py"],"function_name":[""],"function_offset":[12],"line_number":[25]},"x617yDiAG2Sqq3cLDkX4aAAAAAAAAAF-":{"file_name":["auth.py"],"function_name":[""],"function_offset":[660],"line_number":[674]},"ZTmztUywGW_uHXPqWVr76wAAAAAAAAAY":{"file_name":["auth.py"],"function_name":[""],"function_offset":[3],"line_number":[17]},"ZPAF8mJO2n0azNbxzkJ2rAAAAAAAAAAc":{"file_name":["auth.py"],"function_name":[""],"function_offset":[9],"line_number":[10]},"MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAA4g":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":[""],"function_offset":[13],"line_number":[14]},"ecHSwk0KAG7gFkiYdAgIZwAAAAAAAKTg":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":["_pyi_rth_multiprocessing"],"function_offset":[94],"line_number":[107]},"ik6PIX946fW_erE7uBJlVQAAAAAAANLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAMRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAPtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAE10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAGs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAJLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAADDC":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"SOSrvCNmbstVFKAcqHNCvAAAAAAAAMF-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[89],"line_number":[90]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAABci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAI_G":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAALMM":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAADYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"LEy-wm0GIvRoYVAga55HiwAAAAAAANxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAI3K":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"SD7uzoegJjRT3jYNpuQ5wQAAAAAAALX2":{"file_name":["configure.py"],"function_name":[""],"function_offset":[56],"line_number":[57]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAEBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAALLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjj":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcK5W":{"file_name":[],"function_name":["tcp_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcKWq":{"file_name":[],"function_name":["tcp_sendmsg_locked"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcbOh":{"file_name":[],"function_name":["__tcp_push_pending_frames"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcaTc":{"file_name":[],"function_name":["tcp_write_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcY0Y":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb80x":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb9KI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb6ng":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ8uJ":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ8Dc":{"file_name":[],"function_name":["validate_xmit_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ793":{"file_name":[],"function_name":["netif_skb_features"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ7qG":{"file_name":[],"function_name":["skb_network_protocol"],"function_offset":[],"line_number":[]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAGQ":{"file_name":["application.py"],"function_name":[""],"function_offset":[58],"line_number":[59]},"c-eM3dWacIPzBmA_7-OWBwAAAAAAAAAU":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"w9AQfBE7-1YeE4mOMirPBgAAAAAAAABY":{"file_name":["basic.py"],"function_name":[""],"function_offset":[13],"line_number":[15]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[13],"line_number":[482]},"NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[14],"line_number":[298]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[18],"line_number":[304]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAPVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAAHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAI10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAKs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAETO":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAABka":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAOxq":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAEu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAALya":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAGsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAAPZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"rTFMSHhLRlj86vHPR06zoQAAAAAAABZ2":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAIY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAADjQ":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAACxq":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAANeQ":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAE6e":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"N0GNsPaCLYzoFsPJWnIJtQAAAAAAAC8u":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[53],"line_number":[54]},"fq0ezjB8ddCA6Pk0BY9arQAAAAAAAP7M":{"file_name":["distro.py"],"function_name":[""],"function_offset":[608],"line_number":[609]},"r1l-BTVp1g6dSvPPoOY_cgAAAAAAAHDY":{"file_name":["typing.py"],"function_name":["__new__"],"function_offset":[55],"line_number":[2965]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAADU":{"file_name":["application.py"],"function_name":[""],"function_offset":[40],"line_number":[41]},"bAXCoU3-CU0WlRxl5l1tmwAAAAAAAAC8":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[32],"line_number":[33]},"IcegEVkl4JzbMBhUeMqp0QAAAAAAAAA8":{"file_name":["auto_suggest.py"],"function_name":[""],"function_offset":[18],"line_number":[19]},"tz0ps4QDYR1clO_q5ziJUQAAAAAAAABi":{"file_name":["document.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"M0gS5SrmklEEjlV4jbSIBAAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[18],"line_number":[19]},"k5C4r96b77lEZ_fHFwCYkQAAAAAAAAAk":{"file_name":["app.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[16],"line_number":[302]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFcs":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAOrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAHAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAMdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAANCa":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAJ-q":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAKsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAADZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"rTFMSHhLRlj86vHPR06zoQAAAAAAAAfG":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAACBA":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAABMg":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"wXOyVgf5_nNg6CUH5kFBbgAAAAAAAJkK":{"file_name":["loaders.py"],"function_name":[""],"function_offset":[0],"line_number":[273]},"zEgDK4qMawUAQZjg5YHywwAAAAAAAIC0":{"file_name":["genericpath.py"],"function_name":["isdir"],"function_offset":[6],"line_number":[45]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAABVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAACHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAA10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAOs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAADLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAANFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAGFG":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"780bLUPADqfQ3x1T5lnVOgAAAAAAAFUm":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"X0TUmWpd8saA6nnPGQi3nQAAAAAAAPKS":{"file_name":["addsteps.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAACQM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"grZNsSElR5ITq8H2yHCNSwAAAAAAADw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAPQ6":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAKys":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAPB6":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAE1M":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"tuTnMBfyc9UiPsI0QyvErAAAAAAAAFis":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[700]},"rTFMSHhLRlj86vHPR06zoQAAAAAAANRm":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAKTS":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"-T5rZCijT5TDJjmoEi8KxgAAAAAAABP8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[533]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAEDg":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAG-k":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKycK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKv55":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKh3C":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhna":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQFXl":{"file_name":[],"function_name":["security_file_alloc"],"function_offset":[],"line_number":[]},"tz0ps4QDYR1clO_q5ziJUQAAAAAAAABW":{"file_name":["document.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"O2RGJIowquMzuET0HYQ6aQAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"Ht79I_xqXv3bOgaClTNQ4wAAAAAAAALK":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[131],"line_number":[310]},"T8-enlAkCZXqinPHW4B8swAAAAAAAAAi":{"file_name":["enum.py"],"function_name":["__setattr__"],"function_offset":[11],"line_number":[473]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAMDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAMn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAALYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAH2W":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"3HhVgGD2yvuFLpoZq7RfKwAAAAAAAB8C":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[179],"line_number":[180]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAG3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAKSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"fDiQPd_MeGeyY9ZBOSU1GgAAAAAAAJ7g":{"file_name":["hashes.py"],"function_name":[""],"function_offset":[245],"line_number":[246]},"mP9Tk3T74fjOyYWKUaqdMQAAAAAAAPDi":{"file_name":["client.py"],"function_name":[""],"function_offset":[119],"line_number":[120]},"I4X8AC1-B0GuL4JyYemPzwAAAAAAACOi":{"file_name":["args.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"b-3iFnlA7BmzAxDEzxShdAAAAAAAACGi":{"file_name":["config.py"],"function_name":[""],"function_offset":[24],"line_number":[25]},"8jcOoolAg5RmmHop7NqzWQAAAAAAAC4-":{"file_name":["endpoint.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"2LABj1asXFICsosP2OrbVQAAAAAAAO82":{"file_name":["hooks.py"],"function_name":["httpchecksum"],"function_offset":[67],"line_number":[68]},"N1ZmsCOKFJHNThnHfFYo6QAAAAAAAMEC":{"file_name":["hooks.py"],"function_name":["HierarchicalEmitter"],"function_offset":[155],"line_number":[321]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe":{"file_name":[],"function_name":["page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnL3":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAO4-":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[53],"line_number":[54]},"fq0ezjB8ddCA6Pk0BY9arQAAAAAAAJ2i":{"file_name":["distro.py"],"function_name":[""],"function_offset":[608],"line_number":[609]},"-gDCCFjiBc58_iqAxti3KwAAAAAAAL70":{"file_name":["argparse.py"],"function_name":[""],"function_offset":[817],"line_number":[818]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItm_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItCv":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIAXE":{"file_name":[],"function_name":["__lru_cache_add"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIATK":{"file_name":[],"function_name":["pagevec_lru_move_fn"],"function_offset":[],"line_number":[]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAJd-":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"d4jl580PLMUwu5s3I4wcXgAAAAAAAMSu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"tKago5vqLnwIkezk_wTBpQAAAAAAACga":{"file_name":["package.py"],"function_name":[""],"function_offset":[31],"line_number":[32]},"rpq4cV1KPyFZcnKfWjKdZwAAAAAAAHr2":{"file_name":["s3uploader.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"uFElJcsK9my-kA6ZYzT1uwAAAAAAABOG":{"file_name":["manager.py"],"function_name":[""],"function_offset":[46],"line_number":[47]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAP3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAADSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"yp8MidCGMe4czbl-NigsYQAAAAAAAOFG":{"file_name":["connection.py"],"function_name":[""],"function_offset":[524],"line_number":[525]},"2noK4QoWxdzASRHkjOFwVAAAAAAAAMn6":{"file_name":["tempfile.py"],"function_name":[""],"function_offset":[547],"line_number":[548]},"yO-OCNRiISNdCb_iVi4E_wAAAAAAAOkg":{"file_name":["shutil.py"],"function_name":[""],"function_offset":[2003],"line_number":[2004]},"mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAKGy":{"file_name":["abc.py"],"function_name":["__new__"],"function_offset":[3],"line_number":[108]},"ik6PIX946fW_erE7uBJlVQAAAAAAALLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEaS":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"OlTvyWQFXjOweJcs3kiGygAAAAAAANKC":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAKQM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"bcwppGWOjTWw86zVNJE_JgAAAAAAABl-":{"file_name":["six.py"],"function_name":["__get__"],"function_offset":[9],"line_number":[104]},"TBeSzkyqIwKL8td602zDjAAAAAAAAIpu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAPn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"NiCfOMPggzUjx-usqlmxvgAAAAAAAL3-":{"file_name":["queue.py"],"function_name":[""],"function_offset":[62],"line_number":[63]},"Vot4T3F5OpUj8rbXhgpMDgAAAAAAAH8I":{"file_name":["_bootstrap_external.py"],"function_name":["exec_module"],"function_offset":[4],"line_number":[938]},"eV_m28NnKeeTL60KO2H3SAAAAAAAANtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"5nuRo5ZVtij8bTLlri7QXAAAAAAAALda":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[29],"line_number":[30]},"hi5mlwAHRj-Yl1GNV_UEZQAAAAAAADqu":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[30],"line_number":[31]},"uSWUCgHgLPG4OFtPdUp0rgAAAAAAAOFO":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"-BjW54fwMksXBor9R-YN9wAAAAAAAAdO":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[575],"line_number":[576]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAALSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wuSmWRANn3Cl-syjEtxMoQAAAAAAAEwe":{"file_name":["ec.py"],"function_name":[""],"function_offset":[339],"line_number":[340]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAADV2":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAMR-":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAHq2":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAKg2":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"rEbhXoMLMee0rf6bwU9RPwAAAAAAAJc2":{"file_name":["hashlib.py"],"function_name":[""],"function_offset":[300],"line_number":[301]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABn4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAADe4":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"rBzW547V0L_mH4nnWK1FUQAAAAAAANTA":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[6],"line_number":[1237]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["__dlopen"],"function_offset":[],"line_number":[87]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlerror.c"],"function_name":["_dlerror_run"],"function_offset":[],"line_number":[163]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-error-skeleton.c"],"function_name":["__GI__dl_catch_error"],"function_offset":[],"line_number":[198]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["dlopen_doit"],"function_offset":[],"line_number":[66]},"3nN3bymnZ8E42aLEtgglmAAAAAAAASmo":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["_dl_open"],"function_offset":[],"line_number":[649]},"3nN3bymnZ8E42aLEtgglmAAAAAAAATA-":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["dl_open_worker"],"function_offset":[],"line_number":[424]},"3nN3bymnZ8E42aLEtgglmAAAAAAAALbA":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-reloc.c"],"function_name":["_dl_relocate_object"],"function_offset":[],"line_number":[160]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["_dl_lookup_symbol_x"],"function_offset":[],"line_number":[833]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJMS":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["do_lookup_x"],"function_offset":[],"line_number":[413]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAM10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAACs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"ik6PIX946fW_erE7uBJlVQAAAAAAAELu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAEFq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"z1-LQiSwGmfJHZm7Q223fQAAAAAAAFo-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[18],"line_number":[19]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAANfe":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"xDXQtI2vA5YySwpx7QFiwAAAAAAAAMoy":{"file_name":["popen_forkserver.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"fSQ747oLNh0c0zFQjsVRWgAAAAAAAP02":{"file_name":["forkserver.py"],"function_name":[""],"function_offset":[80],"line_number":[81]},"yp8MidCGMe4czbl-NigsYQAAAAAAALK2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[524],"line_number":[525]},"2noK4QoWxdzASRHkjOFwVAAAAAAAAOQq":{"file_name":["tempfile.py"],"function_name":[""],"function_offset":[547],"line_number":[548]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAMBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAADLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"Z-J8GEZK5aE8XNQ-3sO-FgAAAAAAAKxW":{"file_name":["adaptive.py"],"function_name":[""],"function_offset":[34],"line_number":[35]},"H-OlnUNurKAlPjkWfV0hTgAAAAAAAH4K":{"file_name":["standard.py"],"function_name":[""],"function_offset":[279],"line_number":[280]},"ik6PIX946fW_erE7uBJlVQAAAAAAAKLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAAJUW":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAPeO":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAADGS":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"hrIwGgdEFsOBluJKOOs8ZgAAAAAAACzs":{"file_name":["docstringparser.py"],"function_name":[""],"function_offset":[172],"line_number":[173]},"jhRfowFriqBKJWhZSTe7kgAAAAAAAJ3O":{"file_name":["six.py"],"function_name":["__get__"],"function_offset":[9],"line_number":[100]},"B0e_Spx899MeGx2KSvzzowAAAAAAADwe":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[115]},"v1UMuiFodNtdRCNi4iF0RgAAAAAAACH8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[83]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAMtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEay":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"yzJdtc2TQHpJ_IY5QdUQKAAAAAAAAIh2":{"file_name":["posixpath.py"],"function_name":["dirname"],"function_offset":[8],"line_number":[158]},"VuJFonCXevADcEDW6NVbKgAAAAAAAGsG":{"file_name":["devcommands.py"],"function_name":[""],"function_offset":[49],"line_number":[50]},"VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO":{"file_name":["factory.py"],"function_name":[""],"function_offset":[57],"line_number":[58]},"PUSucJs4FC_WdMzOyH3QYwAAAAAAAEHe":{"file_name":["layout.py"],"function_name":[""],"function_offset":[130],"line_number":[131]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAACRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"q_M8ZB6aihtZKYZfHGkluQAAAAAAABuK":{"file_name":["core.py"],"function_name":[""],"function_offset":[331],"line_number":[332]},"MAFaasFcVIeoQsejXrnp0wAAAAAAAFP-":{"file_name":["core.py"],"function_name":["TemplateStep"],"function_offset":[40],"line_number":[240]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAGaA":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"zpgqltXEgKujOhJUj-jAhgAAAAAAAGCI":{"file_name":["_parser.py"],"function_name":["__getitem__"],"function_offset":[3],"line_number":[165]},"ihsoi5zicXHpPrWRA9bTnAAAAAAAAEMs":{"file_name":["base_events.py"],"function_name":[""],"function_offset":[190],"line_number":[191]},"HbU9j_4D3UaJfjASj-JljAAAAAAAAJR-":{"file_name":["staggered.py"],"function_name":[""],"function_offset":[1],"line_number":[2]},"awUBhCYYZvWyN4rrVw-u5AAAAAAAAPSe":{"file_name":["locks.py"],"function_name":[""],"function_offset":[114],"line_number":[115]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"akZOzI9XwsEixvkTDGeDPwAAAAAAAPZa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAL3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"d1LNRHMzWQ5PvB10hYiN3gAAAAAAAPSe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[9],"line_number":[10]},"PmkUsVBZlaSEgaFwCOKZlgAAAAAAAGto":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[166],"line_number":[167]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU":{"file_name":["client.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[25],"line_number":[1058]},"CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc":{"file_name":["waiter.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE":{"file_name":["service.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc":{"file_name":["compat.py"],"function_name":[""],"function_offset":[17],"line_number":[31]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[10],"line_number":[11]},"r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[15],"line_number":[982]},"JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[24],"line_number":[925]},"MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[2],"line_number":[192]},"yWt46REABLfKH6PXLAE18AAAAAAAAABk":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[16],"line_number":[431]},"VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[1],"line_number":[121]},"Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[2],"line_number":[87]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI":{"file_name":["client.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg":{"file_name":["parser.py"],"function_name":[""],"function_offset":[7],"line_number":[12]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAABe":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[28],"line_number":[33]},"VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG":{"file_name":["re.py"],"function_name":["compile"],"function_offset":[2],"line_number":[252]},"SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs":{"file_name":["re.py"],"function_name":["_compile"],"function_offset":[15],"line_number":[304]},"9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAk":{"file_name":["sre_compile.py"],"function_name":["compile"],"function_offset":[9],"line_number":[768]},"4xH83ZXxs_KV95Ur8Z59WQAAAAAAAAAY":{"file_name":["sre_compile.py"],"function_name":["_code"],"function_offset":[6],"line_number":[604]},"PWlQ4X4jsNu5q7FFJqlo_QAAAAAAAAAE":{"file_name":["sre_compile.py"],"function_name":["_compile_info"],"function_offset":[4],"line_number":[540]},"LSxiso_u1cO_pWDBw25EggAAAAAAAAAc":{"file_name":["sre_parse.py"],"function_name":["getwidth"],"function_offset":[5],"line_number":[179]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJ_G":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAMMM":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAIn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAExO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAJ2C":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"780bLUPADqfQ3x1T5lnVOgAAAAAAABrO":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"f3fxdcTCg7rbloZ6VtA0_QAAAAAAALKS":{"file_name":["hbase.py"],"function_name":[""],"function_offset":[96],"line_number":[97]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAFBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"uU7rISh8R_xr6YYB3RgLuAAAAAAAACpG":{"file_name":["s3.py"],"function_name":[""],"function_offset":[38],"line_number":[39]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"vQQdLrWHLywJs9twt3EH2QAAAAAAAKAW":{"file_name":["subcommands.py"],"function_name":[""],"function_offset":[833],"line_number":[834]},"PUIH740KQXWx70DXM4ZvgQAAAAAAABoW":{"file_name":["s3handler.py"],"function_name":[""],"function_offset":[273],"line_number":[274]},"dsOcslker2-lnNTIC5yERAAAAAAAAJig":{"file_name":["results.py"],"function_name":[""],"function_offset":[550],"line_number":[551]},"zUlsQG278t98_u2KV_JLSQAAAAAAAIoK":{"file_name":["results.py"],"function_name":["_create_new_result_cls"],"function_offset":[10],"line_number":[48]},"vkeP2ntYyoFN0A16x9eliwAAAAAAADPE":{"file_name":["__init__.py"],"function_name":["namedtuple"],"function_offset":[164],"line_number":[512]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAADBq":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAJp6":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAACAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAIW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"fj70ljef7nDHOqVJGSIoEQAAAAAAAIMS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAANBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAELi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAAHLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAABo6":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAEpu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"J3wpF3Lf_vPkis4aNGKFbwAAAAAAAOqC":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPu-":{"file_name":["ssl.py"],"function_name":[""],"function_offset":[780],"line_number":[781]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABC4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAAC54":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"rBzW547V0L_mH4nnWK1FUQAAAAAAAMtg":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[6],"line_number":[1237]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJN2":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["do_lookup_x"],"function_offset":[],"line_number":[420]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"qkYSh95E1urNTie_gKbr7wAAAAAAAABY":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[11],"line_number":[12]},"V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8":{"file_name":["connection.py"],"function_name":[""],"function_offset":[14],"line_number":[15]},"xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAEU":{"file_name":["url.py"],"function_name":[""],"function_offset":[61],"line_number":[62]},"9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU":{"file_name":["sre_compile.py"],"function_name":["compile"],"function_offset":[5],"line_number":[764]},"cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["parse"],"function_offset":[11],"line_number":[948]},"aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["_parse_sub"],"function_offset":[8],"line_number":[443]},"MebnOxK5WOhP29sl19JefwAAAAAAAAua":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[341],"line_number":[834]},"MebnOxK5WOhP29sl19JefwAAAAAAAAVQ":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[171],"line_number":[664]},"iLW1ehST1pGQ3S8RoqM9QgAAAAAAAAAY":{"file_name":["sre_parse.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[166]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAISm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"9NWoah56eYULAP_zGE9PuwAAAAAAALHC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[101],"line_number":[102]},"IKrIDHd5n47PpDQsRXxvvgAAAAAAACmC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[81],"line_number":[82]},"oG7568kMJujZxPJfj7VMjAAAAAAAANNm":{"file_name":["frontend.py"],"function_name":[""],"function_offset":[390],"line_number":[391]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAItq_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAItGv":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIAbE":{"file_name":[],"function_name":["__lru_cache_add"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIAXX":{"file_name":[],"function_name":["pagevec_lru_move_fn"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIAH6":{"file_name":[],"function_name":["release_pages"],"function_offset":[],"line_number":[]},"OlTvyWQFXjOweJcs3kiGygAAAAAAAFIS":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAIB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAItm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAMyi":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAJWM":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAOSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAOJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAIpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAANh4":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"A2oiHVwisByxRn5RDT4LjAAAAAAAI1Zm":{"file_name":[],"function_name":["__x64_sys_munmap"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAI1XX":{"file_name":[],"function_name":["__vm_munmap"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAI1Ny":{"file_name":[],"function_name":["__do_munmap"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIy8h":{"file_name":[],"function_name":["remove_vma"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJu9M":{"file_name":[],"function_name":["kmem_cache_free"],"function_offset":[],"line_number":[]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACE":{"file_name":["compat.py"],"function_name":[""],"function_offset":[15],"line_number":[29]},"iwnHqwtnoHjA-XW01rxhpwAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[16]},"53nvYhJfd2eJh-qREaeFBQAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[7]},"zwRZ32H5_95LpRJHzXkqVAAAAAAAAAAI":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[7],"line_number":[10]},"JJab8JrsPDK66yfOtCG3zQAAAAAAAAAQ":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"1XUiDryPjyncBxkTlbVecgAAAAAAAAAU":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[9],"line_number":[10]},"OIy8IFqaTWz5UoN3FSH-wQAAAAAAAABc":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[37],"line_number":[41]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAJKK":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAIQq":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAE2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAADs4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAAbK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAANUk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAAJQO":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAApu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAHn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"J3wpF3Lf_vPkis4aNGKFbwAAAAAAAFAy":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAAmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L":{"file_name":[],"function_name":["alloc_pages_vma"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5":{"file_name":[],"function_name":["prep_new_page"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgURG":{"file_name":[],"function_name":["clear_page_erms"],"function_offset":[],"line_number":[]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[21],"line_number":[26]},"-gq3a70QOgdn9HetYyf2OgAAAAAAAACy":{"file_name":["errors.py"],"function_name":[""],"function_offset":[45],"line_number":[50]}},"executables":{"G68hjsyagwq6LpWrMjDdng":"libpython3.9.so.1.0","B8JRxL079xbhqQBqGvksAg":"kubelet","6kzBY4yj-1Fh1NCTZA3z0w":"aws-k8s-agent","j8DVIOTu7Btj9lgFefJ84A":"dockerd","B56YkhsK1JwqD-8F8sjS3A":"prometheus","v6HIzNa4K6G4nRP9032RIA":"dockerd","FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","gNW12BepH17pXwK-ZuYt3w":"node_exporter","piWSMQrh4r040D0BPNaJvw":"vmlinux","kajOqZqz7V1y0BdYQLFQrw":"containerd-shim-runc-v2","A2oiHVwisByxRn5RDT4LjA":"vmlinux","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","-pk6w5puGcp-wKnQ61BZzQ":"kubelet","QvG8QEGAld88D676NL_Y2Q":"filebeat","6auiCMWq5cA-hAbqSYvdQQ":"kubelet","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","JsObMPhfT_zO2Q_B1cPLxA":"coredns","SbPwzb_Kog2bWn8uc7xhDQ":"aws","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","xLxcEbwnZ5oNrk99ZsxcSQ":"libpython3.11.so.1.0","9LzzIocepYcOjnUsLlgOjg":"vmlinux","eOfhJQFIxbIEScd007tROw":"libpthread-2.26.so","-p9BlJh9JZMPPNjY_j92ng":"awsagent","9HZ7GQCC6G9fZlRD7aGzXQ":"libssl.so.1.0.2k","huWyXZbCBWCe2ZtK9BiokQ":"libcrypto.so.1.0.2k","5OhlekN4HU3KaqhG_GtinA":"ena","R3YNZBiWt7Z3ZpFfTh6XyQ":"ena","WpYcHtr4qx88B8CBJZ2GTw":"aws","-Z7SlEXhuy5tL2BF-xmy3g":"libpython3.11.so.1.0","-SVIyCZG9IbFKK-fe2Wh4g":"cluster-autoscaler","EX9l-cE0x8X9W8uz4iKUfw":"zlib.cpython-39-x86_64-linux-gnu.so","jaBVtokSUzfS97d-XKjijg":"libz.so.1","PVZV2uq5ZRt-FFaczL10BA":"libdl-2.26.so","3nN3bymnZ8E42aLEtgglmA":"ld-2.26.so","ASi9f26ltguiwFajNwOaZw":"zlib.cpython-311-x86_64-linux-gnu.so"},"total_frames":172380,"sampling_rate":0.2} diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json new file mode 100644 index 00000000000000..75ad39e9298d25 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"oxpVfjjIF44Ceg6SK1UUdQ":43,"JTDxAdxqnTYIS6qzFXvK3g":100,"5tZzmji29IcMEbLCg170Tw":294,"0CNUMdOdpmKJxWeUmvWvXg":1343,"9_06LL00QkYIeiFNCWu0XQ":1109,"OtKh8npcfHhiQ7ynFMPOeQ":622,"TCJ8_VmEK5hAZOYdmPHyug":487,"OCdksb_5DbnTD8RB0r1Hmw":460,"2Ov4wSepfExdnFvsJSSjog":411,"668oRSTLMVtOeHPjJ80fWg":574,"VmRA1Zd-R_saxzv9stOlrw":519,"u31aX9a6CI2OuomWQHSx1Q":614,"oHTQoPZFXrc9eFjCRWW_BA":570,"tIRMz0rwuOf8rRZlytIuAQ":481,"-s21TvA-EsTWbfCutQG83Q":528,"LuHRiiYB6iq-QXoGUFYVXA":457,"5oh0023XVeE3U9ZP60NzUA":505,"hecRkAhRG62NML7wI512zA":286,"P-5EQ3lfGgit0Oj6qTKYqw":210,"fRxnoZgNqB73ndCJkUzrxg":263,"iww2NcKTwMO4dUHXUrsfKA":297,"dP8WPiIXitz7dopr2cbyrg":302,"c84Ph1EEsEpt9KFMdSQvtA":307,"DkjcsUWzUMWlzGIG7vWPLA":251,"O7XAt57p5nvwpgeB2KrNbw":312,"Oam9nmQfwQpA_10YTKZCkg":255,"gM71DK9QAb25Em9dhlNNXA":231,"VoyVx3eKZvx3I7o9LV75WA":180,"6MfMhGSHuQ0CLUxktz5OVg":175,"9pWzAEbyffmwRrKvRecyaQ":174,"DK4Iffrk3v05Awun60ygow":152,"4r_hCJ268ciweOwgH0Qwzw":129,"VC42Hg55_L_IfaF_actjIw":104,"7l18-g5emVzljYbZzZJDRA":62,"PkHiro08_uzuUWpeantpNA":42,"9EcGjMrQwznPlnAdDi9Lxw":38,"tagsGmBta7BnDHBzEbH9eQ":27,"euPXE4-KNZJD0T6j_TMfYw":24,"cL14TWzNnz1qK2PUYdE9bg":20,"9wXZUZEeGMQm83C5yXCZ2g":15,"bz1cYNqu8MBH2xCXTMEiAg":16,"fCScXsJaisrZL_JXgS4qQg":33,"V-MDb_Yh073ps9Vw4ypmDQ":17,"wAujHiFN47_oNUI63d6EtA":26,"zMMsPlSW5HOq5bsuVRh3KA":6,"pLdowTKUS5KSwivHyl5AgA":10,"_ef-NJahpYK_FzFC-KdtYQ":11,"omG-i9KffSi3YT8q0rYOiw":3,"XiONbb-veQ1sAuFD6_Fv0A":12,"krdohOL0KiVMtm4q-6fmjg":8,"N2LqhupgLi4T_B9D7JaDDQ":6,"7TvODt8WtQ5KXTmYPsDI3A":5,"u1L6jqeUaTNx1a2aJ9yFwA":2,"8uzy4VW9n0Z8KokUdeadfg":2,"EeUwhr9vbcywMBkIYZRfCw":3,"x443zjuudYI-A7cRu2DIGg":3,"rrrvnakD3SpJqProBGqoCQ":3,"sDfHX0MKzztQSqC8kl_-sg":2,"WmwSnxyphedkasVyGbhNdg":3,"NU5so_CJJJwGJM_hiEcxgQ":1,"A9B6bwuKQl9pC0MIYqtAgg":1,"X86DUuQ7tHAxGBaWu4tZLg":4,"T3fWxJzHMwU-oUs7rgXCcg":2,"vq75CDVua5N-eDXnfyZYMA":2,"oKVObqTWF9QIjxgKf8UkTw":6,"DaDdc6eLo0hc-QxL2XQh5Q":3,"YRZbUV2DChD6dl3Y2xjF8g":1,"EnsO3_jc7LnLdUHQbwkxMg":1,"V2XOOBv96QfYXHIIY7_OLA":6,"FTJM3wsT8Kc-UaiIK2yDMQ":4,"ivbgd9hswtvZ7aTts7HESw":3,"yXsgvY1JyekwdCV5rJdspg":7,"_TjN4epIphuKUiHZJZdqxQ":3,"ZQdwkmvvmLjNzNpTA4PPhw":8,"ssC7MBcE9kfM3yTim7UrNQ":12,"-yH5iqJp4uVN6clNHuFusA":7,"SrSwvDbs2pmPg3SRfXJBCA":13,"n5nFiHsDS01AKuzFKvQXdA":4,"XbtNNAnLtuHwAR-P2ynwqA":4,"Rr1Z3cNxrq9AQiD8wZZ1dA":9,"gESQTq4qRn3wnW-FPfxOfA":7,"CSpdzACT53hVs5DyKY8X5A":5,"AlH3zgnqwh5sdMMzX8AXxg":6,"ysEqok7gFOl9eLMLBwFm1g":3,"7B48NKNivOFEka6-8dK3Qg":1,"OC533YmmMZSw8TjJz41YiQ":1,"X6-W250nbzzPy4NasjncWg":1,"gi6S4ODPtJ-ERYxlMd4WHA":2,"EGm59IOxpyqZq7sEwgZb1g":1,"y7cw8NxReMWOs4KtDlMCFA":1,"L1ZLG1mjktr2Zy0xiQnH0w":1},"stack_traces":{"oxpVfjjIF44Ceg6SK1UUdQ":{"address_or_lines":[2357],"file_ids":["edNJ10OjHiWc5nzuTQdvig"],"frame_ids":["edNJ10OjHiWc5nzuTQdvigAAAAAAAAk1"],"type_ids":[3]},"JTDxAdxqnTYIS6qzFXvK3g":{"address_or_lines":[4636840,4373888],"file_ids":["LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g"],"frame_ids":["LvhLWomlc0dSPYzQ8C620gAAAAAARsCo","LvhLWomlc0dSPYzQ8C620gAAAAAAQr2A"],"type_ids":[3,3]},"5tZzmji29IcMEbLCg170Tw":{"address_or_lines":[18425733,18110445,18122515],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGSeF","j8DVIOTu7Btj9lgFefJ84AAAAAABFFft","j8DVIOTu7Btj9lgFefJ84AAAAAABFIcT"],"type_ids":[3,3,3]},"0CNUMdOdpmKJxWeUmvWvXg":{"address_or_lines":[32434917,32101228,32115955,32118104],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7url","QvG8QEGAld88D676NL_Y2QAAAAAB6dNs","QvG8QEGAld88D676NL_Y2QAAAAAB6gzz","QvG8QEGAld88D676NL_Y2QAAAAAB6hVY"],"type_ids":[3,3,3,3]},"9_06LL00QkYIeiFNCWu0XQ":{"address_or_lines":[4643592,4325284,4339923,4341903,4293837],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjjT","B8JRxL079xbhqQBqGvksAgAAAAAAQkCP","B8JRxL079xbhqQBqGvksAgAAAAAAQYTN"],"type_ids":[3,3,3,3,3]},"OtKh8npcfHhiQ7ynFMPOeQ":{"address_or_lines":[4643458,4477392,4476996,4475762,4469018,4457110],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtqC","B8JRxL079xbhqQBqGvksAgAAAAAARFHQ","B8JRxL079xbhqQBqGvksAgAAAAAARFBE","B8JRxL079xbhqQBqGvksAgAAAAAAREty","B8JRxL079xbhqQBqGvksAgAAAAAARDEa","B8JRxL079xbhqQBqGvksAgAAAAAARAKW"],"type_ids":[3,3,3,3,3,3]},"TCJ8_VmEK5hAZOYdmPHyug":{"address_or_lines":[4652224,11517676,25223155,25230084,11538500,11501274,4847689],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAAAr77s","wfA2BgwfDNXUWsxkJ083RwAAAAABgN_z","wfA2BgwfDNXUWsxkJ083RwAAAAABgPsE","wfA2BgwfDNXUWsxkJ083RwAAAAAAsBBE","wfA2BgwfDNXUWsxkJ083RwAAAAAAr37a","wfA2BgwfDNXUWsxkJ083RwAAAAAASfhJ"],"type_ids":[3,3,3,3,3,3,3]},"OCdksb_5DbnTD8RB0r1Hmw":{"address_or_lines":[18515232,25399653,25432667,25428452,25361060,18103588,18097915,18123257],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABg5Fl","v6HIzNa4K6G4nRP9032RIAAAAAABhBJb","v6HIzNa4K6G4nRP9032RIAAAAAABhAHk","v6HIzNa4K6G4nRP9032RIAAAAAABgvqk","v6HIzNa4K6G4nRP9032RIAAAAAABFD0k","v6HIzNa4K6G4nRP9032RIAAAAAABFCb7","v6HIzNa4K6G4nRP9032RIAAAAAABFIn5"],"type_ids":[3,3,3,3,3,3,3,3]},"2Ov4wSepfExdnFvsJSSjog":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9504548,5043327],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQck","FWZ9q3TQKZZok58ua1HDsgAAAAAATPR_"],"type_ids":[3,3,3,3,3,3,3,3,3]},"668oRSTLMVtOeHPjJ80fWg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9506710,10521925,4547584],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQ-W","FWZ9q3TQKZZok58ua1HDsgAAAAAAoI1F","FWZ9q3TQKZZok58ua1HDsgAAAAAARWQA"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"VmRA1Zd-R_saxzv9stOlrw":{"address_or_lines":[4650848,9850853,9880398,9883181,9807044,9827268,9781937,9782483,9784009,9784300,9829781],"file_ids":["QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg"],"frame_ids":["QaIvzvU8UoclQMd_OMt-PgAAAAAARvdg","QaIvzvU8UoclQMd_OMt-PgAAAAAAlk_l","QaIvzvU8UoclQMd_OMt-PgAAAAAAlsNO","QaIvzvU8UoclQMd_OMt-PgAAAAAAls4t","QaIvzvU8UoclQMd_OMt-PgAAAAAAlaTE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlfPE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUKx","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUTT","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUrJ","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUvs","QaIvzvU8UoclQMd_OMt-PgAAAAAAlf2V"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3]},"u31aX9a6CI2OuomWQHSx1Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265796,7372663,7364083],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcH93","B8JRxL079xbhqQBqGvksAgAAAAAAcF3z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3]},"oHTQoPZFXrc9eFjCRWW_BA":{"address_or_lines":[4646312,4475111,4248744,4416245,4662882,10485923,16807,1222099,1219772,1208264,769619,768516,8542429],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWo","FWZ9q3TQKZZok58ua1HDsgAAAAAAREjn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQNSo","FWZ9q3TQKZZok58ua1HDsgAAAAAAQ2L1","FWZ9q3TQKZZok58ua1HDsgAAAAAARyZi","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT","ew01Dk0sWZctP-VaEpavqQAAAAAAEpy8","ew01Dk0sWZctP-VaEpavqQAAAAAAEm_I","ew01Dk0sWZctP-VaEpavqQAAAAAAC75T","ew01Dk0sWZctP-VaEpavqQAAAAAAC7oE","ew01Dk0sWZctP-VaEpavqQAAAAAAgljd"],"type_ids":[3,3,3,3,3,4,4,4,4,4,4,4,4]},"tIRMz0rwuOf8rRZlytIuAQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10734948,4245427,4255110,4288384],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo81k","FWZ9q3TQKZZok58ua1HDsgAAAAAAQMez","FWZ9q3TQKZZok58ua1HDsgAAAAAAQO2G","FWZ9q3TQKZZok58ua1HDsgAAAAAAQW-A"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-s21TvA-EsTWbfCutQG83Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10733818,10618404,10387225,4547736,4658752],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8j6","FWZ9q3TQKZZok58ua1HDsgAAAAAAogYk","FWZ9q3TQKZZok58ua1HDsgAAAAAAnn8Z","FWZ9q3TQKZZok58ua1HDsgAAAAAARWSY","FWZ9q3TQKZZok58ua1HDsgAAAAAARxZA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"LuHRiiYB6iq-QXoGUFYVXA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41428636,40303236,22534565,19333914,19319593],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCac","v6HIzNa4K6G4nRP9032RIAAAAAACZvqE","v6HIzNa4K6G4nRP9032RIAAAAAABV9ml","v6HIzNa4K6G4nRP9032RIAAAAAABJwMa","v6HIzNa4K6G4nRP9032RIAAAAAABJssp"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"5oh0023XVeE3U9ZP60NzUA":{"address_or_lines":[4610335,4610076,4612877,4490724,4492388,4499312,4241704,4392309,4610754,10485923,16807,1221667,1219340,1207832,769603,768500,8537181],"file_ids":["kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["kajOqZqz7V1y0BdYQLFQrwAAAAAARlkf","kajOqZqz7V1y0BdYQLFQrwAAAAAARlgc","kajOqZqz7V1y0BdYQLFQrwAAAAAARmMN","kajOqZqz7V1y0BdYQLFQrwAAAAAARIXk","kajOqZqz7V1y0BdYQLFQrwAAAAAARIxk","kajOqZqz7V1y0BdYQLFQrwAAAAAARKdw","kajOqZqz7V1y0BdYQLFQrwAAAAAAQLko","kajOqZqz7V1y0BdYQLFQrwAAAAAAQwV1","kajOqZqz7V1y0BdYQLFQrwAAAAAARlrC","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAEqQj","9LzzIocepYcOjnUsLlgOjgAAAAAAEpsM","9LzzIocepYcOjnUsLlgOjgAAAAAAEm4Y","9LzzIocepYcOjnUsLlgOjgAAAAAAC75D","9LzzIocepYcOjnUsLlgOjgAAAAAAC7n0","9LzzIocepYcOjnUsLlgOjgAAAAAAgkRd"],"type_ids":[3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"hecRkAhRG62NML7wI512zA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961373,27940684],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqgd","v6HIzNa4K6G4nRP9032RIAAAAAABqldM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"P-5EQ3lfGgit0Oj6qTKYqw":{"address_or_lines":[43732576,69263145,69263545,54339630,54340167,54179273,54179969,54177426,50376971,50377819,50384113,50377819,43742470,43723999,43620502,43619092,43672236,43616946,43623742],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIN8p","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIOC5","MNBJ5seVz_ocW6tcr1HSmwAAAAADPSgu","MNBJ5seVz_ocW6tcr1HSmwAAAAADPSpH","MNBJ5seVz_ocW6tcr1HSmwAAAAADOrXJ","MNBJ5seVz_ocW6tcr1HSmwAAAAADOriB","MNBJ5seVz_ocW6tcr1HSmwAAAAADOq6S","MNBJ5seVz_ocW6tcr1HSmwAAAAADALEL","MNBJ5seVz_ocW6tcr1HSmwAAAAADALRb","MNBJ5seVz_ocW6tcr1HSmwAAAAADAMzx","MNBJ5seVz_ocW6tcr1HSmwAAAAADALRb","MNBJ5seVz_ocW6tcr1HSmwAAAAACm3UG","MNBJ5seVz_ocW6tcr1HSmwAAAAACmyzf","MNBJ5seVz_ocW6tcr1HSmwAAAAACmZiW","MNBJ5seVz_ocW6tcr1HSmwAAAAACmZMU","MNBJ5seVz_ocW6tcr1HSmwAAAAACmmKs","MNBJ5seVz_ocW6tcr1HSmwAAAAACmYqy","MNBJ5seVz_ocW6tcr1HSmwAAAAACmaU-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"fRxnoZgNqB73ndCJkUzrxg":{"address_or_lines":[4652224,22354871,22382638,22364302,56669071,58509234,58268669,58227812,58241853,31197476,7372432,7294909,7296733,7300250,7296676,7304324,7296733,7300250,7296901,7319678],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYLOP","-pk6w5puGcp-wKnQ61BZzQAAAAADfMey","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Akk","-pk6w5puGcp-wKnQ61BZzQAAAAAAcH6Q","-pk6w5puGcp-wKnQ61BZzQAAAAAAb0-9","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1bd","-pk6w5puGcp-wKnQ61BZzQAAAAAAb2Sa","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1ak","-pk6w5puGcp-wKnQ61BZzQAAAAAAb3SE","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1bd","-pk6w5puGcp-wKnQ61BZzQAAAAAAb2Sa","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1eF","-pk6w5puGcp-wKnQ61BZzQAAAAAAb7B-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"iww2NcKTwMO4dUHXUrsfKA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528745,54499864,54500494,54477482,44043537,44060985,43329158,43326819],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQArp","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5oY","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5yO","MNBJ5seVz_ocW6tcr1HSmwAAAAADP0Kq","MNBJ5seVz_ocW6tcr1HSmwAAAAACoA0R","MNBJ5seVz_ocW6tcr1HSmwAAAAACoFE5","MNBJ5seVz_ocW6tcr1HSmwAAAAAClSaG","MNBJ5seVz_ocW6tcr1HSmwAAAAAClR1j"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"dP8WPiIXitz7dopr2cbyrg":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59179681,31752932,6709512,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16807,2741196,2827770,2817684,2805156,3383048,8438368],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwKh","B8JRxL079xbhqQBqGvksAgAAAAAB5ILk","B8JRxL079xbhqQBqGvksAgAAAAAAZmEI","B8JRxL079xbhqQBqGvksAgAAAAAAS40k","B8JRxL079xbhqQBqGvksAgAAAAAAS7A6","B8JRxL079xbhqQBqGvksAgAAAAAASFtz","B8JRxL079xbhqQBqGvksAgAAAAAASJnd","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U","A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k","A2oiHVwisByxRn5RDT4LjAAAAAAAM58I","A2oiHVwisByxRn5RDT4LjAAAAAAAgMJg"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"c84Ph1EEsEpt9KFMdSQvtA":{"address_or_lines":[152249,135481,144741,190122,831754,827742,928935,925466,103752,102294,97206,439344,486674,922914,10485923,16807,2756288,2755416,2924693,3066448,4344,2925966,8437662],"file_ids":["w5zBqPf1_9mIVEf-Rn7EdA","Z_CHd3Zjsh2cWE2NSdbiNQ","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","LHNvPtcKBt87cCBX8aTNhQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAlK5","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAjVl","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAuaq","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADLEK","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADKFe","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADiyn","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADh8a","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAXu2","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAABrQw","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB20S","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADhUi","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAALKCV","A2oiHVwisByxRn5RDT4LjAAAAAAALspQ","LHNvPtcKBt87cCBX8aTNhQAAAAAAABD4","A2oiHVwisByxRn5RDT4LjAAAAAAALKWO","A2oiHVwisByxRn5RDT4LjAAAAAAAgL-e"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"DkjcsUWzUMWlzGIG7vWPLA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54556506,44024036,44026008,44007166,43828228,43837959,43282962,43282989,10485923,16807,2845749,2845580,2841596,3335577,3325166,699747],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHda","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8Dk","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8iY","MNBJ5seVz_ocW6tcr1HSmwAAAAACn37-","MNBJ5seVz_ocW6tcr1HSmwAAAAACnMQE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1","A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM","A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8","A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ","A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu","A2oiHVwisByxRn5RDT4LjAAAAAAACq1j"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"O7XAt57p5nvwpgeB2KrNbw":{"address_or_lines":[12540096,19004791,19032250,19014236,19907031,31278974,31279321,31305795,31279321,31290406,31279321,31317002,19907351,21668882,21654434,21097575,20766142,16277099,16285669,16307614,16278212,12403428,12120854,12121189,12544111],"file_ids":["67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg"],"frame_ids":["67s2TwiMngM0yin5Y8pvEgAAAAAAv1jA","67s2TwiMngM0yin5Y8pvEgAAAAABIf13","67s2TwiMngM0yin5Y8pvEgAAAAABImi6","67s2TwiMngM0yin5Y8pvEgAAAAABIiJc","67s2TwiMngM0yin5Y8pvEgAAAAABL8HX","67s2TwiMngM0yin5Y8pvEgAAAAAB3Ud-","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3bBD","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3XQm","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3dwK","67s2TwiMngM0yin5Y8pvEgAAAAABL8MX","67s2TwiMngM0yin5Y8pvEgAAAAABSqQS","67s2TwiMngM0yin5Y8pvEgAAAAABSmui","67s2TwiMngM0yin5Y8pvEgAAAAABQexn","67s2TwiMngM0yin5Y8pvEgAAAAABPN2-","67s2TwiMngM0yin5Y8pvEgAAAAAA-F5r","67s2TwiMngM0yin5Y8pvEgAAAAAA-H_l","67s2TwiMngM0yin5Y8pvEgAAAAAA-NWe","67s2TwiMngM0yin5Y8pvEgAAAAAA-GLE","67s2TwiMngM0yin5Y8pvEgAAAAAAvULk","67s2TwiMngM0yin5Y8pvEgAAAAAAuPMW","67s2TwiMngM0yin5Y8pvEgAAAAAAuPRl","67s2TwiMngM0yin5Y8pvEgAAAAAAv2hv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Oam9nmQfwQpA_10YTKZCkg":{"address_or_lines":[4652224,58596086,58544235,10401064,10401333,10401661,58561029,58544882,58545860,58550052,58558939,56502167,58377199,58374713,5176491,5212551,5201562,5198538,12589080,12593882,12537260,12591620,12402541,12450679,4552007,4551401],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAADfhr2","wfA2BgwfDNXUWsxkJ083RwAAAAADfVBr","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrUo","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrY1","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrd9","wfA2BgwfDNXUWsxkJ083RwAAAAADfZIF","wfA2BgwfDNXUWsxkJ083RwAAAAADfVLy","wfA2BgwfDNXUWsxkJ083RwAAAAADfVbE","wfA2BgwfDNXUWsxkJ083RwAAAAADfWck","wfA2BgwfDNXUWsxkJ083RwAAAAADfYnb","wfA2BgwfDNXUWsxkJ083RwAAAAADXieX","wfA2BgwfDNXUWsxkJ083RwAAAAADesPv","wfA2BgwfDNXUWsxkJ083RwAAAAADero5","wfA2BgwfDNXUWsxkJ083RwAAAAAATvyr","wfA2BgwfDNXUWsxkJ083RwAAAAAAT4mH","wfA2BgwfDNXUWsxkJ083RwAAAAAAT16a","wfA2BgwfDNXUWsxkJ083RwAAAAAAT1LK","wfA2BgwfDNXUWsxkJ083RwAAAAAAwBgY","wfA2BgwfDNXUWsxkJ083RwAAAAAAwCra","wfA2BgwfDNXUWsxkJ083RwAAAAAAv02s","wfA2BgwfDNXUWsxkJ083RwAAAAAAwCIE","wfA2BgwfDNXUWsxkJ083RwAAAAAAvT9t","wfA2BgwfDNXUWsxkJ083RwAAAAAAvft3","wfA2BgwfDNXUWsxkJ083RwAAAAAARXVH","wfA2BgwfDNXUWsxkJ083RwAAAAAARXLp"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"gM71DK9QAb25Em9dhlNNXA":{"address_or_lines":[4602912,7755816,7756100,7759920,7760733,7744869,8376791,8749164,8618561,8132341,8137261,8133828,8067381,8671283,5977431,5085785,5087348,4663256,4670457,4680028,4694485,10485923,16807,2795169,2795020,2794811,2794363],"file_ids":["kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["kajOqZqz7V1y0BdYQLFQrwAAAAAARjwg","kajOqZqz7V1y0BdYQLFQrwAAAAAAdlgo","kajOqZqz7V1y0BdYQLFQrwAAAAAAdllE","kajOqZqz7V1y0BdYQLFQrwAAAAAAdmgw","kajOqZqz7V1y0BdYQLFQrwAAAAAAdmtd","kajOqZqz7V1y0BdYQLFQrwAAAAAAdi1l","kajOqZqz7V1y0BdYQLFQrwAAAAAAf9HX","kajOqZqz7V1y0BdYQLFQrwAAAAAAhYBs","kajOqZqz7V1y0BdYQLFQrwAAAAAAg4JB","kajOqZqz7V1y0BdYQLFQrwAAAAAAfBb1","kajOqZqz7V1y0BdYQLFQrwAAAAAAfCot","kajOqZqz7V1y0BdYQLFQrwAAAAAAfBzE","kajOqZqz7V1y0BdYQLFQrwAAAAAAexk1","kajOqZqz7V1y0BdYQLFQrwAAAAAAhFAz","kajOqZqz7V1y0BdYQLFQrwAAAAAAWzVX","kajOqZqz7V1y0BdYQLFQrwAAAAAATZpZ","kajOqZqz7V1y0BdYQLFQrwAAAAAATaB0","kajOqZqz7V1y0BdYQLFQrwAAAAAARyfY","kajOqZqz7V1y0BdYQLFQrwAAAAAAR0P5","kajOqZqz7V1y0BdYQLFQrwAAAAAAR2lc","kajOqZqz7V1y0BdYQLFQrwAAAAAAR6HV","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKqah","9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM","9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7","9LzzIocepYcOjnUsLlgOjgAAAAAAKqN7"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4]},"VoyVx3eKZvx3I7o9LV75WA":{"address_or_lines":[4652224,22354373,22356417,22043891,9840916,9838765,4872825,5688954,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16807,2756288,2755416,2744627,6715329,7926130,7924288,7914841,6798266,6797590,6797444,2726038],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVRnF","B8JRxL079xbhqQBqGvksAgAAAAABVSHB","B8JRxL079xbhqQBqGvksAgAAAAABUFzz","B8JRxL079xbhqQBqGvksAgAAAAAAlikU","B8JRxL079xbhqQBqGvksAgAAAAAAliCt","B8JRxL079xbhqQBqGvksAgAAAAAASlp5","B8JRxL079xbhqQBqGvksAgAAAAAAVs56","B8JRxL079xbhqQBqGvksAgAAAAAAVUwE","B8JRxL079xbhqQBqGvksAgAAAAAAVATI","B8JRxL079xbhqQBqGvksAgAAAAAASsLk","B8JRxL079xbhqQBqGvksAgAAAAAASHZk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB","A2oiHVwisByxRn5RDT4LjAAAAAAAePFy","A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA","A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE","A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"6MfMhGSHuQ0CLUxktz5OVg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901252,19907431,18154044,18082996],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8Nn","v6HIzNa4K6G4nRP9032RIAAAAAABFQI8","v6HIzNa4K6G4nRP9032RIAAAAAABE-y0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"9pWzAEbyffmwRrKvRecyaQ":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895453,19846041,19847127,19902436,19861609,19902628,19862836,19902820,19863773,19901256,19856467,19901444,19858041,18647118,18648496,18406502,18049625],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5Sd","j8DVIOTu7Btj9lgFefJ84AAAAAABLtOZ","j8DVIOTu7Btj9lgFefJ84AAAAAABLtfX","j8DVIOTu7Btj9lgFefJ84AAAAAABL6_k","j8DVIOTu7Btj9lgFefJ84AAAAAABLxBp","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Ck","j8DVIOTu7Btj9lgFefJ84AAAAAABLxU0","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Fk","j8DVIOTu7Btj9lgFefJ84AAAAAABLxjd","j8DVIOTu7Btj9lgFefJ84AAAAAABL6tI","j8DVIOTu7Btj9lgFefJ84AAAAAABLvxT","j8DVIOTu7Btj9lgFefJ84AAAAAABL6wE","j8DVIOTu7Btj9lgFefJ84AAAAAABLwJ5","j8DVIOTu7Btj9lgFefJ84AAAAAABHIhO","j8DVIOTu7Btj9lgFefJ84AAAAAABHI2w","j8DVIOTu7Btj9lgFefJ84AAAAAABGNxm","j8DVIOTu7Btj9lgFefJ84AAAAAABE2pZ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"DK4Iffrk3v05Awun60ygow":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41460538,41453510,39933561,34157889,34191237,32888264,25716990,34278084,34202797,25717430,25848062,25843154,25848772,25852175,25783796,25513444,25512912,32939143,32929768,24984119,18131287],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeKM6","v6HIzNa4K6G4nRP9032RIAAAAAACeIfG","v6HIzNa4K6G4nRP9032RIAAAAAACYVZ5","v6HIzNa4K6G4nRP9032RIAAAAAACCTVB","v6HIzNa4K6G4nRP9032RIAAAAAACCbeF","v6HIzNa4K6G4nRP9032RIAAAAAAB9dXI","v6HIzNa4K6G4nRP9032RIAAAAAABiGj-","v6HIzNa4K6G4nRP9032RIAAAAAACCwrE","v6HIzNa4K6G4nRP9032RIAAAAAACCeSt","v6HIzNa4K6G4nRP9032RIAAAAAABiGq2","v6HIzNa4K6G4nRP9032RIAAAAAABimj-","v6HIzNa4K6G4nRP9032RIAAAAAABilXS","v6HIzNa4K6G4nRP9032RIAAAAAABimvE","v6HIzNa4K6G4nRP9032RIAAAAAABinkP","v6HIzNa4K6G4nRP9032RIAAAAAABiW30","v6HIzNa4K6G4nRP9032RIAAAAAABhU3k","v6HIzNa4K6G4nRP9032RIAAAAAABhUvQ","v6HIzNa4K6G4nRP9032RIAAAAAAB9pyH","v6HIzNa4K6G4nRP9032RIAAAAAAB9nfo","v6HIzNa4K6G4nRP9032RIAAAAAABfTo3","v6HIzNa4K6G4nRP9032RIAAAAAABFKlX"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"4r_hCJ268ciweOwgH0Qwzw":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19046138,19039453,18993092,18869484,18879802,10485923,16807,2756169,2891746,2888851],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp76","v6HIzNa4K6G4nRP9032RIAAAAAABIoTd","v6HIzNa4K6G4nRP9032RIAAAAAABIc_E","v6HIzNa4K6G4nRP9032RIAAAAAABH-zs","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg5J","A2oiHVwisByxRn5RDT4LjAAAAAAALB_i","A2oiHVwisByxRn5RDT4LjAAAAAAALBST"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"VC42Hg55_L_IfaF_actjIw":{"address_or_lines":[4652224,30971941,30986245,30988292,30990568,31382091,30723428,25540326,25548827,25550707,25503568,25504356,25481468,25481277,25484807,25485060,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16743,2737420,2823946,2813708,2804875,2803431,2801020,2796664,2900191,2900031],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAAB2Jgl","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NAF","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NgE","-pk6w5puGcp-wKnQ61BZzQAAAAAB2ODo","-pk6w5puGcp-wKnQ61BZzQAAAAAB3tpL","-pk6w5puGcp-wKnQ61BZzQAAAAAB1M1k","-pk6w5puGcp-wKnQ61BZzQAAAAABhbbm","-pk6w5puGcp-wKnQ61BZzQAAAAABhdgb","-pk6w5puGcp-wKnQ61BZzQAAAAABhd9z","-pk6w5puGcp-wKnQ61BZzQAAAAABhSdQ","-pk6w5puGcp-wKnQ61BZzQAAAAABhSpk","-pk6w5puGcp-wKnQ61BZzQAAAAABhND8","-pk6w5puGcp-wKnQ61BZzQAAAAABhNA9","-pk6w5puGcp-wKnQ61BZzQAAAAABhN4H","-pk6w5puGcp-wKnQ61BZzQAAAAABhN8E","-pk6w5puGcp-wKnQ61BZzQAAAAAAS40k","-pk6w5puGcp-wKnQ61BZzQAAAAAAS7A6","-pk6w5puGcp-wKnQ61BZzQAAAAAASFtz","-pk6w5puGcp-wKnQ61BZzQAAAAAASJnd","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu8M","piWSMQrh4r040D0BPNaJvwAAAAAAKsyL","piWSMQrh4r040D0BPNaJvwAAAAAAKsbn","piWSMQrh4r040D0BPNaJvwAAAAAAKr18","piWSMQrh4r040D0BPNaJvwAAAAAAKqx4","piWSMQrh4r040D0BPNaJvwAAAAAALEDf","piWSMQrh4r040D0BPNaJvwAAAAAALEA_"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"7l18-g5emVzljYbZzZJDRA":{"address_or_lines":[4652224,57367531,57370109,31789066,31776683,58631656,57895320,57890805,57903406,31388307,31007417,30973013,30989730,30933387,30773764,30777712,30779690,30778532,4952297,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16743,2737420,2823946,2813708,2804913,2798877,3355670,8461220],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAADa1vr","-pk6w5puGcp-wKnQ61BZzQAAAAADa2X9","-pk6w5puGcp-wKnQ61BZzQAAAAAB5RAK","-pk6w5puGcp-wKnQ61BZzQAAAAAB5N-r","-pk6w5puGcp-wKnQ61BZzQAAAAADfqXo","-pk6w5puGcp-wKnQ61BZzQAAAAADc2mY","-pk6w5puGcp-wKnQ61BZzQAAAAADc1f1","-pk6w5puGcp-wKnQ61BZzQAAAAADc4ku","-pk6w5puGcp-wKnQ61BZzQAAAAAB3vKT","-pk6w5puGcp-wKnQ61BZzQAAAAAB2SK5","-pk6w5puGcp-wKnQ61BZzQAAAAAB2JxV","-pk6w5puGcp-wKnQ61BZzQAAAAAB2N2i","-pk6w5puGcp-wKnQ61BZzQAAAAAB2AGL","-pk6w5puGcp-wKnQ61BZzQAAAAAB1ZIE","-pk6w5puGcp-wKnQ61BZzQAAAAAB1aFw","-pk6w5puGcp-wKnQ61BZzQAAAAAB1akq","-pk6w5puGcp-wKnQ61BZzQAAAAAB1aSk","-pk6w5puGcp-wKnQ61BZzQAAAAAAS5Dp","-pk6w5puGcp-wKnQ61BZzQAAAAAAS40k","-pk6w5puGcp-wKnQ61BZzQAAAAAAS7A6","-pk6w5puGcp-wKnQ61BZzQAAAAAASFtz","-pk6w5puGcp-wKnQ61BZzQAAAAAASJnd","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu8M","piWSMQrh4r040D0BPNaJvwAAAAAAKsyx","piWSMQrh4r040D0BPNaJvwAAAAAAKrUd","piWSMQrh4r040D0BPNaJvwAAAAAAMzQW","piWSMQrh4r040D0BPNaJvwAAAAAAgRuk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"PkHiro08_uzuUWpeantpNA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19977269,22569935,22570653,19208948,22544340,19208919,19208225,22608882,19754692,19668808,19001325,18870508,18879802,10485923,16807,2756848,2756092,2745322,6715782,6715626,7927405,7924037],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNQ1","v6HIzNa4K6G4nRP9032RIAAAAAABWGPP","v6HIzNa4K6G4nRP9032RIAAAAAABWGad","v6HIzNa4K6G4nRP9032RIAAAAAABJRr0","v6HIzNa4K6G4nRP9032RIAAAAAABV__U","v6HIzNa4K6G4nRP9032RIAAAAAABJRrX","v6HIzNa4K6G4nRP9032RIAAAAAABJRgh","v6HIzNa4K6G4nRP9032RIAAAAAABWPvy","v6HIzNa4K6G4nRP9032RIAAAAAABLW7E","v6HIzNa4K6G4nRP9032RIAAAAAABLB9I","v6HIzNa4K6G4nRP9032RIAAAAAABIe_t","v6HIzNa4K6G4nRP9032RIAAAAAABH_Ds","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw","ew01Dk0sWZctP-VaEpavqQAAAAAAKg38","ew01Dk0sWZctP-VaEpavqQAAAAAAKePq","ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG","ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq","ew01Dk0sWZctP-VaEpavqQAAAAAAePZt","ew01Dk0sWZctP-VaEpavqQAAAAAAeOlF"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"9EcGjMrQwznPlnAdDi9Lxw":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901252,19908516,19901309,19904117,19988362,19897796,19899069,19901309,19904677,19901380,19901069],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7Z1","v6HIzNa4K6G4nRP9032RIAAAAAABMP-K","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6vE","v6HIzNa4K6G4nRP9032RIAAAAAABL6qN"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"tagsGmBta7BnDHBzEbH9eQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19977269,22569935,22570653,19208948,22544340,19208919,19208225,22608882,19754692,19668808,19001325,18870508,18879802,10485923,16807,2756848,2756092,2745322,6715782,6715626,7927445,6732427,882422,8542429],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNQ1","v6HIzNa4K6G4nRP9032RIAAAAAABWGPP","v6HIzNa4K6G4nRP9032RIAAAAAABWGad","v6HIzNa4K6G4nRP9032RIAAAAAABJRr0","v6HIzNa4K6G4nRP9032RIAAAAAABV__U","v6HIzNa4K6G4nRP9032RIAAAAAABJRrX","v6HIzNa4K6G4nRP9032RIAAAAAABJRgh","v6HIzNa4K6G4nRP9032RIAAAAAABWPvy","v6HIzNa4K6G4nRP9032RIAAAAAABLW7E","v6HIzNa4K6G4nRP9032RIAAAAAABLB9I","v6HIzNa4K6G4nRP9032RIAAAAAABIe_t","v6HIzNa4K6G4nRP9032RIAAAAAABH_Ds","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw","ew01Dk0sWZctP-VaEpavqQAAAAAAKg38","ew01Dk0sWZctP-VaEpavqQAAAAAAKePq","ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG","ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq","ew01Dk0sWZctP-VaEpavqQAAAAAAePaV","ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL","ew01Dk0sWZctP-VaEpavqQAAAAAADXb2","ew01Dk0sWZctP-VaEpavqQAAAAAAgljd"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"euPXE4-KNZJD0T6j_TMfYw":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1091600,7046,2795776,1483241,1482767,2600004,1074397,11342,13400,51888,12612,2578675,2599636,1091600,7744,52134,33264,2795776,1483241,1482767,2600004,1073803,11342,13400,51888,12396,16726,41698,2852079,2851771,2850043,1501120,1495723],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","lLD39yzd4Cg8F13tcGpzGQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","dCCKy6JoX0PADOFic8hRNQ","9w9lF96vJW7ZhBoZ8ETsBw","xUQuo4OgBaS_Le-fdAwt8A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","lLD39yzd4Cg8F13tcGpzGQAAAAAAABuG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAACxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAADRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAMqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","dCCKy6JoX0PADOFic8hRNQAAAAAAAB5A","9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAMum","xUQuo4OgBaS_Le-fdAwt8AAAAAAAAIHw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAACxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAADRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAMqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAKLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3z7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFufA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFtKr"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3]},"cL14TWzNnz1qK2PUYdE9bg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791289,24794610,24781052,24778417,19046138,19039453,18993092,18869484,18879802,10485923,16807,2756560,2755688,2744899,3827767,3827522,2050302,4868077,4855697,8473771],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekj5","v6HIzNa4K6G4nRP9032RIAAAAAABelXy","v6HIzNa4K6G4nRP9032RIAAAAAABeiD8","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp76","v6HIzNa4K6G4nRP9032RIAAAAAABIoTd","v6HIzNa4K6G4nRP9032RIAAAAAABIc_E","v6HIzNa4K6G4nRP9032RIAAAAAABH-zs","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3","ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC","ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-","ew01Dk0sWZctP-VaEpavqQAAAAAASkft","ew01Dk0sWZctP-VaEpavqQAAAAAASheR","ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"9wXZUZEeGMQm83C5yXCZ2g":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708823,24695729,24696049,18965430,18965669,18966052,18973868,18911086,18905330,18910928,18783663,18799034,10485923,16900,15534,703491,2755412,3875596,3765212,3542694,3677893],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbX","j8DVIOTu7Btj9lgFefJ84AAAAAABeNOx","j8DVIOTu7Btj9lgFefJ84AAAAAABeNTx","j8DVIOTu7Btj9lgFefJ84AAAAAABIWO2","j8DVIOTu7Btj9lgFefJ84AAAAAABIWSl","j8DVIOTu7Btj9lgFefJ84AAAAAABIWYk","j8DVIOTu7Btj9lgFefJ84AAAAAABIYSs","j8DVIOTu7Btj9lgFefJ84AAAAAABII9u","j8DVIOTu7Btj9lgFefJ84AAAAAABIHjy","j8DVIOTu7Btj9lgFefJ84AAAAAABII7Q","j8DVIOTu7Btj9lgFefJ84AAAAAABHp2v","j8DVIOTu7Btj9lgFefJ84AAAAAABHtm6","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEIE","piWSMQrh4r040D0BPNaJvwAAAAAAADyu","piWSMQrh4r040D0BPNaJvwAAAAAACrwD","piWSMQrh4r040D0BPNaJvwAAAAAAKgtU","piWSMQrh4r040D0BPNaJvwAAAAAAOyMM","piWSMQrh4r040D0BPNaJvwAAAAAAOXPc","piWSMQrh4r040D0BPNaJvwAAAAAANg6m","piWSMQrh4r040D0BPNaJvwAAAAAAOB7F"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"bz1cYNqu8MBH2xCXTMEiAg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7507990,7549300],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpAW","ew01Dk0sWZctP-VaEpavqQAAAAAAczF0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"fCScXsJaisrZL_JXgS4qQg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7436960,6766701,6769642,2098164],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg","9LzzIocepYcOjnUsLlgOjgAAAAAAZ0Bt","9LzzIocepYcOjnUsLlgOjgAAAAAAZ0vq","9LzzIocepYcOjnUsLlgOjgAAAAAAIAP0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"V-MDb_Yh073ps9Vw4ypmDQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7439971,6798378,6797702,6797556,2726148],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7mG","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0","ew01Dk0sWZctP-VaEpavqQAAAAAAKZkE"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"wAujHiFN47_oNUI63d6EtA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7513502,6765905,6759805,2574033,2218596],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe","ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R","ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9","ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR","ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"zMMsPlSW5HOq5bsuVRh3KA":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2822585,3001783,2924437,3111967,3095700,156159,136830,285452,1430646,1449979,1447865,1447752,1446446,1188192,1188137,220151,219438,219438,219438,219438,219438,219425,219589,1446206],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","9HZ7GQCC6G9fZlRD7aGzXQ","9HZ7GQCC6G9fZlRD7aGzXQ","9HZ7GQCC6G9fZlRD7aGzXQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","huWyXZbCBWCe2ZtK9BiokQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxG5","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3wf","-p9BlJh9JZMPPNjY_j92ngAAAAAALzyU","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhZ-","9HZ7GQCC6G9fZlRD7aGzXQAAAAAABFsM","huWyXZbCBWCe2ZtK9BiokQAAAAAAFdR2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFh_7","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhe5","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhdI","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhIu","huWyXZbCBWCe2ZtK9BiokQAAAAAAEiFg","huWyXZbCBWCe2ZtK9BiokQAAAAAAEiEp","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1v3","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1kh","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1nF","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhE-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"pLdowTKUS5KSwivHyl5AgA":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2823003,3007344,3001783,2924437,3112045,3104142,1417998,1456694,1456323,1393341,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1344317,1318852,1317790,1316548,1337360,1338921,1188023],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxNb","-p9BlJh9JZMPPNjY_j92ngAAAAAALeNw","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3xt","-p9BlJh9JZMPPNjY_j92ngAAAAAAL12O","huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD","huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBue","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBbE","huWyXZbCBWCe2ZtK9BiokQAAAAAAFGgQ","huWyXZbCBWCe2ZtK9BiokQAAAAAAFG4p","huWyXZbCBWCe2ZtK9BiokQAAAAAAEiC3"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"_ef-NJahpYK_FzFC-KdtYQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,29942,33148,3444,27444,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1072174,33518,35576,8560,17976,49494,22596,3272936,3254825,1481992,1534257,3238809,3051716,67008,10485923,16807,2756288,2755416,2744627,3827463,3827218,2049230,2042319,2040147,2469374],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","eOfhJQFIxbIEScd007tROw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAAIF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAA10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFwu","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAFhE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMfDo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMaop","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp0I","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF2kx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMWuZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALpDE","eOfhJQFIxbIEScd007tROwAAAAAAAQXA","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAOmcH","A2oiHVwisByxRn5RDT4LjAAAAAAAOmYS","A2oiHVwisByxRn5RDT4LjAAAAAAAH0TO","A2oiHVwisByxRn5RDT4LjAAAAAAAHynP","A2oiHVwisByxRn5RDT4LjAAAAAAAHyFT","A2oiHVwisByxRn5RDT4LjAAAAAAAJa3-"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"omG-i9KffSi3YT8q0rYOiw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508344,7393457,7394824,7384416,6869315,6866863,2620,6841654,6841533],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","6miIyyucTZf5zXHCk7PT1g","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4","ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx","ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI","ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g","ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD","ew01Dk0sWZctP-VaEpavqQAAAAAAaMev","6miIyyucTZf5zXHCk7PT1gAAAAAAAAo8","ew01Dk0sWZctP-VaEpavqQAAAAAAaGU2","ew01Dk0sWZctP-VaEpavqQAAAAAAaGS9"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"XiONbb-veQ1sAuFD6_Fv0A":{"address_or_lines":[48,38,174,104,68,200,38,174,104,68,60,38,174,104,68,92,38,174,104,68,4,38,174,104,10,10,38,174,104,68,20,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044807,2041460,1171829,2265239,2264574,2258601,1016100],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5sij7Z672VAK_gGoPDPJBg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","PCeTYI0HN2oKNST6e1IaQQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","U4FmFVJMlNKhF1hVl3Xj1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","JR7ekk9KGQJKKPohpdwCLQ","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rpRn_rYC3CgtEgBAUrkZZg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAADI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5sij7Z672VAK_gGoPDPJBgAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","PCeTYI0HN2oKNST6e1IaQQAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","U4FmFVJMlNKhF1hVl3Xj1AAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","JR7ekk9KGQJKKPohpdwCLQAAAAAAAAAK","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rpRn_rYC3CgtEgBAUrkZZgAAAAAAAAAU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzOH","G68hjsyagwq6LpWrMjDdngAAAAAAHyZ0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInap","G68hjsyagwq6LpWrMjDdngAAAAAAD4Ek"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3]},"krdohOL0KiVMtm4q-6fmjg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,5836,10976,12298,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1079144,37910,8000,46852,32076,49840,40252,33434,32730,43978,37948,30428,26428,19370,1480209,1940645,1970099,1481300,1480695,2595076,1079144,20016,37192,1480141,1913750],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","okehWevKsEA4q6dk779jgw","-IuadWGT89NVzIyF_Emodw","XXJY7v4esGWnaxtMW3FA0g","FbrXdcA4j750RyQ3q9JXMw","pL34QuyxyP6XYzGDBMK_5w","IoAk4kM-M4DsDPp7ia5QXw","uHLoBslr3h6S7ooNeXzEbw","iRoTPXvR_cRsnzDO-aurpQ","fB79lJck2X90l-j7VqPR-Q","gbMheDI1NZ3NY96J0seddg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GquRfhZBLBKr9rIBPuH3nA","_DA_LSFNMjbu9L2Dcselpw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAABbM","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW","ne8F__HPIVgxgycJADVSzAAAAAAAAB9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE","okehWevKsEA4q6dk779jgwAAAAAAAH1M","-IuadWGT89NVzIyF_EmodwAAAAAAAMKw","XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08","FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa","pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a","IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK","uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8","iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc","fB79lJck2X90l-j7VqPR-QAAAAAAAGc8","gbMheDI1NZ3NY96J0seddgAAAAAAAEuq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpf3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w","_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpXN","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHTOW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,1,3,3]},"N2LqhupgLi4T_B9D7JaDDQ":{"address_or_lines":[4623648,7066994,7068484,7069849,7058446,10002970,10005676,10124500,9016547,11291366,9016547,24500423,24494926,9016547,10689293,10690744,9016547,24494153,24444068,9016547,24526481,9016547,12769612,10684953,24495408,10128820,7327937,7071629,7072042,7142576,5627718,5631637,5512164,4910105,4760761,4777496,4778618,10485923,16743,6659981,6654519,6650911,6650061,8052504,7525822,7331115,7324128,6674998,6706722,6700261,2539310],"file_ids":["JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["JsObMPhfT_zO2Q_B1cPLxAAAAAAARo0g","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9Vy","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9tE","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-CZ","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa7QO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKIa","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKys","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmnzU","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAArErm","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABddjH","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcNO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoxsN","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoyC4","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcBJ","JsObMPhfT_zO2Q_B1cPLxAAAAAABdPyk","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdj6R","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAwtlM","JsObMPhfT_zO2Q_B1cPLxAAAAAAAowoZ","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcUw","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmo20","JsObMPhfT_zO2Q_B1cPLxAAAAAAAb9DB","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-eN","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-kq","JsObMPhfT_zO2Q_B1cPLxAAAAAAAbPyw","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVd9G","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVe6V","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVBvk","JsObMPhfT_zO2Q_B1cPLxAAAAAAASuwZ","JsObMPhfT_zO2Q_B1cPLxAAAAAAASKS5","JsObMPhfT_zO2Q_B1cPLxAAAAAAASOYY","JsObMPhfT_zO2Q_B1cPLxAAAAAAASOp6","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAZZ-N","piWSMQrh4r040D0BPNaJvwAAAAAAZYo3","piWSMQrh4r040D0BPNaJvwAAAAAAZXwf","piWSMQrh4r040D0BPNaJvwAAAAAAZXjN","piWSMQrh4r040D0BPNaJvwAAAAAAet8Y","piWSMQrh4r040D0BPNaJvwAAAAAActW-","piWSMQrh4r040D0BPNaJvwAAAAAAb90r","piWSMQrh4r040D0BPNaJvwAAAAAAb8Hg","piWSMQrh4r040D0BPNaJvwAAAAAAZdo2","piWSMQrh4r040D0BPNaJvwAAAAAAZlYi","piWSMQrh4r040D0BPNaJvwAAAAAAZjzl","piWSMQrh4r040D0BPNaJvwAAAAAAJr8u"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"7TvODt8WtQ5KXTmYPsDI3A":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,54988,10976,61450,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1079144,21526,8000,30022,59542,29542,18986,21536,54462,53814,11024,12030,61026,21014,45460,42632,1480209,3459845,1479516,2595076,1050939,23882,1371605,2194798,2100556,2032414,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","cBO14nNDW8EW0oaZDaZipw","C64RiOp1JIPwHLB_iHDa0A","xvApUwdY2y4sFaZRNrMv5g","vsalcPHh9qLgsdKtk190IA","QsuqlohtoJfpo6vQ6tHa2A","8ep9l3WIVYErRiHtmAdvew","nPWpQrEmCn54Ou0__aZyJA","-xcELApECIipEESUIWed9w","L_saUsdri-UdXCut6Tdtng","uHLoBslr3h6S7ooNeXzEbw","p19NBQ2pky4eRJM7tgeenw","55ABUc9FqQ0uj-yn-sTq2A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1msFlmxT18lYvJkx-hfGPg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAANbM","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAPAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAAFQW","ne8F__HPIVgxgycJADVSzAAAAAAAAB9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAAHVG","cBO14nNDW8EW0oaZDaZipwAAAAAAAOiW","C64RiOp1JIPwHLB_iHDa0AAAAAAAAHNm","xvApUwdY2y4sFaZRNrMv5gAAAAAAAEoq","vsalcPHh9qLgsdKtk190IAAAAAAAAFQg","QsuqlohtoJfpo6vQ6tHa2AAAAAAAANS-","8ep9l3WIVYErRiHtmAdvewAAAAAAANI2","nPWpQrEmCn54Ou0__aZyJAAAAAAAACsQ","-xcELApECIipEESUIWed9wAAAAAAAC7-","L_saUsdri-UdXCut6TdtngAAAAAAAO5i","uHLoBslr3h6S7ooNeXzEbwAAAAAAAFIW","p19NBQ2pky4eRJM7tgeenwAAAAAAALGU","55ABUc9FqQ0uj-yn-sTq2AAAAAAAAKaI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANMsF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAk7","1msFlmxT18lYvJkx-hfGPgAAAAAAAF1K","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFO3V","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIX1u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIA1M","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHwMe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3]},"u1L6jqeUaTNx1a2aJ9yFwA":{"address_or_lines":[74,6,18,8,18,80,24,4,84,38,174,104,68,128,38,174,104,68,64,38,174,104,68,84,38,174,104,68,100,140,10,38,174,104,68,60,38,174,104,14,32,38,32,786829,1090933,2561389,794630,788130,1197115,2578326,1109790,1111453,1034624],"file_ids":["a5aMcPOeWx28QSVng73nBQ","inI9W0bfekFTCpu0ceKTHg","RPwdw40HEBL87wRkKV2ozw","pT2bgvKv3bKR6LMAYtKFRw","Rsr7q4vCSh2ppRtyNkwZAA","cKQfWSgZRgu_1Goz5QGSHw","T2fhmP8acUvRZslK7YRDPw","lrxXzNEmAlflj7bCNDjxdA","SMoSw8cr-PdrIATvljOPrQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xaCec3W8F6xlvd_EISI7vw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","GYpj0RgmHJTfD-_w_Fx69w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","b78FoZPzgl20nGrU0Zu24g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5ZxW56RI3EOJxqCWjdkdHg","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","7l7IlhF_Z6_Ribw1CW945Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","imaY9TOf2pKX0_q1vRTskQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAABK","inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG","RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS","pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI","Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS","cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ","T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY","lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE","SMoSw8cr-PdrIATvljOPrQAAAAAAAABU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xaCec3W8F6xlvd_EISI7vwAAAAAAAACA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","GYpj0RgmHJTfD-_w_Fx69wAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","b78FoZPzgl20nGrU0Zu24gAAAAAAAABU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5ZxW56RI3EOJxqCWjdkdHgAAAAAAAABk","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","7l7IlhF_Z6_Ribw1CW945QAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAAm","imaY9TOf2pKX0_q1vRTskQAAAAAAAAAg","G68hjsyagwq6LpWrMjDdngAAAAAADAGN","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAJxVt","G68hjsyagwq6LpWrMjDdngAAAAAADCAG","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkQ7","G68hjsyagwq6LpWrMjDdngAAAAAAJ1eW","G68hjsyagwq6LpWrMjDdngAAAAAAEO8e","G68hjsyagwq6LpWrMjDdngAAAAAAEPWd","G68hjsyagwq6LpWrMjDdngAAAAAAD8mA"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"8uzy4VW9n0Z8KokUdeadfg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,17004,2834,14028,27360,55578,1480209,1969795,1481300,1480601,2595076,1079485,18126,36558,2460,42724,46700,1479608,1493928,2595076,1079485,30578,15346,1479608,2595076,1079485,57180,32508,1276,30612,1479516,2595076,1079485,63696,30612,1479516,2595076,1073749,60436,3118304,766784,10485923,16807,2741196,2827770,2817684,2804657,2869654],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","GdaBUD9IUEkKxIBryNqV2w","QU8QLoFK6ojrywKrBFfTzA","V558DAsp4yi8bwa8eYwk5Q","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","cHp4MwXaY5FCuFRuAA6tWw","-9oyoP4Jj2iRkwEezqId-g","Kq9d0b1CBVEQZUtuJtmlJg","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS","grZNsSElR5ITq8H2yHCNSwAAAAAAADbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAANka","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","EFJHOn-GACfHXgae-R1yDAAAAAAAAEbO","GdaBUD9IUEkKxIBryNqV2wAAAAAAAI7O","QU8QLoFK6ojrywKrBFfTzAAAAAAAAAmc","V558DAsp4yi8bwa8eYwk5QAAAAAAAKbk","grikUXlisBLUbeL_OWixIwAAAAAAALZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","cHp4MwXaY5FCuFRuAA6tWwAAAAAAAN9c","-9oyoP4Jj2iRkwEezqId-gAAAAAAAH78","Kq9d0b1CBVEQZUtuJtmlJgAAAAAAAAT8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAPjQ","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAAOwU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAL5Tg","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7NA","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U","A2oiHVwisByxRn5RDT4LjAAAAAAAKsux","A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,3,3,4,4,4,4,4,4,4]},"EeUwhr9vbcywMBkIYZRfCw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,46796,43744,53258,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1079144,13334,40862,834,1480209,1969795,1481300,1480601,2595076,1069341,58136,12466,1587508,1079485,50582,26272,1479608,1493928,2595076,1079211,60348,34084,42798,54954,4836,40660,62188,43850,13372,5488,20256,1924997],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","wpss7yv4AvkSwbtctTl0JA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SLUxdgyFrTF3l4NU1VRO_w","ZOgaFnYiv38tVz-8Hafu3w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","u1Za6xFXDX1Ys5Qeh_gy9Q","uq4_q8agTQ0rkhJvygJ3QA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","pK0zxAMiW-X23QjQRVzm5w","OP7EiuTwTtWCf_B7a-Zpig","WyVrojmISSgbkYAxEOnpQw","JdWBEAqhrU7LJg0YDuYO0w","cwZEcJVCN5Q4BJdAS3o8fw","iLNvi1vqLkBP_ehg4QlqeA","guXM5tmjJlv0Ehde0y1DFw","avBEfFKeFSrhKf93SLNe0Q","uHLoBslr3h6S7ooNeXzEbw","iRoTPXvR_cRsnzDO-aurpQ","aAagm2yDcrnYaqBPCwyu8Q","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAALbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAANAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAADQW","ne8F__HPIVgxgycJADVSzAAAAAAAAJ-e","wpss7yv4AvkSwbtctTl0JAAAAAAAAANC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFEd","SLUxdgyFrTF3l4NU1VRO_wAAAAAAAOMY","ZOgaFnYiv38tVz-8Hafu3wAAAAAAADCy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGDk0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","u1Za6xFXDX1Ys5Qeh_gy9QAAAAAAAMWW","uq4_q8agTQ0rkhJvygJ3QAAAAAAAAGag","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHer","pK0zxAMiW-X23QjQRVzm5wAAAAAAAOu8","OP7EiuTwTtWCf_B7a-ZpigAAAAAAAIUk","WyVrojmISSgbkYAxEOnpQwAAAAAAAKcu","JdWBEAqhrU7LJg0YDuYO0wAAAAAAANaq","cwZEcJVCN5Q4BJdAS3o8fwAAAAAAABLk","iLNvi1vqLkBP_ehg4QlqeAAAAAAAAJ7U","guXM5tmjJlv0Ehde0y1DFwAAAAAAAPLs","avBEfFKeFSrhKf93SLNe0QAAAAAAAKtK","uHLoBslr3h6S7ooNeXzEbwAAAAAAADQ8","iRoTPXvR_cRsnzDO-aurpQAAAAAAABVw","aAagm2yDcrnYaqBPCwyu8QAAAAAAAE8g","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHV-F"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,1,1,3,3,1,1,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,3]},"x443zjuudYI-A7cRu2DIGg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,49094,58124,2548,13860,42480,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,28996,2578675,2599636,1091600,48574,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,28996,2578675,2599636,1091600,63674,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,28780,342,57994,19187,38198,48990],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","lpUCR1NQj5NOLBg7mvzlqg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAL_G","LF6DFcGHEMqhhhlptO_M_QAAAAAAAOMM","Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAL2-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","lpUCR1NQj5NOLBg7mvzlqgAAAAAAAPi6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAOKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAJU2","jaBVtokSUzfS97d-XKjijgAAAAAAAL9e"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"rrrvnakD3SpJqProBGqoCQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,1270,4476,19828,27444,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,19382,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,60558,2790352,1482889,1482415,2595076,1079144,8942,10826,15776,45470,57908,19178,5946,1481694,1535004,2095808],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","08DBZKRu4nC_Oi_uT40UHw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","n74P5OxFm1hAo5ZWtgcKHQ","zXbqXCWr0lCbi_b24hNBRQ","AOM_-6oRTyAxK8W79Wo5aQ","yaTrLhUSIq2WitrTHLBy3Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAAT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAABF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAEu2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","08DBZKRu4nC_Oi_uT40UHwAAAAAAAOyO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAD2g","n74P5OxFm1hAo5ZWtgcKHQAAAAAAALGe","zXbqXCWr0lCbi_b24hNBRQAAAAAAAOI0","AOM_-6oRTyAxK8W79Wo5aQAAAAAAAErq","yaTrLhUSIq2WitrTHLBy3QAAAAAAABc6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF2wc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAH_rA"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3]},"sDfHX0MKzztQSqC8kl_-sg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,16720,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,52894,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,44846,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,32258,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50744,16726,2346,19187,41240,50359],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N0GNsPaCLYzoFsPJWnIJtQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fq0ezjB8ddCA6Pk0BY9arQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAM6e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fq0ezjB8ddCA6Pk0BY9arQAAAAAAAH4C","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAAkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMS3"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"WmwSnxyphedkasVyGbhNdg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,23142,41180,18932,30244,42480,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,29418,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,58990,2795776,1483241,1482767,2600004,1073803,3150,5208,43696,4204,342,33506,2852079,2851771,2849353,2846190,2846190,2845732],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","l97YFeEKpeLfa-lEAZVNcA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0","xwuAPHgc12-8PZB3i-320gAAAAAAAHYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2wk"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3]},"NU5so_CJJJwGJM_hiEcxgQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,4,38,174,104,68,16,38,174,104,68,256,140,10,38,174,104,68,0,12,8,28,12,8,54,12,120,1169291,1109342,1109180],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZBnr-5IlLVGCdkX_lTNKmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RDOEyok4432cuMjL10_tug","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","25JFhMXA0rvP5hfyUpf34w","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","oN7OWDJeuc8DmI2f_earDQ","Yj7P3-Rt3nirG6apRl4A7A","pz3Evn9laHNJFMwOKIXbsw","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RDOEyok4432cuMjL10_tugAAAAAAAAEA","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","25JFhMXA0rvP5hfyUpf34wAAAAAAAAAc","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2","Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM","pz3Evn9laHNJFMwOKIXbswAAAAAAAAB4","G68hjsyagwq6LpWrMjDdngAAAAAAEdeL","G68hjsyagwq6LpWrMjDdngAAAAAAEO1e","G68hjsyagwq6LpWrMjDdngAAAAAAEOy8"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3]},"A9B6bwuKQl9pC0MIYqtAgg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,37276,30816,26538,1480561,1970211,1481652,1480953,2600004,1079669,36476,1480561,1970211,1481652,1480953,2600004,1079669,13542,44224,26138,5558,16780,64790,18774,36466,18774,17314,43978,43978,43978,43978,43978,43978,43978,43886,18774,13462,1480561,1940968,1917658,1481652,1480953,2600004,1079669,27396,1480561,1827986,1940595,1909209,1934862,3077552,3072233,1745406,3070488],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","ktj-IOmkEpvZJouiJkQjTg","O_h7elJSxPO7SiCsftYRZg","ZLTqiSLOmv4Ej_7d8yKLmw","v_WV3HQYVe0q1Ob-1gtx1A","ka2IKJhpWbD6PA3J3v624w","e8Lb_MV93AH-OkvHPPDitg","ka2IKJhpWbD6PA3J3v624w","1vivUE5hL65442lQ9a_ylg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","ka2IKJhpWbD6PA3J3v624w","fCsVLBj60GK9Hf8VtnMcgA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","54xjnvwS2UtwpSVJMemggA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAJGc","W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAGeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAI58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","kSaNXrGzSS3BnDNNWezzMAAAAAAAADTm","ne8F__HPIVgxgycJADVSzAAAAAAAAKzA","ktj-IOmkEpvZJouiJkQjTgAAAAAAAGYa","O_h7elJSxPO7SiCsftYRZgAAAAAAABW2","ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAEGM","v_WV3HQYVe0q1Ob-1gtx1AAAAAAAAP0W","ka2IKJhpWbD6PA3J3v624wAAAAAAAElW","e8Lb_MV93AH-OkvHPPDitgAAAAAAAI5y","ka2IKJhpWbD6PA3J3v624wAAAAAAAElW","1vivUE5hL65442lQ9a_ylgAAAAAAAEOi","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKtu","ka2IKJhpWbD6PA3J3v624wAAAAAAAElW","fCsVLBj60GK9Hf8VtnMcgAAAAAAAADSW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","54xjnvwS2UtwpSVJMemggAAAAAAAAGsE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-SS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZxz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHSHZ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHYYO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALvWw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALuDp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGqH-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALtoY"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3]},"X86DUuQ7tHAxGBaWu4tZLg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,19046,37084,2548,13860,26096,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,64610,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,39726,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,0,2794972,1848805,1837992,1848417,2718329,2222078,2208786],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","780bLUPADqfQ3x1T5lnVOg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqXc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHAuo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDRh","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKXp5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIef-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIbQS"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3]},"T3fWxJzHMwU-oUs7rgXCcg":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,228,38,174,104,68,4,38,174,104,68,92,38,174,104,68,8,38,174,104,68,172,669638,1091944,956540,2223054,995645,1276144],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qordvIiilnF7CmkWCAd7eA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iWpqwwcHV8E8OOnqGCYj9g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M61AJsljWf0TM7wD6IJVZw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","okgAOHfDrcA806m5xh4DMA","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qordvIiilnF7CmkWCAd7eAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","okgAOHfDrcA806m5xh4DMAAAAAAAAACs","G68hjsyagwq6LpWrMjDdngAAAAAACjfG","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAADph8","G68hjsyagwq6LpWrMjDdngAAAAAAIevO","G68hjsyagwq6LpWrMjDdngAAAAAADzE9","G68hjsyagwq6LpWrMjDdngAAAAAAE3jw"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3]},"vq75CDVua5N-eDXnfyZYMA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,620,51986,58710,61916,36212,43828,42480,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,12034,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,38490,2790352,1482889,1482415,2595076,1076587,49902,51960,24944,34360,342,51586,2846655,2846347,2843929,2840766,2843954,2840766,2842897,2268402,1775000,1761295,1048455],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","aRRT4_vBG9Q4nqyirWo5FA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAI10","xwuAPHgc12-8PZB3i-320gAAAAAAAKs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAC8C","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","aRRT4_vBG9Q4nqyirWo5FAAAAAAAAJZa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2Uy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2ER","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxWY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_-H"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3]},"oKVObqTWF9QIjxgKf8UkTw":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1091600,51328,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,50170,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,13752,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41068,49494,4746,19187,41141,49404],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","08Dc0vnMK9C_nl7yQB6ZKQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","zuPG_tF81PcJTwjfBwKlDg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKC1","jaBVtokSUzfS97d-XKjijgAAAAAAAMD8"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"DaDdc6eLo0hc-QxL2XQh5Q":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,336,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,28326,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,51274,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,43126,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,0,2790352,1482889,1482415,2595076,1071215,49902,51786,56736,43360,44552,32102],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","auEGiAr7C6IfT0eiHbOlyA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ZyAwfhB8pqBFv6xiDVdvPQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","9alsKcnSosScCQ3ntwGT5w","xAINw9zPBhJlledr3DAcGA","xVweU0pD8q051c2YgF4PTw"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAAFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAG6m","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","auEGiAr7C6IfT0eiHbOlyAAAAAAAAMhK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","ZyAwfhB8pqBFv6xiDVdvPQAAAAAAAKh2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFhv","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAN2g","9alsKcnSosScCQ3ntwGT5wAAAAAAAKlg","xAINw9zPBhJlledr3DAcGAAAAAAAAK4I","xVweU0pD8q051c2YgF4PTwAAAAAAAH1m"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1]},"YRZbUV2DChD6dl3Y2xjF8g":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,38230,41436,19828,27444,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,57358,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,33966,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,59370,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,17976,49494,31018,19187,41240,50308],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","d4jl580PLMUwu5s3I4wcXg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","tKago5vqLnwIkezk_wTBpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAJVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAKHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAOAO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","d4jl580PLMUwu5s3I4wcXgAAAAAAAISu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","tKago5vqLnwIkezk_wTBpQAAAAAAAOfq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAHkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSE"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"EnsO3_jc7LnLdUHQbwkxMg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,336,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,24230,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,47162,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,37090,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,41914,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34360,342,39210,19187,41240,51115],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","auEGiAr7C6IfT0eiHbOlyA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mP9Tk3T74fjOyYWKUaqdMQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","I4X8AC1-B0GuL4JyYemPzw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAAFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAF6m","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","auEGiAr7C6IfT0eiHbOlyAAAAAAAALg6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","mP9Tk3T74fjOyYWKUaqdMQAAAAAAAJDi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","I4X8AC1-B0GuL4JyYemPzwAAAAAAAKO6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAJkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMer"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"V2XOOBv96QfYXHIIY7_OLA":{"address_or_lines":[3150,5208,43696,12612,2578675,2599636,1091600,42546,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,12274,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,15838,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,37594,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1079669,12698,1482046,1829360,2586225,2600004,1054235,21784,1973936,2600004,1051035,60416,55140,1372101,2194686,2080131],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Gp9aOxUrrpSVBx4-ftlTOA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","y9R94bQUxts02WzRWfV7xg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","uI6css-d8SGQRK6a_Ntl-A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","SlnkBp0IIJFLHVOe4KbxwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7wBb3xHP1JZHNBpMGh4EdA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","u3fGdgL6eAYjYSRbRUri0g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","aG0mH34tM6si5c1l397JVQ","GC-VoGaqaEobPzimayHQTQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAKYy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","y9R94bQUxts02WzRWfV7xgAAAAAAAC_y","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","uI6css-d8SGQRK6a_Ntl-AAAAAAAAD3e","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","SlnkBp0IIJFLHVOe4KbxwQAAAAAAAJLa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","7wBb3xHP1JZHNBpMGh4EdAAAAAAAADGa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEBYb","u3fGdgL6eAYjYSRbRUri0gAAAAAAAFUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHh6w","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEAmb","aG0mH34tM6si5c1l397JVQAAAAAAAOwA","GC-VoGaqaEobPzimayHQTQAAAAAAANdk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFO_F","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIXz-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAH72D"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,1,1,3,3,3]},"FTJM3wsT8Kc-UaiIK2yDMQ":{"address_or_lines":[33018,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,32502,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,6654,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,9126,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,27090,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1079144,39334,1481694,1828960,2581397,1480843,1480209,1940568,1917230,1844695,1996687],"file_ids":["PmhxUKv5sePRxhCBONca8g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","UfGck3qA2qF0xFB5gpY4Hg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","G9ShE3ODivDEFyHVdsnZ_g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","6AsJ0dA2BUqaic-ScDJBMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fr52ZDCgnkPZlzTNdLTQ5w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uqoEOAkLp1toolLH0q5LVw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["PmhxUKv5sePRxhCBONca8gAAAAAAAID6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","UfGck3qA2qF0xFB5gpY4HgAAAAAAAH72","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","G9ShE3ODivDEFyHVdsnZ_gAAAAAAABn-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","6AsJ0dA2BUqaic-ScDJBMAAAAAAAACOm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fr52ZDCgnkPZlzTNdLTQ5wAAAAAAAGnS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","uqoEOAkLp1toolLH0q5LVwAAAAAAAJmm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUEu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHneP"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3]},"ivbgd9hswtvZ7aTts7HESw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,49488,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,40502,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,9946,2790352,1482889,1482415,2595076,1079485,8942,11000,49520,61192,19302,1479516,1828960,2573747,2594708,1091475,51250,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1079144,0,1481694,1828960,2581297,2595076,1087128,0,23366,42140,41576,9542,41540,41016,39548,3072796],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","WjtMXFj0eujpoknR_rynvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","Vot4T3F5OpUj8rbXhgpMDg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EPS0ql6FPdCQLe9KByvDQA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAJ42","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","WjtMXFj0eujpoknR_rynvAAAAAAAACba","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","Vot4T3F5OpUj8rbXhgpMDgAAAAAAAO8I","eV_m28NnKeeTL60KO2H3SAAAAAAAAEtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","EPS0ql6FPdCQLe9KByvDQAAAAAAAAMgy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEJaY","_____________________wAAAAAAAAAA","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAKSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAKJo","OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG","E2b-mzlh_8261-JxcySn-AAAAAAAAKJE","E2b-mzlh_8261-JxcySn-AAAAAAAAKA4","E2b-mzlh_8261-JxcySn-AAAAAAAAJp8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuMc"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,1,3]},"yXsgvY1JyekwdCV5rJdspg":{"address_or_lines":[2573747,2594708,1091475,43746,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,51994,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,18382,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,10738,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1079144,0,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1079485,46582,1479772,1827586,1940195,1986447,1982493,1959065,1765336,1761295,1048494],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XVsKc4e32xXUv-3uv2s-8Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uPGvGNXBf1JXGeeDSsmGQA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAAKri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAMsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAAEfO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XVsKc4e32xXUv-3uv2s-8QAAAAAAACny","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","uPGvGNXBf1JXGeeDSsmGQAAAAAAAALX2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpRc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZrj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGu_Y","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_-u"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3]},"_TjN4epIphuKUiHZJZdqxQ":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,38,10,38,174,104,68,30,56,382,1034444],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","OwrnTUowquMzuETYoP67yQ","HmAocvtnsxREZJIec2I5gw","KHDki7BxJPyjGLtvY8M5lQ","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","OwrnTUowquMzuETYoP67yQAAAAAAAAAe","HmAocvtnsxREZJIec2I5gwAAAAAAAAA4","KHDki7BxJPyjGLtvY8M5lQAAAAAAAAF-","G68hjsyagwq6LpWrMjDdngAAAAAAD8jM"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3]},"ZQdwkmvvmLjNzNpTA4PPhw":{"address_or_lines":[25326,27384,368,1756,2573747,2594708,1091475,48726,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,64878,2789627,1482889,1482415,2595076,1079485,21616,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,27398,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,51982,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,58138,2790352,1482889,1482415,2595076,1067375,25326,27210,32160,46288],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XlQ19HBD_RNa2r3QWOR-nA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VuJFonCXevADcEDW6NVbKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VFBd9VqCaQu0ZzjQ2K3pjg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PUSucJs4FC_WdMzOyH3QYw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","it1vvnZdXdzy0fFROnaaOQ"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAL5W","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XlQ19HBD_RNa2r3QWOR-nAAAAAAAAP1u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAFRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VuJFonCXevADcEDW6NVbKgAAAAAAAGsG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAMsO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PUSucJs4FC_WdMzOyH3QYwAAAAAAAOMa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEElv","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAH2g","it1vvnZdXdzy0fFROnaaOQAAAAAAALTQ"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1]},"ssC7MBcE9kfM3yTim7UrNQ":{"address_or_lines":[4846,6904,45424,50908,2573747,2594708,1091475,58102,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,48494,2789627,1482889,1482415,2595076,1079485,1136,15206,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,27398,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,2830,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,4586,2790352,1482889,1482415,2595076,1067395,4846,6904,45240,53006,54142],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XlQ19HBD_RNa2r3QWOR-nA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VuJFonCXevADcEDW6NVbKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VFBd9VqCaQu0ZzjQ2K3pjg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PUSucJs4FC_WdMzOyH3QYw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","gZooqVYiItnHim-lK4feOg"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAOL2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XlQ19HBD_RNa2r3QWOR-nAAAAAAAAL1u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAARw","eV_m28NnKeeTL60KO2H3SAAAAAAAADtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VuJFonCXevADcEDW6NVbKgAAAAAAAGsG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PUSucJs4FC_WdMzOyH3QYwAAAAAAABHq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEEmD","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALC4","0S3htaCNkzxOYeavDR1GTQAAAAAAAM8O","gZooqVYiItnHim-lK4feOgAAAAAAANN-"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1]},"-yH5iqJp4uVN6clNHuFusA":{"address_or_lines":[2578675,2599636,1091600,5350,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,6974,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,5866,2795776,1483241,1482767,2600004,1079483,3150,4692,13478,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,58134,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,10246,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12396,342,41610,19187,41240,50663],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","UfGck3qA2qF0xFB5gpY4Hg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","G9ShE3ODivDEFyHVdsnZ_g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","6AsJ0dA2BUqaic-ScDJBMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","VY0EiAO0DxwLRTE4PfFhdw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","A8AozG5gQfEN24i4IE7w5w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","UfGck3qA2qF0xFB5gpY4HgAAAAAAABTm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","G9ShE3ODivDEFyHVdsnZ_gAAAAAAABs-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","6AsJ0dA2BUqaic-ScDJBMAAAAAAAABbq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABJU","eV_m28NnKeeTL60KO2H3SAAAAAAAADSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","VY0EiAO0DxwLRTE4PfFhdwAAAAAAAOMW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","A8AozG5gQfEN24i4IE7w5wAAAAAAACgG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAKKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMXn"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"SrSwvDbs2pmPg3SRfXJBCA":{"address_or_lines":[1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10978,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,35610,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,11318,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,15678,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,250,2790352,1482889,1482415,2595076,1076587,29422,31480,4464,17976,33110,51586,2846655,2846347,2843929,2840766,2843907,2841214,1439462],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","NGbZlnLCqeq3LFq89r_SpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PmhxUKv5sePRxhCBONca8g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAACri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAIsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PmhxUKv5sePRxhCBONca8gAAAAAAAAD6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UD","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbm"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3]},"n5nFiHsDS01AKuzFKvQXdA":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,302,38,174,104,68,382,120,38,258,658,1111840,1034048],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","OPpnYj88CDOiKneikdGPHA","ZJjPF65K8mBuISvhCfKfBg","xLxhp_367a_SbgOYuEJjlw","QHotkhNTqx5C4Kjd2F2_6w","Ht79I_xqXv3bOgaClTNQ4w","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAEu","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","OPpnYj88CDOiKneikdGPHAAAAAAAAAF-","ZJjPF65K8mBuISvhCfKfBgAAAAAAAAB4","xLxhp_367a_SbgOYuEJjlwAAAAAAAAAm","QHotkhNTqx5C4Kjd2F2_6wAAAAAAAAEC","Ht79I_xqXv3bOgaClTNQ4wAAAAAAAAKS","G68hjsyagwq6LpWrMjDdngAAAAAAEPcg","G68hjsyagwq6LpWrMjDdngAAAAAAD8dA"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3]},"XbtNNAnLtuHwAR-P2ynwqA":{"address_or_lines":[1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,46454,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,17534,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,64182,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,22670,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1079669,35024,1482046,1829360,2586325,1480953,1480561,1940968,1986869,1946031,1991239,1990411,1912997,3078008,3077552,3072071,1641674,3069796],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","pv4wAezdMMO0SVuGgaEMTg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","qns5vQ3LMi6QrIMOgD_TwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","J_Lkq1OzUHxWQhnTgF6FwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","aD-GPAkaW-Swis8ybNgyMQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","pv4wAezdMMO0SVuGgaEMTgAAAAAAALV2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAER-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAPq2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAAFiO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","aD-GPAkaW-Swis8ybNgyMQAAAAAAAIjQ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlE1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHbGv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHmJH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHl8L","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHTCl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALvd4","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALvWw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALuBH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGQzK","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALtdk"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Rr1Z3cNxrq9AQiD8wZZ1dA":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,9150,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52246,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,48350,2789627,1482889,1482415,2595076,1079485,21616,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1079144,37050,1481694,1828960,2581297,2595076,1079144,2994,1480209,1940645,1970099,1481300,1480601,2595076,1067831,41714,39750,33948,33384,25926,33098,33348,34466,32098,39462],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","HENgRXYeEs7mDD8Gk_MNmg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fFS0upy5lIaT99RhlTN5LQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","lSdGU4igLMOpLhL_6XP15w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","QAp_Nt6XUeNsCXnAUgW7Xg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","20O937106XMbOD0LQR4SPw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","gPzb0fXoBe1225fbKepMRA","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","JrU1PwRIxl_8SXdnTESnog"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","HENgRXYeEs7mDD8Gk_MNmgAAAAAAACO-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fFS0upy5lIaT99RhlTN5LQAAAAAAAMwW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","lSdGU4igLMOpLhL_6XP15wAAAAAAALze","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAFRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","20O937106XMbOD0LQR4SPwAAAAAAAAuy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEEs3","gPzb0fXoBe1225fbKepMRAAAAAAAAKLy","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAISc","_lF8o5tJDcePvza_IYtgSQAAAAAAAIJo","OHQX9IWLaZElAgxGbX3P5gAAAAAAAGVG","E2b-mzlh_8261-JxcySn-AAAAAAAAIFK","E2b-mzlh_8261-JxcySn-AAAAAAAAIJE","E2b-mzlh_8261-JxcySn-AAAAAAAAIai","E2b-mzlh_8261-JxcySn-AAAAAAAAH1i","JrU1PwRIxl_8SXdnTESnogAAAAAAAJom"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1]},"gESQTq4qRn3wnW-FPfxOfA":{"address_or_lines":[2790352,1482889,1482415,2595076,1079485,62190,63732,7014,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,43746,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,2842,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,48542,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1050939,4144,1371605,1977020,2595076,1079485,8954,1479772,3459845,1479516,2595076,1072525,58674,1646337,3072295,1865241,10490014,423063,2283967,2281306,2510155,2414579,2398792,2385273,8471624],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","lTFhQHSZwvS4-s94KVv5mA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","IcJVDEq52FRv22q0yHVMaw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","BDtQyw375W96A0PA_Z7SDQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0","eV_m28NnKeeTL60KO2H3SAAAAAAAABtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAAKri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAAsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAAL2e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAk7","lTFhQHSZwvS4-s94KVv5mAAAAAAAABAw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFO3V","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHiq8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","IcJVDEq52FRv22q0yHVMawAAAAAAACL6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpRc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANMsF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEF2N","BDtQyw375W96A0PA_Z7SDQAAAAAAAOUy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGR8B","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuEn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a","A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L","A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz","A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI","A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5","A2oiHVwisByxRn5RDT4LjAAAAAAAgURI"],"type_ids":[3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,1,3,3,3,3,3,1,3,3,3,4,4,4,4,4,4,4,4,4]},"CSpdzACT53hVs5DyKY8X5A":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,13654,16860,52596,11060,58864,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,36842,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,30778,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,47130,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,51886,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1592,33110,6110,3227324,1844695,1847563,1702665,1680736,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","skFt9oVHBFfMDC1On4IJhg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","g5zhfSuJlGbmNqPl5Qb2wg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","UoMth5MLnZ-vUHeTplwEvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAADVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAEHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAM10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAI_q","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","skFt9oVHBFfMDC1On4IJhgAAAAAAAHg6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","g5zhfSuJlGbmNqPl5Qb2wgAAAAAAALga","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","UoMth5MLnZ-vUHeTplwEvAAAAAAAAMqu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAABfe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMT68","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGfsJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGaVg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3]},"AlH3zgnqwh5sdMMzX8AXxg":{"address_or_lines":[1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52130,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,61558,2790352,1482889,1482415,2595076,1079485,25326,26868,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,8770,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,17970,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1066158,3868,39750,21660,21058,64084,29144,22318,29144,18030,1840882,1970521,2595076,1049850,1910],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Gxt7_MN7XgUOe9547JcHVQ"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAAMui","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEESu","MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHBby","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhFZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAT6","Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,1]},"ysEqok7gFOl9eLMLBwFm1g":{"address_or_lines":[29422,31480,4464,18140,2573747,2594708,1091475,64774,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,18042,2789627,1482889,1482415,2595076,1079485,25712,39782,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,2618,2790352,1482889,1482415,2595076,1079144,29422,31306,36256,31544,18122,5412,1481694,1829583,2567913,1848405,1978470,1481567,1493928,2595076,1079144,54286,19054,47612,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1073749,55752,56134,25756,25504,3350479,3072521,1865128],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XkOSW26Xa6_lkqHv5givKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2L4SW1rQgEVXRj3pZAI3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","7bd6QJSfWZZfOOpDMHqLMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J3wpF3Lf_vPkis4aNGKFbw","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XkOSW26Xa6_lkqHv5givKgAAAAAAAP0G","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEZ6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAAo6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4","h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHjBm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO","TBeSzkyqIwKL8td602zDjAAAAAAAAEpu","NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","J3wpF3Lf_vPkis4aNGKFbwAAAAAAANnI","jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAGSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAGOg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMx_P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuIJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,3,3,3]},"7B48NKNivOFEka6-8dK3Qg":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,8722,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,20598,2790352,1482889,1482415,2595076,1079485,33518,35060,43878,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,41538,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,40098,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1074318,25764,6982,46236,45634,23124,53720,46894,53720,46894,53720,46894,53720,47420,41028,1347096],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","zpgqltXEgKujOhJUj-jAhg","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAACIS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAAKJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGSO","MsEmysGbXhMvgdbwhcZDCgAAAAAAAGSk","jtp3NDFNJGnK6sK5oOFo8QAAAAAAABtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc","_lF8o5tJDcePvza_IYtgSQAAAAAAALJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALk8","zpgqltXEgKujOhJUj-jAhgAAAAAAAKBE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFI4Y"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3]},"OC533YmmMZSw8TjJz41YiQ":{"address_or_lines":[19534,21076,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,33092,2578675,2599636,1091600,27150,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,33092,2578675,2599636,1091600,42322,2795776,1483241,1482767,2600004,1079483,19534,21076,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1079483,19534,21076,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,33092,2578675,2599636,1091600,30298,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,32876,16726,62090,20547,1659254,1860268],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","6GGFIt18C0VByIn0h-PdeQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","SA64oIT_DC3uHXf7ZjFqkw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","akZOzI9XwsEixvkTDGeDPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","6GGFIt18C0VByIn0h-PdeQAAAAAAAGoO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","SA64oIT_DC3uHXf7ZjFqkwAAAAAAAKVS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","akZOzI9XwsEixvkTDGeDPwAAAAAAAHZa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAPKK","ASi9f26ltguiwFajNwOaZwAAAAAAAFBD","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGVF2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHGKs"],"type_ids":[1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"X6-W250nbzzPy4NasjncWg":{"address_or_lines":[23630,25514,30464,8440,12298,26148,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,38814,1470,22780,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,324,2578675,2599636,1091600,51026,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,324,2578675,2599636,1091600,47386,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,324,2578675,2599636,1091600,19506,2795051,1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1073803,23630,25688,64176,108,16726,29410,2852079,2851771,2849353,2846190,2849331,2846638,1439925,1865566,1029925,10490014,422731,937148],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","AtF9VdLKnFQvB9H1lsFPjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Pf1McBfrZjVj1CxRZBq6Yw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAAHcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAACD4","h0l-9tGi18mC40qpcJbyDwAAAAAAADAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAGYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAAJee","TBeSzkyqIwKL8td602zDjAAAAAAAAAW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAFj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAAMdS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","AtF9VdLKnFQvB9H1lsFPjAAAAAAAALka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","Pf1McBfrZjVj1CxRZBq6YwAAAAAAAEwy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAHLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3oz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2-u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFfi1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHde","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAD7cl","ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe","ew01Dk0sWZctP-VaEpavqQAAAAAABnNL","ew01Dk0sWZctP-VaEpavqQAAAAAADky8"],"type_ids":[1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,4,4,4]},"gi6S4ODPtJ-ERYxlMd4WHA":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,60494,62552,35504,61764,2578675,2599636,1091600,55462,2795776,1483241,1482767,2600004,1074397,60494,62552,35504,61764,2578675,2599636,1091600,63874,2795776,1483241,1482767,2600004,1074397,60494,62552,35504,61764,2578675,2599636,1074067,0,29636,2577481,2934013,1108250,1105981,1310350,1245864,1200348,1190613,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165561,1146206,1245475,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165783,1162744,1226823,1225457,1224431,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165323,1165909],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2L4SW1rQgEVXRj3pZAI3nQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","vkeP2ntYyoFN0A16x9eliw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAANim","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAPmC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGOT","_____________________wAAAAAAAAAA","vkeP2ntYyoFN0A16x9eliwAAAAAAAHPE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1RJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALMT9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOA9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAE_6O","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwKo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAElDc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEirV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEX1e","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwEj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcnX","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEb34","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErhH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErLx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEq7v","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcgL","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcpV"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"EGm59IOxpyqZq7sEwgZb1g":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,36,38,174,104,68,16,140,10,38,174,104,68,48,1992440,1112453,1098694,1112047],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","H5LY_MytOVgyAawi8TymCg","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","kUJz0cDHgh-y1O5Hi8equA","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","H5LY_MytOVgyAawi8TymCgAAAAAAAAAQ","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","kUJz0cDHgh-y1O5Hi8equAAAAAAAAAAw","G68hjsyagwq6LpWrMjDdngAAAAAAHmb4","G68hjsyagwq6LpWrMjDdngAAAAAAEPmF","G68hjsyagwq6LpWrMjDdngAAAAAAEMPG","G68hjsyagwq6LpWrMjDdngAAAAAAEPfv"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"y7cw8NxReMWOs4KtDlMCFA":{"address_or_lines":[40014,41898,46848,24824,28682,42532,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,55198,17854,39164,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,28996,2578675,2599636,1091600,11362,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,28996,2578675,2599636,1091600,14618,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,28996,2578675,2599636,1091600,22130,2795051,1483241,1482767,2600004,1079483,36304,50342,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1079669,40014,42072,15024,28780,33110,57790,1480561,1827950,3236393,1482344,1535086,3273255,1482344,1535086,3245980,67155,10485923,16964,15598,703171,2759460,3901948,3791884,3567755],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","AtF9VdLKnFQvB9H1lsFPjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Pf1McBfrZjVj1CxRZBq6Yw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","eOfhJQFIxbIEScd007tROw","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAALcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAGD4","h0l-9tGi18mC40qpcJbyDwAAAAAAAHAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAANee","TBeSzkyqIwKL8td602zDjAAAAAAAAEW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAACxi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","AtF9VdLKnFQvB9H1lsFPjAAAAAAAADka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","Pf1McBfrZjVj1CxRZBq6YwAAAAAAAFZy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAOG-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-Ru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAMWIp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp5o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAF2xu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAMfIn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp5o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAF2xu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAMYec","eOfhJQFIxbIEScd007tROwAAAAAAAQZT","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEJE","ew01Dk0sWZctP-VaEpavqQAAAAAAADzu","ew01Dk0sWZctP-VaEpavqQAAAAAACrrD","ew01Dk0sWZctP-VaEpavqQAAAAAAKhsk","ew01Dk0sWZctP-VaEpavqQAAAAAAO4n8","ew01Dk0sWZctP-VaEpavqQAAAAAAOdwM","ew01Dk0sWZctP-VaEpavqQAAAAAANnCL"],"type_ids":[1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"L1ZLG1mjktr2Zy0xiQnH0w":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,24,140,10,38,174,104,68,178,1090933,1814182,788459,788130,1197048,1243204,1201241,1245991,1245236,1171829,2265239,2264574,2258463,1169067],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","-gq3a70QOgdn9HetYyf2Og","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","-gq3a70QOgdn9HetYyf2OgAAAAAAAACy","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvhE","G68hjsyagwq6LpWrMjDdngAAAAAAElRZ","G68hjsyagwq6LpWrMjDdngAAAAAAEwMn","G68hjsyagwq6LpWrMjDdngAAAAAAEwA0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAAEdar"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEpy8":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEm_I":{"file_name":[],"function_name":["futex_wake"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAC75T":{"file_name":[],"function_name":["wake_up_q"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAC7oE":{"file_name":[],"function_name":["try_to_wake_up"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgljd":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAEqQj":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAEpsM":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAEm4Y":{"file_name":[],"function_name":["futex_wake"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAC75D":{"file_name":[],"function_name":["wake_up_q"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAC7n0":{"file_name":[],"function_name":["try_to_wake_up"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAgkRd":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAM58I":{"file_name":[],"function_name":["kernfs_dop_revalidate"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgMJg":{"file_name":[],"function_name":["strcmp"],"function_offset":[],"line_number":[]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5":{"file_name":["../csu/libc-start.c"],"function_name":["__libc_start_main"],"function_offset":[],"line_number":[308]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI":{"file_name":["libmount/src/tab_parse.c"],"function_name":["__mnt_table_parse_mtab"],"function_offset":[],"line_number":[1102]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W":{"file_name":["libmount/src/tab_parse.c"],"function_name":["mnt_table_parse_file"],"function_offset":[],"line_number":[707]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAXu2":{"file_name":["libmount/src/tab_parse.c","libmount/src/tab_parse.c","/usr/include/bits/stdio.h"],"function_name":["mnt_table_parse_stream","mnt_table_parse_next","getline"],"function_offset":[],"line_number":[643,453,117]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAABrQw":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/libio/iogetdelim.c"],"function_name":["_IO_getdelim"],"function_offset":[],"line_number":[114]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB20S":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/libio/fileops.c"],"function_name":["_IO_new_file_underflow"],"function_offset":[],"line_number":[584]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALKCV":{"file_name":[],"function_name":["seq_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALspQ":{"file_name":[],"function_name":["show_mountinfo"],"function_offset":[],"line_number":[]},"LHNvPtcKBt87cCBX8aTNhQAAAAAAABD4":{"file_name":[],"function_name":["ovl_show_options"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALKWO":{"file_name":[],"function_name":["seq_escape"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgL-e":{"file_name":[],"function_name":["strlen"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1":{"file_name":[],"function_name":["__x64_sys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM":{"file_name":[],"function_name":["ksys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8":{"file_name":[],"function_name":["iterate_dir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ":{"file_name":[],"function_name":["proc_pid_readdir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu":{"file_name":[],"function_name":["next_tgid"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAACq1j":{"file_name":[],"function_name":["pid_nr_ns"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqah":{"file_name":[],"function_name":["__x64_sys_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM":{"file_name":[],"function_name":["do_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7":{"file_name":[],"function_name":["__do_pipe_flags"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqN7":{"file_name":[],"function_name":["create_pipe_files"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePFy":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ":{"file_name":[],"function_name":["unix_stream_read_actor"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg5J":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALB_i":{"file_name":[],"function_name":["__fdget_pos"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALBST":{"file_name":[],"function_name":["__fget_light"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKcUM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKxcK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKu8M":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsyL":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsbn":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKr18":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKqx4":{"file_name":[],"function_name":["follow_managed"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAALEDf":{"file_name":[],"function_name":["lookup_mnt"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAALEA_":{"file_name":[],"function_name":["__lookup_mnt"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsyx":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKrUd":{"file_name":[],"function_name":["inode_permission"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAMzQW":{"file_name":[],"function_name":["kernfs_iop_permission"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAgRuk":{"file_name":[],"function_name":["mutex_lock"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg38":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKePq":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAePZt":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAeOlF":{"file_name":[],"function_name":["maybe_add_creds"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAePaV":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL":{"file_name":[],"function_name":["sock_def_readable"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADXb2":{"file_name":[],"function_name":["__wake_up_common_lock"],"function_offset":[],"line_number":[]},"lLD39yzd4Cg8F13tcGpzGQAAAAAAABuG":{"file_name":["pyi_rth_pkgutil.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"LEy-wm0GIvRoYVAga55HiwAAAAAAACxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAADRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAMqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"dCCKy6JoX0PADOFic8hRNQAAAAAAAB5A":{"file_name":["pkgutil.py"],"function_name":[""],"function_offset":[315],"line_number":[316]},"9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAMum":{"file_name":["functools.py"],"function_name":["register"],"function_offset":[50],"line_number":[902]},"xUQuo4OgBaS_Le-fdAwt8AAAAAAAAIHw":{"file_name":["functools.py"],"function_name":["_is_union_type"],"function_offset":[2],"line_number":[843]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAADBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAKLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3":{"file_name":[],"function_name":["xfs_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC":{"file_name":[],"function_name":["xfs_file_buffered_aio_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-":{"file_name":[],"function_name":["generic_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASkft":{"file_name":[],"function_name":["copy_page_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASheR":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr":{"file_name":[],"function_name":["copy_user_generic_string"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEIE":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAADyu":{"file_name":[],"function_name":["exit_to_usermode_loop"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAACrwD":{"file_name":[],"function_name":["task_work_run"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgtU":{"file_name":[],"function_name":["__fput"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAOyMM":{"file_name":[],"function_name":["xfs_release"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAOXPc":{"file_name":[],"function_name":["xfs_free_eofblocks"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAANg6m":{"file_name":[],"function_name":["xfs_bmapi_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAOB7F":{"file_name":[],"function_name":["xfs_iext_lookup_extent"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpAW":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAczF0":{"file_name":[],"function_name":["tcp_v4_send_check"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKglI":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdME8":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZ0Bt":{"file_name":[],"function_name":["__kfree_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZ0vq":{"file_name":[],"function_name":["skb_release_data"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAIAP0":{"file_name":[],"function_name":["__put_page"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7mG":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKZkE":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9":{"file_name":[],"function_name":["__kmalloc_reserve.isra.57"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR":{"file_name":[],"function_name":["__kmalloc_node_track_caller"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk":{"file_name":[],"function_name":["kmalloc_slab"],"function_offset":[],"line_number":[]},"eOfhJQFIxbIEScd007tROwAAAAAAAHRK":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/nptl/pthread_create.c"],"function_name":["start_thread"],"function_offset":[],"line_number":[465]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_connect"],"function_offset":[],"line_number":[345]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhZ-":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_get_server_certificate"],"function_offset":[],"line_number":[1255]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAABFsM":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/ssl_cert.c"],"function_name":["ssl_verify_cert_chain"],"function_offset":[],"line_number":[759]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFdR2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_vfy.c"],"function_name":["X509_verify_cert"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFh_7":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["X509_STORE_CTX_get1_issuer"],"function_offset":[],"line_number":[617]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhe5":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["X509_STORE_get_by_subject"],"function_offset":[],"line_number":[306]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhdI":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["X509_OBJECT_retrieve_by_subject"],"function_offset":[],"line_number":[480]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhIu":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["x509_object_idx_cnt"],"function_offset":[],"line_number":[454]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAEiFg":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/stack/stack.c"],"function_name":["internal_find"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAEiEp":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/stack/stack.c"],"function_name":["sk_sort"],"function_offset":[],"line_number":[374]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1v3":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["__GI___qsort_r","msort_with_tmp"],"function_offset":[],"line_number":[297,45]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["msort_with_tmp","msort_with_tmp"],"function_offset":[],"line_number":[53,159]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1kh":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["msort_with_tmp","msort_with_tmp"],"function_offset":[],"line_number":[54,159]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1nF":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["msort_with_tmp"],"function_offset":[],"line_number":[83]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhE-":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["x509_object_cmp"],"function_offset":[],"line_number":[168]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_d2.c"],"function_name":["X509_STORE_load_locations"],"function_offset":[],"line_number":[94]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["by_file_ctrl"],"function_offset":[],"line_number":[117]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["X509_load_cert_crl_file"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/pem/pem_info.c"],"function_name":["PEM_X509_INFO_read_bio"],"function_offset":[],"line_number":[248]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_d2i"],"function_offset":[],"line_number":[154]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_ex_d2i"],"function_offset":[],"line_number":[553]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[478]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_ex_d2i"],"function_offset":[],"line_number":[623]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_noexp_d2i"],"function_offset":[],"line_number":[735]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[266]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_ex_d2i"],"function_offset":[],"line_number":[235]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBue":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_canon"],"function_offset":[],"line_number":[390]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBbE":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["i2d_name_canon"],"function_offset":[],"line_number":[508]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFGgQ":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_enc.c"],"function_name":["ASN1_item_ex_i2d"],"function_offset":[],"line_number":[148]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFG4p":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_enc.c"],"function_name":["asn1_template_ex_i2d"],"function_offset":[],"line_number":[360]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAEiC3":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/stack/stack.c"],"function_name":["sk_num"],"function_offset":[],"line_number":[344]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAIF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAA10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAGs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAILu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAFhE":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOmcH":{"file_name":[],"function_name":["xfs_file_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOmYS":{"file_name":[],"function_name":["xfs_file_buffered_aio_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAH0TO":{"file_name":[],"function_name":["generic_file_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAHynP":{"file_name":[],"function_name":["pagecache_get_page"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAHyFT":{"file_name":[],"function_name":["find_get_entry"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJa3-":{"file_name":[],"function_name":["PageHuge"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaMev":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"6miIyyucTZf5zXHCk7PT1gAAAAAAAAo8":{"file_name":[],"function_name":["veth_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaGU2":{"file_name":[],"function_name":["netif_rx"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaGS9":{"file_name":[],"function_name":["netif_rx_internal"],"function_offset":[],"line_number":[]},"a5aMcPOeWx28QSVng73nBQAAAAAAAAAw":{"file_name":["aws"],"function_name":[""],"function_offset":[5],"line_number":[19]},"OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[5],"line_number":[1007]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[19],"line_number":[986]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[21],"line_number":[680]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[499]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAADI":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[22],"line_number":[35]},"5sij7Z672VAK_gGoPDPJBgAAAAAAAAA8":{"file_name":["formatter.py"],"function_name":[""],"function_offset":[6],"line_number":[19]},"PCeTYI0HN2oKNST6e1IaQQAAAAAAAABc":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[50],"line_number":[51]},"U4FmFVJMlNKhF1hVl3Xj1AAAAAAAAAAE":{"file_name":["cyaml.py"],"function_name":[""],"function_offset":[0],"line_number":[3]},"JR7ekk9KGQJKKPohpdwCLQAAAAAAAAAK":{"file_name":["_bootstrap_external.py"],"function_name":["exec_module"],"function_offset":[2],"line_number":[1181]},"zP58DjIs7uq1cghmzykyNAAAAAAAAAAK":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[228]},"rpRn_rYC3CgtEgBAUrkZZgAAAAAAAAAU":{"file_name":["error.py"],"function_name":[""],"function_offset":[3],"line_number":[6]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[13],"line_number":[482]},"NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[14],"line_number":[298]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[18],"line_number":[304]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAABbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAACrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAB9A":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"okehWevKsEA4q6dk779jgwAAAAAAAH1M":{"file_name":["session.py"],"function_name":["get_credentials"],"function_offset":[12],"line_number":[445]},"-IuadWGT89NVzIyF_EmodwAAAAAAAMKw":{"file_name":["credentials.py"],"function_name":["load_credentials"],"function_offset":[18],"line_number":[1953]},"XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08":{"file_name":["credentials.py"],"function_name":["load"],"function_offset":[18],"line_number":[1009]},"FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa":{"file_name":["utils.py"],"function_name":["retrieve_iam_role_credentials"],"function_offset":[30],"line_number":[517]},"pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a":{"file_name":["utils.py"],"function_name":["_get_iam_role"],"function_offset":[1],"line_number":[524]},"IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK":{"file_name":["utils.py"],"function_name":["_get_request"],"function_offset":[32],"line_number":[435]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc":{"file_name":["connectionpool.py"],"function_name":["urlopen"],"function_offset":[361],"line_number":[894]},"fB79lJck2X90l-j7VqPR-QAAAAAAAGc8":{"file_name":["connectionpool.py"],"function_name":["_make_request"],"function_offset":[116],"line_number":[494]},"gbMheDI1NZ3NY96J0seddgAAAAAAAEuq":{"file_name":["client.py"],"function_name":["getresponse"],"function_offset":[58],"line_number":[1389]},"GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w":{"file_name":["client.py"],"function_name":["__init__"],"function_offset":[28],"line_number":[276]},"_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI":{"file_name":["socket.py"],"function_name":["makefile"],"function_offset":[40],"line_number":[343]},"piWSMQrh4r040D0BPNaJvwAAAAAAZZ-N":{"file_name":[],"function_name":["__sys_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZYo3":{"file_name":[],"function_name":["___sys_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXwf":{"file_name":[],"function_name":["____sys_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjN":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAet8Y":{"file_name":[],"function_name":["udpv6_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAActW-":{"file_name":[],"function_name":["udp_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb90r":{"file_name":[],"function_name":["ip_make_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb8Hg":{"file_name":[],"function_name":["__ip_append_data.isra.50"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZdo2":{"file_name":[],"function_name":["sock_alloc_send_pskb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZlYi":{"file_name":[],"function_name":["alloc_skb_with_frags"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZjzl":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJr8u":{"file_name":[],"function_name":["__ksize"],"function_offset":[],"line_number":[]},"grZNsSElR5ITq8H2yHCNSwAAAAAAANbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAPAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAFQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAAHVG":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"cBO14nNDW8EW0oaZDaZipwAAAAAAAOiW":{"file_name":["session.py"],"function_name":["_resolve_region_name"],"function_offset":[20],"line_number":[876]},"C64RiOp1JIPwHLB_iHDa0AAAAAAAAHNm":{"file_name":["session.py"],"function_name":["get_config_variable"],"function_offset":[4],"line_number":[253]},"xvApUwdY2y4sFaZRNrMv5gAAAAAAAEoq":{"file_name":["configprovider.py"],"function_name":["get_config_variable"],"function_offset":[19],"line_number":[316]},"vsalcPHh9qLgsdKtk190IAAAAAAAAFQg":{"file_name":["configprovider.py"],"function_name":["provide"],"function_offset":[11],"line_number":[416]},"QsuqlohtoJfpo6vQ6tHa2AAAAAAAANS-":{"file_name":["utils.py"],"function_name":["provide"],"function_offset":[3],"line_number":[116]},"8ep9l3WIVYErRiHtmAdvewAAAAAAANI2":{"file_name":["utils.py"],"function_name":["_get_instance_metadata_region"],"function_offset":[3],"line_number":[121]},"nPWpQrEmCn54Ou0__aZyJAAAAAAAACsQ":{"file_name":["utils.py"],"function_name":["retrieve_region"],"function_offset":[19],"line_number":[172]},"-xcELApECIipEESUIWed9wAAAAAAAC7-":{"file_name":["utils.py"],"function_name":["_get_region"],"function_offset":[9],"line_number":[185]},"L_saUsdri-UdXCut6TdtngAAAAAAAO5i":{"file_name":["utils.py"],"function_name":["_fetch_metadata_token"],"function_offset":[28],"line_number":[400]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAAFIW":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"p19NBQ2pky4eRJM7tgeenwAAAAAAALGU":{"file_name":["httpsession.py"],"function_name":["proxy_url_for"],"function_offset":[6],"line_number":[222]},"55ABUc9FqQ0uj-yn-sTq2AAAAAAAAKaI":{"file_name":["parse.py"],"function_name":["urlparse"],"function_offset":[28],"line_number":[393]},"1msFlmxT18lYvJkx-hfGPgAAAAAAAF1K":{"file_name":["parse.py"],"function_name":["urlsplit"],"function_offset":[49],"line_number":[481]},"a5aMcPOeWx28QSVng73nBQAAAAAAAABK":{"file_name":["aws"],"function_name":[""],"function_offset":[13],"line_number":[27]},"inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[2],"line_number":[166]},"Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[3],"line_number":[185]},"cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[8],"line_number":[97]},"T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[23],"line_number":[48]},"lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[1],"line_number":[62]},"SMoSw8cr-PdrIATvljOPrQAAAAAAAABU":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[8],"line_number":[76]},"xaCec3W8F6xlvd_EISI7vwAAAAAAAACA":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[16],"line_number":[29]},"GYpj0RgmHJTfD-_w_Fx69wAAAAAAAABA":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[7],"line_number":[20]},"b78FoZPzgl20nGrU0Zu24gAAAAAAAABU":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[22]},"5ZxW56RI3EOJxqCWjdkdHgAAAAAAAABk":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[12],"line_number":[17]},"fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[25],"line_number":[1058]},"7l7IlhF_Z6_Ribw1CW945QAAAAAAAAA8":{"file_name":["ec.py"],"function_name":[""],"function_offset":[8],"line_number":[13]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAAm":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[5],"line_number":[291]},"imaY9TOf2pKX0_q1vRTskQAAAAAAAAAg":{"file_name":["pyimod01_archive.py"],"function_name":["__enter__"],"function_offset":[8],"line_number":[87]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAADbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAANka":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAEbO":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"GdaBUD9IUEkKxIBryNqV2wAAAAAAAI7O":{"file_name":["clidriver.py"],"function_name":["create_parser"],"function_offset":[4],"line_number":[635]},"QU8QLoFK6ojrywKrBFfTzAAAAAAAAAmc":{"file_name":["clidriver.py"],"function_name":["_get_command_table"],"function_offset":[3],"line_number":[580]},"V558DAsp4yi8bwa8eYwk5QAAAAAAAKbk":{"file_name":["clidriver.py"],"function_name":["_create_command_table"],"function_offset":[18],"line_number":[615]},"grikUXlisBLUbeL_OWixIwAAAAAAALZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"cHp4MwXaY5FCuFRuAA6tWwAAAAAAAN9c":{"file_name":["waiters.py"],"function_name":["add_waiters"],"function_offset":[11],"line_number":[36]},"-9oyoP4Jj2iRkwEezqId-gAAAAAAAH78":{"file_name":["waiters.py"],"function_name":["get_waiter_model_from_service_model"],"function_offset":[5],"line_number":[48]},"Kq9d0b1CBVEQZUtuJtmlJgAAAAAAAAT8":{"file_name":["session.py"],"function_name":["get_waiter_model"],"function_offset":[4],"line_number":[526]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAPjQ":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAOwU":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKsux":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAALbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAANAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAADQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAJ-e":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"wpss7yv4AvkSwbtctTl0JAAAAAAAAANC":{"file_name":["clidriver.py"],"function_name":["_display_response"],"function_offset":[7],"line_number":[952]},"SLUxdgyFrTF3l4NU1VRO_wAAAAAAAOMY":{"file_name":["formatter.py"],"function_name":["__call__"],"function_offset":[23],"line_number":[91]},"ZOgaFnYiv38tVz-8Hafu3wAAAAAAADCy":{"file_name":["paginate.py"],"function_name":["build_full_result"],"function_offset":[43],"line_number":[487]},"u1Za6xFXDX1Ys5Qeh_gy9QAAAAAAAMWW":{"file_name":["paginate.py"],"function_name":["__iter__"],"function_offset":[16],"line_number":[251]},"uq4_q8agTQ0rkhJvygJ3QAAAAAAAAGag":{"file_name":["paginate.py"],"function_name":["_make_request"],"function_offset":[1],"line_number":[329]},"pK0zxAMiW-X23QjQRVzm5wAAAAAAAOu8":{"file_name":["client.py"],"function_name":["_api_call"],"function_offset":[4],"line_number":[337]},"OP7EiuTwTtWCf_B7a-ZpigAAAAAAAIUk":{"file_name":["client.py"],"function_name":["_make_api_call"],"function_offset":[58],"line_number":[699]},"WyVrojmISSgbkYAxEOnpQwAAAAAAAKcu":{"file_name":["client.py"],"function_name":["_make_request"],"function_offset":[3],"line_number":[704]},"JdWBEAqhrU7LJg0YDuYO0wAAAAAAANaq":{"file_name":["endpoint.py"],"function_name":["make_request"],"function_offset":[3],"line_number":[101]},"cwZEcJVCN5Q4BJdAS3o8fwAAAAAAABLk":{"file_name":["endpoint.py"],"function_name":["_send_request"],"function_offset":[28],"line_number":[157]},"iLNvi1vqLkBP_ehg4QlqeAAAAAAAAJ7U":{"file_name":["endpoint.py"],"function_name":["_get_response"],"function_offset":[18],"line_number":[177]},"guXM5tmjJlv0Ehde0y1DFwAAAAAAAPLs":{"file_name":["endpoint.py"],"function_name":["_do_get_response"],"function_offset":[48],"line_number":[232]},"avBEfFKeFSrhKf93SLNe0QAAAAAAAKtK":{"file_name":["endpoint.py"],"function_name":["_send"],"function_offset":[1],"line_number":[271]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAADQ8":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"iRoTPXvR_cRsnzDO-aurpQAAAAAAABVw":{"file_name":["connectionpool.py"],"function_name":["urlopen"],"function_offset":[361],"line_number":[894]},"aAagm2yDcrnYaqBPCwyu8QAAAAAAAE8g":{"file_name":["awsrequest.py"],"function_name":["copy"],"function_offset":[1],"line_number":[605]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAABci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAL_G":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAOMM":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAADYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAL2-":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"lpUCR1NQj5NOLBg7mvzlqgAAAAAAAPi6":{"file_name":["generatecliskeleton.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAHBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAOKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAAT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAABF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAE10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAACLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAEu2":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"08DBZKRu4nC_Oi_uT40UHwAAAAAAAOyO":{"file_name":["codecommit.py"],"function_name":[""],"function_offset":[156],"line_number":[157]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAD2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"n74P5OxFm1hAo5ZWtgcKHQAAAAAAALGe":{"file_name":["__init__.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[93]},"zXbqXCWr0lCbi_b24hNBRQAAAAAAAOI0":{"file_name":["pyimod02_importers.py"],"function_name":["find_spec"],"function_offset":[87],"line_number":[302]},"AOM_-6oRTyAxK8W79Wo5aQAAAAAAAErq":{"file_name":["pyimod02_importers.py"],"function_name":["get_filename"],"function_offset":[12],"line_number":[212]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAABc6":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"ik6PIX946fW_erE7uBJlVQAAAAAAABLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAM6e":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[53],"line_number":[54]},"fq0ezjB8ddCA6Pk0BY9arQAAAAAAAH4C":{"file_name":["distro.py"],"function_name":[""],"function_offset":[608],"line_number":[609]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAMY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAAkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAFci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAHYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[49],"line_number":[62]},"gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc":{"file_name":["core.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[5],"line_number":[18]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[5],"line_number":[972]},"9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE":{"file_name":["application.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAAAQ":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"RDOEyok4432cuMjL10_tugAAAAAAAAEA":{"file_name":["base_events.py"],"function_name":[""],"function_offset":[44],"line_number":[45]},"U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[3],"line_number":[274]},"bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[354]},"25JFhMXA0rvP5hfyUpf34wAAAAAAAAAc":{"file_name":["typing.py"],"function_name":["Optional"],"function_offset":[7],"line_number":[479]},"oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2":{"file_name":["typing.py"],"function_name":["Union"],"function_offset":[32],"line_number":[466]},"Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM":{"file_name":["typing.py"],"function_name":[""],"function_offset":[0],"line_number":[466]},"pz3Evn9laHNJFMwOKIXbswAAAAAAAAB4":{"file_name":["typing.py"],"function_name":["_type_check"],"function_offset":[24],"line_number":[161]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAJci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJGc":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAGeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAI58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAADTm":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAKzA":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"ktj-IOmkEpvZJouiJkQjTgAAAAAAAGYa":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[117],"line_number":[854]},"O_h7elJSxPO7SiCsftYRZgAAAAAAABW2":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAEGM":{"file_name":["client.py"],"function_name":["_get_client_args"],"function_offset":[15],"line_number":[295]},"v_WV3HQYVe0q1Ob-1gtx1AAAAAAAAP0W":{"file_name":["args.py"],"function_name":["get_client_args"],"function_offset":[72],"line_number":[118]},"ka2IKJhpWbD6PA3J3v624wAAAAAAAElW":{"file_name":["copy.py"],"function_name":["copy"],"function_offset":[35],"line_number":[101]},"e8Lb_MV93AH-OkvHPPDitgAAAAAAAI5y":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[6],"line_number":[344]},"1vivUE5hL65442lQ9a_ylgAAAAAAAEOi":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[8],"line_number":[486]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKtu":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fCsVLBj60GK9Hf8VtnMcgAAAAAAAADSW":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[5],"line_number":[35]},"54xjnvwS2UtwpSVJMemggAAAAAAAAGsE":{"file_name":[""],"function_name":[""],"function_offset":[0],"line_number":[1]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAADU":{"file_name":["application.py"],"function_name":[""],"function_offset":[40],"line_number":[41]},"bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"qordvIiilnF7CmkWCAd7eAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc":{"file_name":["base.py"],"function_name":[""],"function_offset":[8],"line_number":[9]},"M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"okgAOHfDrcA806m5xh4DMAAAAAAAAACs":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAI10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAKs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"ik6PIX946fW_erE7uBJlVQAAAAAAAMLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAC8C":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"aRRT4_vBG9Q4nqyirWo5FAAAAAAAAJZa":{"file_name":["codedeploy.py"],"function_name":[""],"function_offset":[49],"line_number":[50]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAAFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4":{"file_name":["abc.py"],"function_name":[""],"function_offset":[267],"line_number":[268]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAG6m":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"auEGiAr7C6IfT0eiHbOlyAAAAAAAAMhK":{"file_name":["session.py"],"function_name":[""],"function_offset":[184],"line_number":[185]},"ZyAwfhB8pqBFv6xiDVdvPQAAAAAAAKh2":{"file_name":["credentials.py"],"function_name":[""],"function_offset":[553],"line_number":[554]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAN2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"9alsKcnSosScCQ3ntwGT5wAAAAAAAKlg":{"file_name":["_bootstrap_external.py"],"function_name":["find_spec"],"function_offset":[22],"line_number":[1518]},"xAINw9zPBhJlledr3DAcGAAAAAAAAK4I":{"file_name":["_bootstrap_external.py"],"function_name":["_get_spec"],"function_offset":[29],"line_number":[1493]},"xVweU0pD8q051c2YgF4PTwAAAAAAAH1m":{"file_name":["_bootstrap_external.py"],"function_name":["find_spec"],"function_offset":[43],"line_number":[1647]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAKHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"ik6PIX946fW_erE7uBJlVQAAAAAAAJLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAOAO":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"d4jl580PLMUwu5s3I4wcXgAAAAAAAISu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"tKago5vqLnwIkezk_wTBpQAAAAAAAOfq":{"file_name":["package.py"],"function_name":[""],"function_offset":[31],"line_number":[32]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAHkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAANLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAF6m":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"auEGiAr7C6IfT0eiHbOlyAAAAAAAALg6":{"file_name":["session.py"],"function_name":[""],"function_offset":[184],"line_number":[185]},"mP9Tk3T74fjOyYWKUaqdMQAAAAAAAJDi":{"file_name":["client.py"],"function_name":[""],"function_offset":[119],"line_number":[120]},"I4X8AC1-B0GuL4JyYemPzwAAAAAAAKO6":{"file_name":["args.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAJkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAKYy":{"file_name":["auth.py"],"function_name":[""],"function_offset":[603],"line_number":[604]},"y9R94bQUxts02WzRWfV7xgAAAAAAAC_y":{"file_name":["auth.py"],"function_name":[""],"function_offset":[316],"line_number":[317]},"uI6css-d8SGQRK6a_Ntl-AAAAAAAAD3e":{"file_name":["auth.py"],"function_name":[""],"function_offset":[336],"line_number":[337]},"SlnkBp0IIJFLHVOe4KbxwQAAAAAAAJLa":{"file_name":["http.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"7wBb3xHP1JZHNBpMGh4EdAAAAAAAADGa":{"file_name":["io.py"],"function_name":[""],"function_offset":[408],"line_number":[409]},"u3fGdgL6eAYjYSRbRUri0gAAAAAAAFUY":{"file_name":["io.py"],"function_name":["SocketDomain"],"function_offset":[3],"line_number":[194]},"aG0mH34tM6si5c1l397JVQAAAAAAAOwA":{"file_name":["enum.py"],"function_name":["__setitem__"],"function_offset":[93],"line_number":[457]},"GC-VoGaqaEobPzimayHQTQAAAAAAANdk":{"file_name":["enum.py"],"function_name":["_is_sunder"],"function_offset":[4],"line_number":[62]},"PmhxUKv5sePRxhCBONca8gAAAAAAAID6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"ik6PIX946fW_erE7uBJlVQAAAAAAAPLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"UfGck3qA2qF0xFB5gpY4HgAAAAAAAH72":{"file_name":["base.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"G9ShE3ODivDEFyHVdsnZ_gAAAAAAABn-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[34],"line_number":[35]},"6AsJ0dA2BUqaic-ScDJBMAAAAAAAACOm":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[38],"line_number":[39]},"fr52ZDCgnkPZlzTNdLTQ5wAAAAAAAGnS":{"file_name":["base.py"],"function_name":[""],"function_offset":[167],"line_number":[168]},"uqoEOAkLp1toolLH0q5LVwAAAAAAAJmm":{"file_name":["mouse_events.py"],"function_name":[""],"function_offset":[63],"line_number":[64]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAJ42":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"WjtMXFj0eujpoknR_rynvAAAAAAAACba":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[800],"line_number":[801]},"Vot4T3F5OpUj8rbXhgpMDgAAAAAAAO8I":{"file_name":["_bootstrap_external.py"],"function_name":["exec_module"],"function_offset":[4],"line_number":[938]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAEtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"EPS0ql6FPdCQLe9KByvDQAAAAAAAAMgy":{"file_name":["traceback.py"],"function_name":[""],"function_offset":[328],"line_number":[329]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAKSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAKJo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAAKJE":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAKA4":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAJp8":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"V6gUZHzBRISi-Z25klK5DQAAAAAAAKri":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[37],"line_number":[38]},"ik6PIX946fW_erE7uBJlVQAAAAAAAELu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"zWNEoAKVTnnzSns045VKhwAAAAAAAMsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAAEfO":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"XVsKc4e32xXUv-3uv2s-8QAAAAAAACny":{"file_name":["defaults.py"],"function_name":["emacs_state"],"function_offset":[32],"line_number":[33]},"uPGvGNXBf1JXGeeDSsmGQAAAAAAAALX2":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[194],"line_number":[679]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[8],"line_number":[21]},"mHiYHSEggclUi1ELZIxq4AAAAAAAAABA":{"file_name":["session.py"],"function_name":[""],"function_offset":[13],"line_number":[27]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU":{"file_name":["client.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc":{"file_name":["waiter.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE":{"file_name":["service.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc":{"file_name":["compat.py"],"function_name":[""],"function_offset":[17],"line_number":[31]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[10],"line_number":[11]},"r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[15],"line_number":[982]},"JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[24],"line_number":[925]},"MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[2],"line_number":[192]},"yWt46REABLfKH6PXLAE18AAAAAAAAABk":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[16],"line_number":[431]},"VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[1],"line_number":[121]},"Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[2],"line_number":[87]},"OwrnTUowquMzuETYoP67yQAAAAAAAAAe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[4],"line_number":[5]},"HmAocvtnsxREZJIec2I5gwAAAAAAAAA4":{"file_name":["__init__.py"],"function_name":["HTTPStatus"],"function_offset":[41],"line_number":[46]},"KHDki7BxJPyjGLtvY8M5lQAAAAAAAAF-":{"file_name":["enum.py"],"function_name":["__setitem__"],"function_offset":[64],"line_number":[152]},"ik6PIX946fW_erE7uBJlVQAAAAAAAGLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAL5W":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"XlQ19HBD_RNa2r3QWOR-nAAAAAAAAP1u":{"file_name":["commands.py"],"function_name":[""],"function_offset":[127],"line_number":[128]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAFRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAItm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"VuJFonCXevADcEDW6NVbKgAAAAAAAGsG":{"file_name":["devcommands.py"],"function_name":[""],"function_offset":[49],"line_number":[50]},"VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAMsO":{"file_name":["factory.py"],"function_name":[""],"function_offset":[57],"line_number":[58]},"PUSucJs4FC_WdMzOyH3QYwAAAAAAAOMa":{"file_name":["layout.py"],"function_name":[""],"function_offset":[130],"line_number":[131]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAH2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"it1vvnZdXdzy0fFROnaaOQAAAAAAALTQ":{"file_name":["_bootstrap.py"],"function_name":["find_spec"],"function_offset":[28],"line_number":[950]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAOL2":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"XlQ19HBD_RNa2r3QWOR-nAAAAAAAAL1u":{"file_name":["commands.py"],"function_name":[""],"function_offset":[127],"line_number":[128]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAARw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAADtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO":{"file_name":["factory.py"],"function_name":[""],"function_offset":[57],"line_number":[58]},"PUSucJs4FC_WdMzOyH3QYwAAAAAAABHq":{"file_name":["layout.py"],"function_name":[""],"function_offset":[130],"line_number":[131]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALC4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAAM8O":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"gZooqVYiItnHim-lK4feOgAAAAAAANN-":{"file_name":["_bootstrap.py"],"function_name":["_init_module_attrs"],"function_offset":[70],"line_number":[563]},"UfGck3qA2qF0xFB5gpY4HgAAAAAAABTm":{"file_name":["base.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"G9ShE3ODivDEFyHVdsnZ_gAAAAAAABs-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[34],"line_number":[35]},"6AsJ0dA2BUqaic-ScDJBMAAAAAAAABbq":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[38],"line_number":[39]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAADSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"VY0EiAO0DxwLRTE4PfFhdwAAAAAAAOMW":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"A8AozG5gQfEN24i4IE7w5wAAAAAAACgG":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[21],"line_number":[22]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAKKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAAHLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"V6gUZHzBRISi-Z25klK5DQAAAAAAACri":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[37],"line_number":[38]},"zWNEoAKVTnnzSns045VKhwAAAAAAAIsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"PmhxUKv5sePRxhCBONca8gAAAAAAAAD6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAEu":{"file_name":["client.py"],"function_name":[""],"function_offset":[1396],"line_number":[1397]},"OPpnYj88CDOiKneikdGPHAAAAAAAAAF-":{"file_name":["ssl.py"],"function_name":[""],"function_offset":[138],"line_number":[142]},"ZJjPF65K8mBuISvhCfKfBgAAAAAAAAB4":{"file_name":["enum.py"],"function_name":["_convert_"],"function_offset":[27],"line_number":[555]},"xLxhp_367a_SbgOYuEJjlwAAAAAAAAAm":{"file_name":["enum.py"],"function_name":["__call__"],"function_offset":[28],"line_number":[386]},"QHotkhNTqx5C4Kjd2F2_6wAAAAAAAAEC":{"file_name":["enum.py"],"function_name":["_create_"],"function_offset":[35],"line_number":[510]},"Ht79I_xqXv3bOgaClTNQ4wAAAAAAAAKS":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[122],"line_number":[301]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAALV2":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAER-":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAPq2":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAFiO":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"aD-GPAkaW-Swis8ybNgyMQAAAAAAAIjQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[455],"line_number":[456]},"HENgRXYeEs7mDD8Gk_MNmgAAAAAAACO-":{"file_name":["help.py"],"function_name":[""],"function_offset":[202],"line_number":[203]},"fFS0upy5lIaT99RhlTN5LQAAAAAAAMwW":{"file_name":["clidocs.py"],"function_name":[""],"function_offset":[399],"line_number":[400]},"lSdGU4igLMOpLhL_6XP15wAAAAAAALze":{"file_name":["argprocess.py"],"function_name":[""],"function_offset":[278],"line_number":[279]},"QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6":{"file_name":["shorthand.py"],"function_name":[""],"function_offset":[132],"line_number":[133]},"20O937106XMbOD0LQR4SPwAAAAAAAAuy":{"file_name":["shorthand.py"],"function_name":["ShorthandParser"],"function_offset":[257],"line_number":[379]},"gPzb0fXoBe1225fbKepMRAAAAAAAAKLy":{"file_name":["shorthand.py"],"function_name":["__init__"],"function_offset":[2],"line_number":[53]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAISc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAIJo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAAGVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAAIFK":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAIJE":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAIai":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAH1i":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"JrU1PwRIxl_8SXdnTESnogAAAAAAAJom":{"file_name":["_compiler.py"],"function_name":["_optimize_charset"],"function_offset":[138],"line_number":[379]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAABtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"zWNEoAKVTnnzSns045VKhwAAAAAAAAsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAAL2e":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"lTFhQHSZwvS4-s94KVv5mAAAAAAAABAw":{"file_name":["renderer.py"],"function_name":[""],"function_offset":[85],"line_number":[86]},"IcJVDEq52FRv22q0yHVMawAAAAAAACL6":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[6],"line_number":[351]},"BDtQyw375W96A0PA_Z7SDQAAAAAAAOUy":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[7],"line_number":[1557]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItm_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L":{"file_name":[],"function_name":["alloc_pages_vma"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5":{"file_name":[],"function_name":["prep_new_page"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgURI":{"file_name":[],"function_name":["clear_page_erms"],"function_offset":[],"line_number":[]},"grZNsSElR5ITq8H2yHCNSwAAAAAAADVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAEHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAM10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAACs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAI_q":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"skFt9oVHBFfMDC1On4IJhgAAAAAAAHg6":{"file_name":["ddb.py"],"function_name":[""],"function_offset":[26],"line_number":[27]},"g5zhfSuJlGbmNqPl5Qb2wgAAAAAAALga":{"file_name":["subcommands.py"],"function_name":[""],"function_offset":[64],"line_number":[65]},"UoMth5MLnZ-vUHeTplwEvAAAAAAAAMqu":{"file_name":["params.py"],"function_name":[""],"function_offset":[226],"line_number":[227]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAABfe":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"OlTvyWQFXjOweJcs3kiGygAAAAAAAMui":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2":{"file_name":["_parser.py"],"function_name":["__len__"],"function_offset":[1],"line_number":[159]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAP0G":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEZ6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAAo6":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAEpu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"J3wpF3Lf_vPkis4aNGKFbwAAAAAAANnI":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAGSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAGOg":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OlTvyWQFXjOweJcs3kiGygAAAAAAACIS":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAAKJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAGSk":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAABtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAALJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALk8":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"zpgqltXEgKujOhJUj-jAhgAAAAAAAKBE":{"file_name":["_parser.py"],"function_name":["__getitem__"],"function_offset":[3],"line_number":[165]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAExO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"6GGFIt18C0VByIn0h-PdeQAAAAAAAGoO":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"SA64oIT_DC3uHXf7ZjFqkwAAAAAAAKVS":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[48],"line_number":[49]},"akZOzI9XwsEixvkTDGeDPwAAAAAAAHZa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAIBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAPKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAAHcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAACD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAADAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAGYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAAJee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAAW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAFj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"fj70ljef7nDHOqVJGSIoEQAAAAAAAMdS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"AtF9VdLKnFQvB9H1lsFPjAAAAAAAALka":{"file_name":["parser.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"Pf1McBfrZjVj1CxRZBq6YwAAAAAAAEwy":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[443],"line_number":[444]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAISm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAHLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABnNL":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADky8":{"file_name":[],"function_name":["down_read_trylock"],"function_offset":[],"line_number":[]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"XkOSW26Xa6_lkqHv5givKgAAAAAAANim":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAPmC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"vkeP2ntYyoFN0A16x9eliwAAAAAAAHPE":{"file_name":["__init__.py"],"function_name":["namedtuple"],"function_offset":[164],"line_number":[512]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI":{"file_name":["client.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg":{"file_name":["parser.py"],"function_name":[""],"function_offset":[7],"line_number":[12]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAk":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[22],"line_number":[27]},"H5LY_MytOVgyAawi8TymCgAAAAAAAAAQ":{"file_name":["_policybase.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"kUJz0cDHgh-y1O5Hi8equAAAAAAAAAAw":{"file_name":["header.py"],"function_name":[""],"function_offset":[14],"line_number":[19]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAALcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAGD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAHAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAEW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"fj70ljef7nDHOqVJGSIoEQAAAAAAACxi":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"AtF9VdLKnFQvB9H1lsFPjAAAAAAAADka":{"file_name":["parser.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"Pf1McBfrZjVj1CxRZBq6YwAAAAAAAFZy":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[443],"line_number":[444]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAOG-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEJE":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAADzu":{"file_name":[],"function_name":["exit_to_usermode_loop"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACrrD":{"file_name":[],"function_name":["task_work_run"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhsk":{"file_name":[],"function_name":["__fput"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAO4n8":{"file_name":[],"function_name":["xfs_release"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOdwM":{"file_name":[],"function_name":["xfs_free_eofblocks"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAANnCL":{"file_name":[],"function_name":["xfs_bmapi_read"],"function_offset":[],"line_number":[]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[21],"line_number":[26]},"-gq3a70QOgdn9HetYyf2OgAAAAAAAACy":{"file_name":["errors.py"],"function_name":[""],"function_offset":[45],"line_number":[50]}},"executables":{"edNJ10OjHiWc5nzuTQdvig":"linux-vdso.so.1","LvhLWomlc0dSPYzQ8C620g":"controller","j8DVIOTu7Btj9lgFefJ84A":"dockerd","QvG8QEGAld88D676NL_Y2Q":"filebeat","B8JRxL079xbhqQBqGvksAg":"kubelet","wfA2BgwfDNXUWsxkJ083Rw":"kubelet","v6HIzNa4K6G4nRP9032RIA":"dockerd","FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","QaIvzvU8UoclQMd_OMt-Pg":"elastic-operator","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","kajOqZqz7V1y0BdYQLFQrw":"containerd-shim-runc-v2","9LzzIocepYcOjnUsLlgOjg":"vmlinux","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","-pk6w5puGcp-wKnQ61BZzQ":"kubelet","A2oiHVwisByxRn5RDT4LjA":"vmlinux","w5zBqPf1_9mIVEf-Rn7EdA":"systemd","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","OTWX4UsOVMrSIF5cD4zUzg":"libmount.so.1.1.0","LHNvPtcKBt87cCBX8aTNhQ":"overlay","67s2TwiMngM0yin5Y8pvEg":"containerd","piWSMQrh4r040D0BPNaJvw":"vmlinux","SbPwzb_Kog2bWn8uc7xhDQ":"aws","xLxcEbwnZ5oNrk99ZsxcSQ":"libpython3.11.so.1.0","eOfhJQFIxbIEScd007tROw":"libpthread-2.26.so","-p9BlJh9JZMPPNjY_j92ng":"awsagent","9HZ7GQCC6G9fZlRD7aGzXQ":"libssl.so.1.0.2k","huWyXZbCBWCe2ZtK9BiokQ":"libcrypto.so.1.0.2k","WpYcHtr4qx88B8CBJZ2GTw":"aws","-Z7SlEXhuy5tL2BF-xmy3g":"libpython3.11.so.1.0","6miIyyucTZf5zXHCk7PT1g":"veth","G68hjsyagwq6LpWrMjDdng":"libpython3.9.so.1.0","JsObMPhfT_zO2Q_B1cPLxA":"coredns","ASi9f26ltguiwFajNwOaZw":"zlib.cpython-311-x86_64-linux-gnu.so","jaBVtokSUzfS97d-XKjijg":"libz.so.1","dGWvVtQJJ5wuqNyQVpi8lA":"zlib.cpython-311-x86_64-linux-gnu.so"},"total_frames":198526,"sampling_rate":0.0016000000000000003} diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json new file mode 100644 index 00000000000000..8a5c1acf7f93d3 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"YdDJxgmO4Qwjr0AEbbpw5g":3,"ARUlXLnccHmzguHUjXRt-A":7,"fsUmzqifyqwKCmzKO1INZQ":24,"z_Kbu_3KsKjzL49rf-CSTA":94,"RpSSZ069-ac11a4PUFolMA":101,"H4U5LLhN4L_4fDVbcrz30A":57,"8jSwzubV-3-vgAsXwII0kA":26,"43tbk4XHS6h_eSSkozr2lQ":33,"1Hf53oSb-zH-2QD2FYxgyA":27,"ER-x6xVv257WtFQAI5qb9g":47,"Hr1OSWigQhS4BD9n1H0fVw":40,"g1qDjUCVlmghGHVDrjeDvw":44,"XU0AYWfaWEgxn6HS3Npe0Q":42,"Xi_OuuwxmtjxVLfRnOKl-w":43,"j3pRZrJva_6zVfPpTrRgMQ":34,"B0rzVoKcdftibP3e40EU_g":39,"jHWwY4al2R105ljWitJf8Q":51,"JFrKrVm1b8YVyjTALHwFPQ":17,"UkNqUaLVbzZ-0N4mRSSfPA":7,"EH1ElzcXDEuDqu7McdrBdQ":17,"VyF1fKBkXgRmNRnKNEu8Fw":23,"naNkvUaKAyxw8L7AmrJp_A":25,"INCPC3idrKxHgrRrb5yK7w":18,"4-XWrzbKLiMzMN29SCKUhA":18,"oazzZOrFVKPzoEMEINIH2g":14,"bgW4z1P_qeyGZ-BNg-EtzA":21,"_7muG2H-TTX5D3mi3LROgw":17,"nKCqWW03DZONEM_Nq2LvwQ":6,"08TjeY9jNFfBuPDWZvzcGA":16,"41gF_giRSTRZMXWPVpvLYA":10,"CCCw9Z7XCAUBXfzhCKjvyQ":12,"RK2MfkyDuA83Ote1DRpnig":9,"E9YrFLZE6ytYTLr5nOdeqA":8,"OaI2ikXPfU9oPJVr7qHqRA":6,"BeervgrHDOwHnECUdx-R1Q":1,"_E7kI3XeP50ndUGgLwozRw":1,"PiAbunsxsTWIrlVv5AJCxQ":2,"gcylfs4yiiRtiY_AHc1fkQ":2,"2J6chKI2om9Kbvwi1SgqlA":1,"YX2R7C2iz4FGt5q5Tnk6TA":1,"--7TGRswVMtk5qWYdGBDUw":1,"iVZ81pgajC_4cYBykPWgBg":1,"dg33Fg5TLDtB9bOuPSPREA":1},"stack_traces":{"YdDJxgmO4Qwjr0AEbbpw5g":{"address_or_lines":[2371],"file_ids":["Ij7mO1SCteAnvtNe95RpEg"],"frame_ids":["Ij7mO1SCteAnvtNe95RpEgAAAAAAAAlD"],"type_ids":[3]},"ARUlXLnccHmzguHUjXRt-A":{"address_or_lines":[4651602,2352],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","Ij7mO1SCteAnvtNe95RpEg"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARvpS","Ij7mO1SCteAnvtNe95RpEgAAAAAAAAkw"],"type_ids":[3,3]},"fsUmzqifyqwKCmzKO1INZQ":{"address_or_lines":[32434917,32101228,32118123],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7url","QvG8QEGAld88D676NL_Y2QAAAAAB6dNs","QvG8QEGAld88D676NL_Y2QAAAAAB6hVr"],"type_ids":[3,3,3]},"z_Kbu_3KsKjzL49rf-CSTA":{"address_or_lines":[4646312,4318297,4332979,4334816],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWo","FWZ9q3TQKZZok58ua1HDsgAAAAAAQeRZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAQh2z","FWZ9q3TQKZZok58ua1HDsgAAAAAAQiTg"],"type_ids":[3,3,3,3]},"RpSSZ069-ac11a4PUFolMA":{"address_or_lines":[4646178,4471372,4470064,4464366,4415263],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuUi","FWZ9q3TQKZZok58ua1HDsgAAAAAARDpM","FWZ9q3TQKZZok58ua1HDsgAAAAAARDUw","FWZ9q3TQKZZok58ua1HDsgAAAAAARB7u","FWZ9q3TQKZZok58ua1HDsgAAAAAAQ18f"],"type_ids":[3,3,3,3,3]},"H4U5LLhN4L_4fDVbcrz30A":{"address_or_lines":[12531204,12361900,12360536,12355924,12307483,12548548],"file_ids":["67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg"],"frame_ids":["67s2TwiMngM0yin5Y8pvEgAAAAAAvzYE","67s2TwiMngM0yin5Y8pvEgAAAAAAvKCs","67s2TwiMngM0yin5Y8pvEgAAAAAAvJtY","67s2TwiMngM0yin5Y8pvEgAAAAAAvIlU","67s2TwiMngM0yin5Y8pvEgAAAAAAu8wb","67s2TwiMngM0yin5Y8pvEgAAAAAAv3nE"],"type_ids":[3,3,3,3,3,3]},"8jSwzubV-3-vgAsXwII0kA":{"address_or_lines":[4635624,4317996,4333118,4324708,4325572,4330137,4587439],"file_ids":["-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw"],"frame_ids":["-1kQFVGzdQWpzLSZ9TRmnwAAAAAARrvo","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQeMs","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQh4-","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQf1k","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQgDE","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQhKZ","-1kQFVGzdQWpzLSZ9TRmnwAAAAAARf-v"],"type_ids":[3,3,3,3,3,3,3]},"43tbk4XHS6h_eSSkozr2lQ":{"address_or_lines":[18515232,22597677,22574090,22556393,22530363,22106663,22101077,22107662],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHQK","v6HIzNa4K6G4nRP9032RIAAAAAABWC7p","v6HIzNa4K6G4nRP9032RIAAAAAABV8k7","v6HIzNa4K6G4nRP9032RIAAAAAABUVIn","v6HIzNa4K6G4nRP9032RIAAAAAABUTxV","v6HIzNa4K6G4nRP9032RIAAAAAABUVYO"],"type_ids":[3,3,3,3,3,3,3,3]},"1Hf53oSb-zH-2QD2FYxgyA":{"address_or_lines":[4636706,4469836,4468509,4463096,4465892,4469227,4567193,4567640,5020934],"file_ids":["LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g"],"frame_ids":["LvhLWomlc0dSPYzQ8C620gAAAAAARsAi","LvhLWomlc0dSPYzQ8C620gAAAAAARDRM","LvhLWomlc0dSPYzQ8C620gAAAAAARC8d","LvhLWomlc0dSPYzQ8C620gAAAAAARBn4","LvhLWomlc0dSPYzQ8C620gAAAAAARCTk","LvhLWomlc0dSPYzQ8C620gAAAAAARDHr","LvhLWomlc0dSPYzQ8C620gAAAAAARbCZ","LvhLWomlc0dSPYzQ8C620gAAAAAARbJY","LvhLWomlc0dSPYzQ8C620gAAAAAATJ0G"],"type_ids":[3,3,3,3,3,3,3,3,3]},"ER-x6xVv257WtFQAI5qb9g":{"address_or_lines":[4643592,4325284,4340382,4331972,4332836,4337401,4594856,4566419,4563908,4561911],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjqe","B8JRxL079xbhqQBqGvksAgAAAAAAQhnE","B8JRxL079xbhqQBqGvksAgAAAAAAQh0k","B8JRxL079xbhqQBqGvksAgAAAAAAQi75","B8JRxL079xbhqQBqGvksAgAAAAAARhyo","B8JRxL079xbhqQBqGvksAgAAAAAARa2T","B8JRxL079xbhqQBqGvksAgAAAAAARaPE","B8JRxL079xbhqQBqGvksAgAAAAAARZv3"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"Hr1OSWigQhS4BD9n1H0fVw":{"address_or_lines":[4646178,4471372,4470064,4464366,4415320,4209576,4209709,10485923,16807,3096172,3095028],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuUi","FWZ9q3TQKZZok58ua1HDsgAAAAAARDpM","FWZ9q3TQKZZok58ua1HDsgAAAAAARDUw","FWZ9q3TQKZZok58ua1HDsgAAAAAARB7u","FWZ9q3TQKZZok58ua1HDsgAAAAAAQ19Y","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDuo","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAALz5s","ew01Dk0sWZctP-VaEpavqQAAAAAALzn0"],"type_ids":[3,3,3,3,3,3,3,4,4,4,4]},"g1qDjUCVlmghGHVDrjeDvw":{"address_or_lines":[18425604,18258924,18257560,18253668,18248332,18043494,18206037,18442402,10485923,16743,1221731,1219041],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGScE","j8DVIOTu7Btj9lgFefJ84AAAAAABFpvs","j8DVIOTu7Btj9lgFefJ84AAAAAABFpaY","j8DVIOTu7Btj9lgFefJ84AAAAAABFodk","j8DVIOTu7Btj9lgFefJ84AAAAAABFnKM","j8DVIOTu7Btj9lgFefJ84AAAAAABE1Jm","j8DVIOTu7Btj9lgFefJ84AAAAAABFc1V","j8DVIOTu7Btj9lgFefJ84AAAAAABGWii","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEqRj","piWSMQrh4r040D0BPNaJvwAAAAAAEpnh"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4]},"XU0AYWfaWEgxn6HS3Npe0Q":{"address_or_lines":[18506340,18339660,18338296,18334404,18329068,18124198,18286773,18523138,10485923,16807,1222099,1220257,1210315],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGmJk","v6HIzNa4K6G4nRP9032RIAAAAAABF9dM","v6HIzNa4K6G4nRP9032RIAAAAAABF9H4","v6HIzNa4K6G4nRP9032RIAAAAAABF8LE","v6HIzNa4K6G4nRP9032RIAAAAAABF63s","v6HIzNa4K6G4nRP9032RIAAAAAABFI2m","v6HIzNa4K6G4nRP9032RIAAAAAABFwi1","v6HIzNa4K6G4nRP9032RIAAAAAABGqQC","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT","ew01Dk0sWZctP-VaEpavqQAAAAAAEp6h","ew01Dk0sWZctP-VaEpavqQAAAAAAEnfL"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4,4]},"Xi_OuuwxmtjxVLfRnOKl-w":{"address_or_lines":[4643332,4460312,4460498,4495428,4495848,4496542,4426254,4658837,10485923,16807,633597,633524,633342,631364],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARtoE","6auiCMWq5cA-hAbqSYvdQQAAAAAARA8Y","6auiCMWq5cA-hAbqSYvdQQAAAAAARA_S","6auiCMWq5cA-hAbqSYvdQQAAAAAARJhE","6auiCMWq5cA-hAbqSYvdQQAAAAAARJno","6auiCMWq5cA-hAbqSYvdQQAAAAAARJye","6auiCMWq5cA-hAbqSYvdQQAAAAAAQ4oO","6auiCMWq5cA-hAbqSYvdQQAAAAAARxaV","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAACar9","ew01Dk0sWZctP-VaEpavqQAAAAAACaq0","ew01Dk0sWZctP-VaEpavqQAAAAAACan-","ew01Dk0sWZctP-VaEpavqQAAAAAACaJE"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4,4,4]},"j3pRZrJva_6zVfPpTrRgMQ":{"address_or_lines":[4435309,4435559,4470649,4243696,4243480,4398678,4639074,10485923,16807,1222099,1220257,1210438,1210021,1207727,1205915],"file_ids":["gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["gfRL5jyxmWedM28UI08hFQAAAAAAQ61t","gfRL5jyxmWedM28UI08hFQAAAAAAQ65n","gfRL5jyxmWedM28UI08hFQAAAAAARDd5","gfRL5jyxmWedM28UI08hFQAAAAAAQMDw","gfRL5jyxmWedM28UI08hFQAAAAAAQMAY","gfRL5jyxmWedM28UI08hFQAAAAAAQx5W","gfRL5jyxmWedM28UI08hFQAAAAAARsli","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT","ew01Dk0sWZctP-VaEpavqQAAAAAAEp6h","ew01Dk0sWZctP-VaEpavqQAAAAAAEnhG","ew01Dk0sWZctP-VaEpavqQAAAAAAEnal","ew01Dk0sWZctP-VaEpavqQAAAAAAEm2v","ew01Dk0sWZctP-VaEpavqQAAAAAAEmab"],"type_ids":[3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"B0rzVoKcdftibP3e40EU_g":{"address_or_lines":[4594276,4428280,4428466,4462056,4242611,4242276,4392174,4610690,10485923,16743,1221731,1219889,1210331,1133072,1132968,8474365],"file_ids":["1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["1QjX8mEQC0-5qYXzadOESAAAAAAARhpk","1QjX8mEQC0-5qYXzadOESAAAAAAAQ5H4","1QjX8mEQC0-5qYXzadOESAAAAAAAQ5Ky","1QjX8mEQC0-5qYXzadOESAAAAAAARBXo","1QjX8mEQC0-5qYXzadOESAAAAAAAQLyz","1QjX8mEQC0-5qYXzadOESAAAAAAAQLtk","1QjX8mEQC0-5qYXzadOESAAAAAAAQwTu","1QjX8mEQC0-5qYXzadOESAAAAAAARlqC","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEqRj","piWSMQrh4r040D0BPNaJvwAAAAAAEp0x","piWSMQrh4r040D0BPNaJvwAAAAAAEnfb","piWSMQrh4r040D0BPNaJvwAAAAAAEUoQ","piWSMQrh4r040D0BPNaJvwAAAAAAEUmo","piWSMQrh4r040D0BPNaJvwAAAAAAgU79"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"jHWwY4al2R105ljWitJf8Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584294],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj6m"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"JFrKrVm1b8YVyjTALHwFPQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000312,40003155,27960932,18154776,18503217],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYls4","v6HIzNa4K6G4nRP9032RIAAAAAACYmZT","v6HIzNa4K6G4nRP9032RIAAAAAABqqZk","v6HIzNa4K6G4nRP9032RIAAAAAABFQUY","v6HIzNa4K6G4nRP9032RIAAAAAABGlYx"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"UkNqUaLVbzZ-0N4mRSSfPA":{"address_or_lines":[4652224,31039781,31054085,31056132,31058408,31449931,30791268,25539462,25547885,25549299,25502704,25503492,25480821,25481061,4953508,4960780,4898318,4893650,4898126],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAAB2aEl","wfA2BgwfDNXUWsxkJ083RwAAAAAB2dkF","wfA2BgwfDNXUWsxkJ083RwAAAAAB2eEE","wfA2BgwfDNXUWsxkJ083RwAAAAAB2eno","wfA2BgwfDNXUWsxkJ083RwAAAAAB3-NL","wfA2BgwfDNXUWsxkJ083RwAAAAAB1dZk","wfA2BgwfDNXUWsxkJ083RwAAAAABhbOG","wfA2BgwfDNXUWsxkJ083RwAAAAABhdRt","wfA2BgwfDNXUWsxkJ083RwAAAAABhdnz","wfA2BgwfDNXUWsxkJ083RwAAAAABhSPw","wfA2BgwfDNXUWsxkJ083RwAAAAABhScE","wfA2BgwfDNXUWsxkJ083RwAAAAABhM51","wfA2BgwfDNXUWsxkJ083RwAAAAABhM9l","wfA2BgwfDNXUWsxkJ083RwAAAAAAS5Wk","wfA2BgwfDNXUWsxkJ083RwAAAAAAS7IM","wfA2BgwfDNXUWsxkJ083RwAAAAAASr4O","wfA2BgwfDNXUWsxkJ083RwAAAAAASqvS","wfA2BgwfDNXUWsxkJ083RwAAAAAASr1O"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"EH1ElzcXDEuDqu7McdrBdQ":{"address_or_lines":[4652224,22357367,22385134,22366798,57076399,58917522,58676957,58636100,58650141,31265796,7372944,7295421,7297245,7300762,7297188,7304836,7297413,7309604,7297924,5094553],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZuqv","B8JRxL079xbhqQBqGvksAgAAAAADgwKS","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1mF","B8JRxL079xbhqQBqGvksAgAAAAAAb4kk","B8JRxL079xbhqQBqGvksAgAAAAAAb1uE","B8JRxL079xbhqQBqGvksAgAAAAAATbyZ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"VyF1fKBkXgRmNRnKNEu8Fw":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59179681,31752932,6709512,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16807,2741196,2827770,2817684,2805156,3382963],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwKh","B8JRxL079xbhqQBqGvksAgAAAAAB5ILk","B8JRxL079xbhqQBqGvksAgAAAAAAZmEI","B8JRxL079xbhqQBqGvksAgAAAAAAS40k","B8JRxL079xbhqQBqGvksAgAAAAAAS7A6","B8JRxL079xbhqQBqGvksAgAAAAAASFtz","B8JRxL079xbhqQBqGvksAgAAAAAASJnd","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U","A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k","A2oiHVwisByxRn5RDT4LjAAAAAAAM56z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"naNkvUaKAyxw8L7AmrJp_A":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602139,24420574,24417550,19100458,18003551],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8Xgb","j8DVIOTu7Btj9lgFefJ84AAAAAABdKDe","j8DVIOTu7Btj9lgFefJ84AAAAAABdJUO","j8DVIOTu7Btj9lgFefJ84AAAAAABI3Mq","j8DVIOTu7Btj9lgFefJ84AAAAAABErZf"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"INCPC3idrKxHgrRrb5yK7w":{"address_or_lines":[4652224,22357367,22385134,22366798,57079599,58878037,58675517,58634660,58648701,31265316,7372944,7295421,7297245,7300762,7297188,7304836,7297245,7300762,7297188,7304836,7297413,7310803,7320503],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAABVSV3","wfA2BgwfDNXUWsxkJ083RwAAAAABVZHu","wfA2BgwfDNXUWsxkJ083RwAAAAABVUpO","wfA2BgwfDNXUWsxkJ083RwAAAAADZvcv","wfA2BgwfDNXUWsxkJ083RwAAAAADgmhV","wfA2BgwfDNXUWsxkJ083RwAAAAADf1E9","wfA2BgwfDNXUWsxkJ083RwAAAAADfrGk","wfA2BgwfDNXUWsxkJ083RwAAAAADfuh9","wfA2BgwfDNXUWsxkJ083RwAAAAAB3RIk","wfA2BgwfDNXUWsxkJ083RwAAAAAAcICQ","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1G9","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1jd","wfA2BgwfDNXUWsxkJ083RwAAAAAAb2aa","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1ik","wfA2BgwfDNXUWsxkJ083RwAAAAAAb3aE","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1jd","wfA2BgwfDNXUWsxkJ083RwAAAAAAb2aa","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1ik","wfA2BgwfDNXUWsxkJ083RwAAAAAAb3aE","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1mF","wfA2BgwfDNXUWsxkJ083RwAAAAAAb43T","wfA2BgwfDNXUWsxkJ083RwAAAAAAb7O3"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"4-XWrzbKLiMzMN29SCKUhA":{"address_or_lines":[4652224,31041029,31055333,31057380,31059656,31451286,31449907,25120346,25115948,4970003,4971223,4754617,4757981,4219698,4219725,10485923,16807,2777344,2775602,2826949,2809805,2807527,2804929,2869997],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAAB2aYF","6auiCMWq5cA-hAbqSYvdQQAAAAAB2d3l","6auiCMWq5cA-hAbqSYvdQQAAAAAB2eXk","6auiCMWq5cA-hAbqSYvdQQAAAAAB2e7I","6auiCMWq5cA-hAbqSYvdQQAAAAAB3-iW","6auiCMWq5cA-hAbqSYvdQQAAAAAB3-Mz","6auiCMWq5cA-hAbqSYvdQQAAAAABf05a","6auiCMWq5cA-hAbqSYvdQQAAAAABfz0s","6auiCMWq5cA-hAbqSYvdQQAAAAAAS9YT","6auiCMWq5cA-hAbqSYvdQQAAAAAAS9rX","6auiCMWq5cA-hAbqSYvdQQAAAAAASIy5","6auiCMWq5cA-hAbqSYvdQQAAAAAASJnd","6auiCMWq5cA-hAbqSYvdQQAAAAAAQGMy","6auiCMWq5cA-hAbqSYvdQQAAAAAAQGNN","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKmEA","ew01Dk0sWZctP-VaEpavqQAAAAAAKloy","ew01Dk0sWZctP-VaEpavqQAAAAAAKyLF","ew01Dk0sWZctP-VaEpavqQAAAAAAKt_N","ew01Dk0sWZctP-VaEpavqQAAAAAAKtbn","ew01Dk0sWZctP-VaEpavqQAAAAAAKszB","ew01Dk0sWZctP-VaEpavqQAAAAAAK8rt"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"oazzZOrFVKPzoEMEINIH2g":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708823,24695729,24696100,20084005,20770646,20784592],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbX","j8DVIOTu7Btj9lgFefJ84AAAAAABeNOx","j8DVIOTu7Btj9lgFefJ84AAAAAABeNUk","j8DVIOTu7Btj9lgFefJ84AAAAAABMnUl","j8DVIOTu7Btj9lgFefJ84AAAAAABPO9W","j8DVIOTu7Btj9lgFefJ84AAAAAABPSXQ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"bgW4z1P_qeyGZ-BNg-EtzA":{"address_or_lines":[43732576,54345578,54346325,54347573,52524033,52636324,52637912,52417621,52420674,52436132,51874398,51910204,51902690,51903112,51905980,51885853,51874436,51883428,51874436,51883428,51874436,51883398,51839246,52405829,52404692,44450492],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAADPT9q","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUJV","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUc1","MNBJ5seVz_ocW6tcr1HSmwAAAAADIXQB","MNBJ5seVz_ocW6tcr1HSmwAAAAADIyqk","MNBJ5seVz_ocW6tcr1HSmwAAAAADIzDY","MNBJ5seVz_ocW6tcr1HSmwAAAAADH9RV","MNBJ5seVz_ocW6tcr1HSmwAAAAADH-BC","MNBJ5seVz_ocW6tcr1HSmwAAAAADIByk","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4pe","MNBJ5seVz_ocW6tcr1HSmwAAAAADGBY8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_ji","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_qI","MNBJ5seVz_ocW6tcr1HSmwAAAAADGAW8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF7cd","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4qE","MNBJ5seVz_ocW6tcr1HSmwAAAAADF62k","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4qE","MNBJ5seVz_ocW6tcr1HSmwAAAAADF62k","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4qE","MNBJ5seVz_ocW6tcr1HSmwAAAAADF62G","MNBJ5seVz_ocW6tcr1HSmwAAAAADFwEO","MNBJ5seVz_ocW6tcr1HSmwAAAAADH6ZF","MNBJ5seVz_ocW6tcr1HSmwAAAAADH6HU","MNBJ5seVz_ocW6tcr1HSmwAAAAACpkK8"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"_7muG2H-TTX5D3mi3LROgw":{"address_or_lines":[4652224,31041029,31055333,31057380,31059656,31451179,30792516,25540230,25548731,25550840,25503472,25504260,25481372,25481181,25484711,25484964,4951332,4960527,4959954,4897957,4893996,4627954,4660663,10485923,16807,3103928,3101167],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAAB2aYF","6auiCMWq5cA-hAbqSYvdQQAAAAAB2d3l","6auiCMWq5cA-hAbqSYvdQQAAAAAB2eXk","6auiCMWq5cA-hAbqSYvdQQAAAAAB2e7I","6auiCMWq5cA-hAbqSYvdQQAAAAAB3-gr","6auiCMWq5cA-hAbqSYvdQQAAAAAB1dtE","6auiCMWq5cA-hAbqSYvdQQAAAAABhbaG","6auiCMWq5cA-hAbqSYvdQQAAAAABhde7","6auiCMWq5cA-hAbqSYvdQQAAAAABhd_4","6auiCMWq5cA-hAbqSYvdQQAAAAABhSbw","6auiCMWq5cA-hAbqSYvdQQAAAAABhSoE","6auiCMWq5cA-hAbqSYvdQQAAAAABhNCc","6auiCMWq5cA-hAbqSYvdQQAAAAABhM_d","6auiCMWq5cA-hAbqSYvdQQAAAAABhN2n","6auiCMWq5cA-hAbqSYvdQQAAAAABhN6k","6auiCMWq5cA-hAbqSYvdQQAAAAAAS40k","6auiCMWq5cA-hAbqSYvdQQAAAAAAS7EP","6auiCMWq5cA-hAbqSYvdQQAAAAAAS67S","6auiCMWq5cA-hAbqSYvdQQAAAAAASryl","6auiCMWq5cA-hAbqSYvdQQAAAAAASq0s","6auiCMWq5cA-hAbqSYvdQQAAAAAARp3y","6auiCMWq5cA-hAbqSYvdQQAAAAAARx23","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAL1y4","ew01Dk0sWZctP-VaEpavqQAAAAAAL1Hv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4]},"nKCqWW03DZONEM_Nq2LvwQ":{"address_or_lines":[12540096,19004791,19032250,19014236,19907031,31278974,31279321,31305795,31279321,31290406,31279321,31317002,19907351,21668882,21654220,21663244,21662923,16321295,16318241,16372475,15847297,16321906,16318704,15818442,15818729,12152742,12151794,12187561],"file_ids":["67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg"],"frame_ids":["67s2TwiMngM0yin5Y8pvEgAAAAAAv1jA","67s2TwiMngM0yin5Y8pvEgAAAAABIf13","67s2TwiMngM0yin5Y8pvEgAAAAABImi6","67s2TwiMngM0yin5Y8pvEgAAAAABIiJc","67s2TwiMngM0yin5Y8pvEgAAAAABL8HX","67s2TwiMngM0yin5Y8pvEgAAAAAB3Ud-","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3bBD","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3XQm","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3dwK","67s2TwiMngM0yin5Y8pvEgAAAAABL8MX","67s2TwiMngM0yin5Y8pvEgAAAAABSqQS","67s2TwiMngM0yin5Y8pvEgAAAAABSmrM","67s2TwiMngM0yin5Y8pvEgAAAAABSo4M","67s2TwiMngM0yin5Y8pvEgAAAAABSozL","67s2TwiMngM0yin5Y8pvEgAAAAAA-QsP","67s2TwiMngM0yin5Y8pvEgAAAAAA-P8h","67s2TwiMngM0yin5Y8pvEgAAAAAA-dL7","67s2TwiMngM0yin5Y8pvEgAAAAAA8c-B","67s2TwiMngM0yin5Y8pvEgAAAAAA-Q1y","67s2TwiMngM0yin5Y8pvEgAAAAAA-QDw","67s2TwiMngM0yin5Y8pvEgAAAAAA8V7K","67s2TwiMngM0yin5Y8pvEgAAAAAA8V_p","67s2TwiMngM0yin5Y8pvEgAAAAAAuW-m","67s2TwiMngM0yin5Y8pvEgAAAAAAuWvy","67s2TwiMngM0yin5Y8pvEgAAAAAAufep"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"08TjeY9jNFfBuPDWZvzcGA":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708845,24702901,19816356,19817629,19819812,19827076,19819869,19823237,19819812,19819076],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbt","j8DVIOTu7Btj9lgFefJ84AAAAAABeO-1","j8DVIOTu7Btj9lgFefJ84AAAAAABLl-k","j8DVIOTu7Btj9lgFefJ84AAAAAABLmSd","j8DVIOTu7Btj9lgFefJ84AAAAAABLm0k","j8DVIOTu7Btj9lgFefJ84AAAAAABLomE","j8DVIOTu7Btj9lgFefJ84AAAAAABLm1d","j8DVIOTu7Btj9lgFefJ84AAAAAABLnqF","j8DVIOTu7Btj9lgFefJ84AAAAAABLm0k","j8DVIOTu7Btj9lgFefJ84AAAAAABLmpE"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"41gF_giRSTRZMXWPVpvLYA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19907099,19901069],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8Ib","v6HIzNa4K6G4nRP9032RIAAAAAABL6qN"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"CCCw9Z7XCAUBXfzhCKjvyQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778468,20166836,20169482,20167663,20167859,19086136,19109575,19098127,19092114,19079610],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehbk","v6HIzNa4K6G4nRP9032RIAAAAAABM7i0","v6HIzNa4K6G4nRP9032RIAAAAAABM8MK","v6HIzNa4K6G4nRP9032RIAAAAAABM7vv","v6HIzNa4K6G4nRP9032RIAAAAAABM7yz","v6HIzNa4K6G4nRP9032RIAAAAAABIzs4","v6HIzNa4K6G4nRP9032RIAAAAAABI5bH","v6HIzNa4K6G4nRP9032RIAAAAAABI2oP","v6HIzNa4K6G4nRP9032RIAAAAAABI1KS","v6HIzNa4K6G4nRP9032RIAAAAAABIyG6"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"RK2MfkyDuA83Ote1DRpnig":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901252,19908516,19901309,19904677,19901477,19914228,19923006],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6wl","v6HIzNa4K6G4nRP9032RIAAAAAABL930","v6HIzNa4K6G4nRP9032RIAAAAAABMAA-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"E9YrFLZE6ytYTLr5nOdeqA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16755],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEFz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4]},"OaI2ikXPfU9oPJVr7qHqRA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19045737,19044484,19054298,18859716,18879913,10485923,16807,2741468,2828042,2818852,4377977,4376240],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp1p","v6HIzNa4K6G4nRP9032RIAAAAAABIpiE","v6HIzNa4K6G4nRP9032RIAAAAAABIr7a","v6HIzNa4K6G4nRP9032RIAAAAAABH8bE","v6HIzNa4K6G4nRP9032RIAAAAAABIBWp","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc","ew01Dk0sWZctP-VaEpavqQAAAAAAKycK","ew01Dk0sWZctP-VaEpavqQAAAAAAKwMk","ew01Dk0sWZctP-VaEpavqQAAAAAAQs15","ew01Dk0sWZctP-VaEpavqQAAAAAAQsaw"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"BeervgrHDOwHnECUdx-R1Q":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528188,54495447,54497074,54477482,44043465,44042020,44050767,44050194,43988037,43983308,43704594,43741015,10485923,16807,3103112,3099892,3094686,3393841,3393734,3091863,2557902,2671840],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQAi8","MNBJ5seVz_ocW6tcr1HSmwAAAAADP4jX","MNBJ5seVz_ocW6tcr1HSmwAAAAADP48y","MNBJ5seVz_ocW6tcr1HSmwAAAAADP0Kq","MNBJ5seVz_ocW6tcr1HSmwAAAAACoAzJ","MNBJ5seVz_ocW6tcr1HSmwAAAAACoAck","MNBJ5seVz_ocW6tcr1HSmwAAAAACoClP","MNBJ5seVz_ocW6tcr1HSmwAAAAACoCcS","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzRF","MNBJ5seVz_ocW6tcr1HSmwAAAAACnyHM","MNBJ5seVz_ocW6tcr1HSmwAAAAACmuES","MNBJ5seVz_ocW6tcr1HSmwAAAAACm29X","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAL1mI","9LzzIocepYcOjnUsLlgOjgAAAAAAL0z0","9LzzIocepYcOjnUsLlgOjgAAAAAALzie","9LzzIocepYcOjnUsLlgOjgAAAAAAM8kx","9LzzIocepYcOjnUsLlgOjgAAAAAAM8jG","9LzzIocepYcOjnUsLlgOjgAAAAAALy2X","9LzzIocepYcOjnUsLlgOjgAAAAAAJwfO","9LzzIocepYcOjnUsLlgOjgAAAAAAKMTg"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"_E7kI3XeP50ndUGgLwozRw":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708823,24695729,24696049,18964841,18963588,18973402,18778948,18799145,10485923,16743,2737420,2823946,2813708,2804875,2803431,2800833,2865890],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbX","j8DVIOTu7Btj9lgFefJ84AAAAAABeNOx","j8DVIOTu7Btj9lgFefJ84AAAAAABeNTx","j8DVIOTu7Btj9lgFefJ84AAAAAABIWFp","j8DVIOTu7Btj9lgFefJ84AAAAAABIVyE","j8DVIOTu7Btj9lgFefJ84AAAAAABIYLa","j8DVIOTu7Btj9lgFefJ84AAAAAABHotE","j8DVIOTu7Btj9lgFefJ84AAAAAABHtop","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu8M","piWSMQrh4r040D0BPNaJvwAAAAAAKsyL","piWSMQrh4r040D0BPNaJvwAAAAAAKsbn","piWSMQrh4r040D0BPNaJvwAAAAAAKrzB","piWSMQrh4r040D0BPNaJvwAAAAAAK7ri"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"PiAbunsxsTWIrlVv5AJCxQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7441528],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYx4"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"gcylfs4yiiRtiY_AHc1fkQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508562],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpJS"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"2J6chKI2om9Kbvwi1SgqlA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7441584,6770797,6773738,2395067],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYyw","ew01Dk0sWZctP-VaEpavqQAAAAAAZ1Bt","ew01Dk0sWZctP-VaEpavqQAAAAAAZ1vq","ew01Dk0sWZctP-VaEpavqQAAAAAAJIu7"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"YX2R7C2iz4FGt5q5Tnk6TA":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895453,19846041,19847127,19902436,19861609,19902628,19862836,19902820,19863773,19901256,19856467,19901444,19858248,18713630,18723524,18720816,19859472,18001099,10488398,10493154,585983,12583132,6817209,21184,6815932,6812296,6811747,6811254,7304819,7302120],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","_3bHXKBtA1BrvZVdhZK3vg","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5Sd","j8DVIOTu7Btj9lgFefJ84AAAAAABLtOZ","j8DVIOTu7Btj9lgFefJ84AAAAAABLtfX","j8DVIOTu7Btj9lgFefJ84AAAAAABL6_k","j8DVIOTu7Btj9lgFefJ84AAAAAABLxBp","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Ck","j8DVIOTu7Btj9lgFefJ84AAAAAABLxU0","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Fk","j8DVIOTu7Btj9lgFefJ84AAAAAABLxjd","j8DVIOTu7Btj9lgFefJ84AAAAAABL6tI","j8DVIOTu7Btj9lgFefJ84AAAAAABLvxT","j8DVIOTu7Btj9lgFefJ84AAAAAABL6wE","j8DVIOTu7Btj9lgFefJ84AAAAAABLwNI","j8DVIOTu7Btj9lgFefJ84AAAAAABHYwe","j8DVIOTu7Btj9lgFefJ84AAAAAABHbLE","j8DVIOTu7Btj9lgFefJ84AAAAAABHagw","j8DVIOTu7Btj9lgFefJ84AAAAAABLwgQ","j8DVIOTu7Btj9lgFefJ84AAAAAABEqzL","piWSMQrh4r040D0BPNaJvwAAAAAAoApO","piWSMQrh4r040D0BPNaJvwAAAAAAoBzi","piWSMQrh4r040D0BPNaJvwAAAAAACPD_","piWSMQrh4r040D0BPNaJvwAAAAAAwADc","piWSMQrh4r040D0BPNaJvwAAAAAAaAW5","_3bHXKBtA1BrvZVdhZK3vgAAAAAAAFLA","piWSMQrh4r040D0BPNaJvwAAAAAAaAC8","piWSMQrh4r040D0BPNaJvwAAAAAAZ_KI","piWSMQrh4r040D0BPNaJvwAAAAAAZ_Bj","piWSMQrh4r040D0BPNaJvwAAAAAAZ-52","piWSMQrh4r040D0BPNaJvwAAAAAAb3Zz","piWSMQrh4r040D0BPNaJvwAAAAAAb2vo"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"--7TGRswVMtk5qWYdGBDUw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7439971,6798378,6797926,4866621,4855697,8473771],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm","ew01Dk0sWZctP-VaEpavqQAAAAAASkI9","ew01Dk0sWZctP-VaEpavqQAAAAAASheR","ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"iVZ81pgajC_4cYBykPWgBg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508344,7393457,7394824,7384416,6869315,6866863,2643],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","6miIyyucTZf5zXHCk7PT1g"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4","ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx","ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI","ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g","ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD","ew01Dk0sWZctP-VaEpavqQAAAAAAaMev","6miIyyucTZf5zXHCk7PT1gAAAAAAAApT"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"dg33Fg5TLDtB9bOuPSPREA":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2823003,3007344,3001783,2924437,3112045,3104142,1417998,1456694,1456323,1393341,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1345741,1348060,1347558,1345954,1343030,1342299,1335062,1334604,1334212,452199,518055,509958],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxNb","-p9BlJh9JZMPPNjY_j92ngAAAAAALeNw","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3xt","-p9BlJh9JZMPPNjY_j92ngAAAAAAL12O","huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD","huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFImi","huWyXZbCBWCe2ZtK9BiokQAAAAAAFH42","huWyXZbCBWCe2ZtK9BiokQAAAAAAFHtb","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF1M","huWyXZbCBWCe2ZtK9BiokQAAAAAAFFvE","huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB8gG"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAALz5s":{"file_name":[],"function_name":["__x64_sys_epoll_pwait"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAALzn0":{"file_name":[],"function_name":["do_epoll_wait"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEqRj":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEpnh":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEp6h":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEnfL":{"file_name":[],"function_name":["futex_wait"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACar9":{"file_name":[],"function_name":["__x64_sys_tgkill"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACaq0":{"file_name":[],"function_name":["do_tkill"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACan-":{"file_name":[],"function_name":["do_send_specific"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACaJE":{"file_name":[],"function_name":["do_send_sig_info"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEnhG":{"file_name":[],"function_name":["futex_wait"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEnal":{"file_name":[],"function_name":["futex_wait_setup"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEm2v":{"file_name":[],"function_name":["get_futex_key"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEmab":{"file_name":[],"function_name":["get_futex_key_refs.isra.8"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEp0x":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEnfb":{"file_name":[],"function_name":["futex_wait"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEUoQ":{"file_name":[],"function_name":["hrtimer_cancel"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEUmo":{"file_name":[],"function_name":["hrtimer_try_to_cancel"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAgU79":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAM56z":{"file_name":[],"function_name":["kernfs_dop_revalidate"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKmEA":{"file_name":[],"function_name":["__do_sys_newfstatat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKloy":{"file_name":[],"function_name":["vfs_statx"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKyLF":{"file_name":[],"function_name":["filename_lookup"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKt_N":{"file_name":[],"function_name":["path_lookupat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKtbn":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKszB":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAK8rt":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAL1y4":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAL1Hv":{"file_name":[],"function_name":["ep_insert"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEFz":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKycK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKwMk":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQs15":{"file_name":[],"function_name":["ima_file_check"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQsaw":{"file_name":[],"function_name":["process_measurement"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAL1mI":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAL0z0":{"file_name":[],"function_name":["ep_insert"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAALzie":{"file_name":[],"function_name":["ep_item_poll.isra.15"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAM8kx":{"file_name":[],"function_name":["kernfs_fop_poll"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAM8jG":{"file_name":[],"function_name":["kernfs_generic_poll"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAALy2X":{"file_name":[],"function_name":["ep_ptable_queue_proc"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwfO":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKMTg":{"file_name":[],"function_name":["memcg_kmem_get_cache"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKcUM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKxcK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKu8M":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsyL":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsbn":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKrzB":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAK7ri":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYx4":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpJS":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYyw":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ1Bt":{"file_name":[],"function_name":["__kfree_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ1vq":{"file_name":[],"function_name":["skb_release_data"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAJIu7":{"file_name":[],"function_name":["free_unref_page"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoApO":{"file_name":[],"function_name":["ret_from_intr"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoBzi":{"file_name":[],"function_name":["do_IRQ"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAACPD_":{"file_name":[],"function_name":["irq_exit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAaAW5":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"_3bHXKBtA1BrvZVdhZK3vgAAAAAAAFLA":{"file_name":[],"function_name":["ena_io_poll"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAaAC8":{"file_name":[],"function_name":["napi_complete_done"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ_KI":{"file_name":[],"function_name":["gro_normal_list.part.131"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ_Bj":{"file_name":[],"function_name":["netif_receive_skb_list_internal"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ-52":{"file_name":[],"function_name":["__netif_receive_skb_list_core"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb3Zz":{"file_name":[],"function_name":["ip_list_rcv"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb2vo":{"file_name":[],"function_name":["ip_rcv_core.isra.17"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASkI9":{"file_name":[],"function_name":["_copy_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASheR":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr":{"file_name":[],"function_name":["copy_user_generic_string"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaMev":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"6miIyyucTZf5zXHCk7PT1gAAAAAAAApT":{"file_name":[],"function_name":["veth_xmit"],"function_offset":[],"line_number":[]},"eOfhJQFIxbIEScd007tROwAAAAAAAHRK":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/nptl/pthread_create.c"],"function_name":["start_thread"],"function_offset":[],"line_number":[465]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_d2.c"],"function_name":["X509_STORE_load_locations"],"function_offset":[],"line_number":[94]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["by_file_ctrl"],"function_offset":[],"line_number":[117]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["X509_load_cert_crl_file"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/pem/pem_info.c"],"function_name":["PEM_X509_INFO_read_bio"],"function_offset":[],"line_number":[248]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_d2i"],"function_offset":[],"line_number":[154]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_ex_d2i"],"function_offset":[],"line_number":[553]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[478]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_ex_d2i"],"function_offset":[],"line_number":[623]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_noexp_d2i"],"function_offset":[],"line_number":[735]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFImi":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFH42":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_d2i_ex_primitive"],"function_offset":[],"line_number":[874]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFHtb":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_ex_c2i"],"function_offset":[],"line_number":[903]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["ASN1_item_new"],"function_offset":[],"line_number":[76]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF1M":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["asn1_item_ex_combine_new"],"function_offset":[],"line_number":[136]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFFvE":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["ASN1_primitive_new"],"function_offset":[],"line_number":[342]},"huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/mem.c"],"function_name":["CRYPTO_malloc"],"function_offset":[],"line_number":[346]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["__GI___libc_malloc"],"function_offset":[],"line_number":[3068]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB8gG":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["_int_malloc"],"function_offset":[],"line_number":[3584]}},"executables":{"Ij7mO1SCteAnvtNe95RpEg":"linux-vdso.so.1","B56YkhsK1JwqD-8F8sjS3A":"prometheus","QvG8QEGAld88D676NL_Y2Q":"filebeat","FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","67s2TwiMngM0yin5Y8pvEg":"containerd","-1kQFVGzdQWpzLSZ9TRmnw":"kube-state-metrics","v6HIzNa4K6G4nRP9032RIA":"dockerd","LvhLWomlc0dSPYzQ8C620g":"controller","B8JRxL079xbhqQBqGvksAg":"kubelet","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","j8DVIOTu7Btj9lgFefJ84A":"dockerd","piWSMQrh4r040D0BPNaJvw":"vmlinux","6auiCMWq5cA-hAbqSYvdQQ":"kubelet","gfRL5jyxmWedM28UI08hFQ":"snapshot-controller","1QjX8mEQC0-5qYXzadOESA":"containerd-shim-runc-v2","wfA2BgwfDNXUWsxkJ083Rw":"kubelet","A2oiHVwisByxRn5RDT4LjA":"vmlinux","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","9LzzIocepYcOjnUsLlgOjg":"vmlinux","_3bHXKBtA1BrvZVdhZK3vg":"ena","6miIyyucTZf5zXHCk7PT1g":"veth","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","eOfhJQFIxbIEScd007tROw":"libpthread-2.26.so","-p9BlJh9JZMPPNjY_j92ng":"awsagent","huWyXZbCBWCe2ZtK9BiokQ":"libcrypto.so.1.0.2k"},"total_frames":13116,"sampling_rate":1} diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json new file mode 100644 index 00000000000000..35bdfd78836885 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"clTcDPwSeibw16tpSQPVxA":38,"1sIZ88dgfmQewwimPWuaWw":80,"2gFeSnOvAhz1aSRiNEVnjQ":213,"0CNUMdOdpmKJxWeUmvWvXg":1062,"9_06LL00QkYIeiFNCWu0XQ":919,"StwAKCpFAmfI3NKtrFQDVg":494,"Jd0qjF7XxnghG2_AZCQTFA":408,"1Ez9iBhqi5bXK2tpNXVjRA":380,"2Ov4wSepfExdnFvsJSSjog":281,"DALs1IxJ3oi7BZ8FFjuM_Q":418,"VmRA1Zd-R_saxzv9stOlrw":364,"u31aX9a6CI2OuomWQHSx1Q":397,"7zatBTElj7KkoApkBS7dzw":438,"ErI-d7HGvspCKDUrR8E64A":371,"-s21TvA-EsTWbfCutQG83Q":373,"kryT_w4Id2yAnU578aXk1w":330,"AsgowTLQhiAbue_lxpHIHw":373,"hecRkAhRG62NML7wI512zA":230,"woPu0Q2DCHU5xpBNJFRNGw":179,"-t2pi-xr8qjFCfIHra96OA":203,"qbtMiMC37gp-mMp0u-WgYw":238,"ZZck2mgLZGHuLiBDFerx6w":244,"af-YU39AX7WoGwE66OjkRg":197,"DkjcsUWzUMWlzGIG7vWPLA":201,"9sZZ-MQWzCV4c64gJJBU6Q":261,"rQhVFvlTg_4aQXNpF_LGMQ":213,"-t0hOBsBrsbJ-S8NPXUTmg":175,"VoyVx3eKZvx3I7o9LV75WA":148,"SwXYsounAV_Jw1AjJobr2g":120,"Z84n0-wX6U6-iVSLGr0n7A":130,"PPkg_Kb06KioYNLVH5MUSw":114,"lMQPlrvTe5c5NiwvC7JXZg":102,"0BFlivqqa58juwW6lzxBVg":70,"cKHQmDxYocbgoxaTvYj6SA":53,"KnJHmq-Dv1WTEbftpdA5Zg":39,"2-DAEecFvG7qyB6YjY5nOg":38,"Ocoebh9gAlmO1k7rQilo0w":23,"XyR38J9TfiJQyusyqjnL0Q":12,"9s4s_y43ZAfUdYXm930H4A":9,"LeV2oAqU4BVeWoabuoh-cw":10,"2gcYNFzbFyKxWn73M5202w":12,"CU-T9AvnxmWd1TTRjgV01Q":27,"nnsc9UkL_oA5SAi5cs_ZPg":9,"wAujHiFN47_oNUI63d6EtA":15,"ia-QZTf1AEqK7KEggAUJSw":12,"YxsKA4n0U7pKfHmrePpfjA":2,"mqliNf10_gB69yQo7_zlzg":9,"24tLFB3hY9xz1zbZCjaBXA":1,"MLSOPRH6z6HuctKh5rsAnA":4,"krdohOL0KiVMtm4q-6fmjg":2,"FtHYpmBv9BwyjtHQeYFcCw":2,"FuFG7sSEAg94nZpDT4nzlA":3,"chida0TNeXOPGVvI0kALCQ":4,"UDWRHwtQcuK3KYw4Lj118w":3,"wQhKHV5i9LyZbGr1o38TMA":1,"TtsX1UxF45-CxViHFwbKJw":1,"iu7dYG1YyobzAXC7AJADOw":1,"WmwSnxyphedkasVyGbhNdg":2,"YWZby9VC56JtR6BAaYHEoA":1,"Hi8HEHDniMkBvPgm-_IXdg":2,"X86DUuQ7tHAxGBaWu4tZLg":3,"Tx8lhCcOjrVLOl1hWK6aBw":1,"oKVObqTWF9QIjxgKf8UkTw":3,"rsb7cL4OAenBHrp0F_Wcgg":2,"mWVVBnqMHfG9pWtaZUm47Q":1,"r1nqJ9JqsZyOKqlpBmuvLg":1,"5MDEZjYH98Woy4iHbcvgDg":1,"WYRZ4mSdJHjsW8s2yoKnfA":1,"C4ItszXjQjtRADEg560AUw":6,"8IBqDIuSolkkEHIjO_CfMw":5,"T2hqeT_yirkauwcO1cGJEw":4,"OIXgOJgQPE-F5rS7DPPzZA":2,"i0e78nPZCZ2CbzzLMEOcMw":4,"34DMF2kw8Djh_MjcdchMzw":6,"XG9tjujXJl2nWpbHppoRMA":6,"SrSwvDbs2pmPg3SRfXJBCA":8,"bcNRMcXtTRgNPl4vy6M5KQ":8,"XmiUdMqa5OViUnHQ_LS4Uw":3,"3odHGojcaqq4ImPnmLLSzw":6,"bRKRM4i4-XY2LCfN18mOow":8,"W936jUeelyxTrQQ2V9mn-w":3,"AlH3zgnqwh5sdMMzX8AXxg":3,"YHwQa4NMDpWa9cokfF0xqw":1,"AlRn0MJA_RCD0pN2OpIRZA":4,"inhNt-Ftru1dLAPaXB98Gw":2,"qaaAfLAUIerA8yhApFJRYQ":2,"cj3H8UtNXHeFFvSKCpbt_Q":1,"XT5dbBR70HCMmAkhladaCQ":1,"Kfnso_5TQwyEGb1cfr-n5A":1,"O3_UY4IxBGbcnXlHSqWz_w":2},"stack_traces":{"clTcDPwSeibw16tpSQPVxA":{"address_or_lines":[4646313],"file_ids":["FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWp"],"type_ids":[3]},"1sIZ88dgfmQewwimPWuaWw":{"address_or_lines":[4660883,2469],"file_ids":["B8JRxL079xbhqQBqGvksAg","edNJ10OjHiWc5nzuTQdvig"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARx6T","edNJ10OjHiWc5nzuTQdvigAAAAAAAAml"],"type_ids":[3,3]},"2gFeSnOvAhz1aSRiNEVnjQ":{"address_or_lines":[10486356,710610,1071113],"file_ids":["piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["piWSMQrh4r040D0BPNaJvwAAAAAAoAJU","piWSMQrh4r040D0BPNaJvwAAAAAACtfS","piWSMQrh4r040D0BPNaJvwAAAAAAEFgJ"],"type_ids":[4,4,4]},"0CNUMdOdpmKJxWeUmvWvXg":{"address_or_lines":[32434917,32101228,32115955,32118104],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7url","QvG8QEGAld88D676NL_Y2QAAAAAB6dNs","QvG8QEGAld88D676NL_Y2QAAAAAB6gzz","QvG8QEGAld88D676NL_Y2QAAAAAB6hVY"],"type_ids":[3,3,3,3]},"9_06LL00QkYIeiFNCWu0XQ":{"address_or_lines":[4643592,4325284,4339923,4341903,4293837],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjjT","B8JRxL079xbhqQBqGvksAgAAAAAAQkCP","B8JRxL079xbhqQBqGvksAgAAAAAAQYTN"],"type_ids":[3,3,3,3,3]},"StwAKCpFAmfI3NKtrFQDVg":{"address_or_lines":[4646312,4600750,4594821,4561903,4559144,4562383],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWo","FWZ9q3TQKZZok58ua1HDsgAAAAAARjOu","FWZ9q3TQKZZok58ua1HDsgAAAAAARhyF","FWZ9q3TQKZZok58ua1HDsgAAAAAARZvv","FWZ9q3TQKZZok58ua1HDsgAAAAAARZEo","FWZ9q3TQKZZok58ua1HDsgAAAAAARZ3P"],"type_ids":[3,3,3,3,3,3]},"Jd0qjF7XxnghG2_AZCQTFA":{"address_or_lines":[43723813,43390308,43405438,43397462,43398148,43406419,43408369],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACmywl","MNBJ5seVz_ocW6tcr1HSmwAAAAAClhVk","MNBJ5seVz_ocW6tcr1HSmwAAAAACllB-","MNBJ5seVz_ocW6tcr1HSmwAAAAACljFW","MNBJ5seVz_ocW6tcr1HSmwAAAAACljQE","MNBJ5seVz_ocW6tcr1HSmwAAAAACllRT","MNBJ5seVz_ocW6tcr1HSmwAAAAACllvx"],"type_ids":[3,3,3,3,3,3,3]},"1Ez9iBhqi5bXK2tpNXVjRA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9497568],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkOvg"],"type_ids":[3,3,3,3,3,3,3,3]},"2Ov4wSepfExdnFvsJSSjog":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9504548,5043327],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQck","FWZ9q3TQKZZok58ua1HDsgAAAAAATPR_"],"type_ids":[3,3,3,3,3,3,3,3,3]},"DALs1IxJ3oi7BZ8FFjuM_Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9504218,4890989,4889187],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQXa","FWZ9q3TQKZZok58ua1HDsgAAAAAASqFt","FWZ9q3TQKZZok58ua1HDsgAAAAAASppj"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"VmRA1Zd-R_saxzv9stOlrw":{"address_or_lines":[4650848,9850853,9880398,9883181,9807044,9827268,9781937,9782483,9784009,9784300,9829781],"file_ids":["QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg"],"frame_ids":["QaIvzvU8UoclQMd_OMt-PgAAAAAARvdg","QaIvzvU8UoclQMd_OMt-PgAAAAAAlk_l","QaIvzvU8UoclQMd_OMt-PgAAAAAAlsNO","QaIvzvU8UoclQMd_OMt-PgAAAAAAls4t","QaIvzvU8UoclQMd_OMt-PgAAAAAAlaTE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlfPE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUKx","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUTT","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUrJ","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUvs","QaIvzvU8UoclQMd_OMt-PgAAAAAAlf2V"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3]},"u31aX9a6CI2OuomWQHSx1Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265796,7372663,7364083],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcH93","B8JRxL079xbhqQBqGvksAgAAAAAAcF3z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3]},"7zatBTElj7KkoApkBS7dzw":{"address_or_lines":[32443680,58256816,58381230,58319266,58327970,58359946,58318775,58321276,58323254,58419093,58425670,32747421,32699470],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7w0g","QvG8QEGAld88D676NL_Y2QAAAAADeO2w","QvG8QEGAld88D676NL_Y2QAAAAADetOu","QvG8QEGAld88D676NL_Y2QAAAAADeeGi","QvG8QEGAld88D676NL_Y2QAAAAADegOi","QvG8QEGAld88D676NL_Y2QAAAAADeoCK","QvG8QEGAld88D676NL_Y2QAAAAADed-3","QvG8QEGAld88D676NL_Y2QAAAAADeel8","QvG8QEGAld88D676NL_Y2QAAAAADefE2","QvG8QEGAld88D676NL_Y2QAAAAADe2eV","QvG8QEGAld88D676NL_Y2QAAAAADe4FG","QvG8QEGAld88D676NL_Y2QAAAAAB86-d","QvG8QEGAld88D676NL_Y2QAAAAAB8vRO"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3]},"ErI-d7HGvspCKDUrR8E64A":{"address_or_lines":[152249,135481,144741,190122,831754,827742,928935,925466,103752,102294,100426,61069,75059,73332],"file_ids":["w5zBqPf1_9mIVEf-Rn7EdA","Z_CHd3Zjsh2cWE2NSdbiNQ","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg"],"frame_ids":["w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAlK5","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAjVl","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAuaq","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADLEK","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADKFe","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADiyn","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADh8a","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAYhK","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAO6N","OTWX4UsOVMrSIF5cD4zUzgAAAAAAASUz","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAR50"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-s21TvA-EsTWbfCutQG83Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10733818,10618404,10387225,4547736,4658752],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8j6","FWZ9q3TQKZZok58ua1HDsgAAAAAAogYk","FWZ9q3TQKZZok58ua1HDsgAAAAAAnn8Z","FWZ9q3TQKZZok58ua1HDsgAAAAAARWSY","FWZ9q3TQKZZok58ua1HDsgAAAAAARxZA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"kryT_w4Id2yAnU578aXk1w":{"address_or_lines":[4652224,22357367,22385134,22366798,57089650,58932906,58679635,58644118,58665750,31406998,7372944,7295421,7297188,7304836,7297245,5131680],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZx5y","B8JRxL079xbhqQBqGvksAgAAAAADgz6q","B8JRxL079xbhqQBqGvksAgAAAAADf2FT","B8JRxL079xbhqQBqGvksAgAAAAADftaW","B8JRxL079xbhqQBqGvksAgAAAAADfysW","B8JRxL079xbhqQBqGvksAgAAAAAB3zuW","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAATk2g"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"AsgowTLQhiAbue_lxpHIHw":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41460538,41453510,39934947,37247976,34247181,33672088,18131287],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeKM6","v6HIzNa4K6G4nRP9032RIAAAAAACeIfG","v6HIzNa4K6G4nRP9032RIAAAAAACYVvj","v6HIzNa4K6G4nRP9032RIAAAAAACOFvo","v6HIzNa4K6G4nRP9032RIAAAAAACCpIN","v6HIzNa4K6G4nRP9032RIAAAAAACAcuY","v6HIzNa4K6G4nRP9032RIAAAAAABFKlX"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"hecRkAhRG62NML7wI512zA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961373,27940684],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqgd","v6HIzNa4K6G4nRP9032RIAAAAAABqldM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"woPu0Q2DCHU5xpBNJFRNGw":{"address_or_lines":[43732576,54345578,54346325,54347573,52524033,52636324,52637912,52417621,52420674,52436132,51874398,51910204,51902690,51903112,51905980,51885853,51874212,51875084,44164621],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAADPT9q","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUJV","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUc1","MNBJ5seVz_ocW6tcr1HSmwAAAAADIXQB","MNBJ5seVz_ocW6tcr1HSmwAAAAADIyqk","MNBJ5seVz_ocW6tcr1HSmwAAAAADIzDY","MNBJ5seVz_ocW6tcr1HSmwAAAAADH9RV","MNBJ5seVz_ocW6tcr1HSmwAAAAADH-BC","MNBJ5seVz_ocW6tcr1HSmwAAAAADIByk","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4pe","MNBJ5seVz_ocW6tcr1HSmwAAAAADGBY8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_ji","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_qI","MNBJ5seVz_ocW6tcr1HSmwAAAAADGAW8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF7cd","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4mk","MNBJ5seVz_ocW6tcr1HSmwAAAAADF40M","MNBJ5seVz_ocW6tcr1HSmwAAAAACoeYN"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-t2pi-xr8qjFCfIHra96OA":{"address_or_lines":[4620832,23557195,23527051,9749435,9749637,9750553,9750935,9746779,9746522,23527477,23529910,23522407,10849724,10839125,10834845,10836246,10842317,4508401,4247613,4282212],"file_ids":["hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg"],"frame_ids":["hc6JHMKlLXjOZcU9MGxvfgAAAAAARoIg","hc6JHMKlLXjOZcU9MGxvfgAAAAABZ3RL","hc6JHMKlLXjOZcU9MGxvfgAAAAABZv6L","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMO7","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMSF","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMgZ","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMmX","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlLlb","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlLha","hc6JHMKlLXjOZcU9MGxvfgAAAAABZwA1","hc6JHMKlLXjOZcU9MGxvfgAAAAABZwm2","hc6JHMKlLXjOZcU9MGxvfgAAAAABZuxn","hc6JHMKlLXjOZcU9MGxvfgAAAAAApY28","hc6JHMKlLXjOZcU9MGxvfgAAAAAApWRV","hc6JHMKlLXjOZcU9MGxvfgAAAAAApVOd","hc6JHMKlLXjOZcU9MGxvfgAAAAAApVkW","hc6JHMKlLXjOZcU9MGxvfgAAAAAApXDN","hc6JHMKlLXjOZcU9MGxvfgAAAAAARMrx","hc6JHMKlLXjOZcU9MGxvfgAAAAAAQNA9","hc6JHMKlLXjOZcU9MGxvfgAAAAAAQVdk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"qbtMiMC37gp-mMp0u-WgYw":{"address_or_lines":[4652224,22357367,22385134,22366798,57076399,58917522,58676957,58636100,58650141,31265796,7372944,7295421,7297245,7300762,7297188,7304836,7297188,7305194,5143289,5150220,5146267],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZuqv","B8JRxL079xbhqQBqGvksAgAAAAADgwKS","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3fq","B8JRxL079xbhqQBqGvksAgAAAAAATnr5","B8JRxL079xbhqQBqGvksAgAAAAAATpYM","B8JRxL079xbhqQBqGvksAgAAAAAAToab"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"ZZck2mgLZGHuLiBDFerx6w":{"address_or_lines":[4652224,22357367,22385134,22366798,57076399,58917522,58676957,58636100,58650141,31265796,7372944,7295421,7297245,7300762,7297188,7304836,7297188,7304836,7297188,7304836,7297188,7303473],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZuqv","B8JRxL079xbhqQBqGvksAgAAAAADgwKS","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3Ex"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"af-YU39AX7WoGwE66OjkRg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961306,27960060,27907285,27885784,27888182,18793031,27888361],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqfa","v6HIzNa4K6G4nRP9032RIAAAAAABqqL8","v6HIzNa4K6G4nRP9032RIAAAAAABqdTV","v6HIzNa4K6G4nRP9032RIAAAAAABqYDY","v6HIzNa4K6G4nRP9032RIAAAAAABqYo2","v6HIzNa4K6G4nRP9032RIAAAAAABHsJH","v6HIzNa4K6G4nRP9032RIAAAAAABqYrp"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"DkjcsUWzUMWlzGIG7vWPLA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54556506,44024036,44026008,44007166,43828228,43837959,43282962,43282989,10485923,16807,2845749,2845580,2841596,3335577,3325166,699747],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHda","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8Dk","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8iY","MNBJ5seVz_ocW6tcr1HSmwAAAAACn37-","MNBJ5seVz_ocW6tcr1HSmwAAAAACnMQE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1","A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM","A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8","A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ","A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu","A2oiHVwisByxRn5RDT4LjAAAAAAACq1j"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"9sZZ-MQWzCV4c64gJJBU6Q":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59179681,31752932,6709540,4933796,4937114,4970099,4971610,4754617,4757981,4219698,4219725,10485923,16807,2777072,2775330,2826677,2809572,2808699,2807483,2863936],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwKh","B8JRxL079xbhqQBqGvksAgAAAAAB5ILk","B8JRxL079xbhqQBqGvksAgAAAAAAZmEk","B8JRxL079xbhqQBqGvksAgAAAAAAS0ik","B8JRxL079xbhqQBqGvksAgAAAAAAS1Wa","B8JRxL079xbhqQBqGvksAgAAAAAAS9Zz","B8JRxL079xbhqQBqGvksAgAAAAAAS9xa","B8JRxL079xbhqQBqGvksAgAAAAAASIy5","B8JRxL079xbhqQBqGvksAgAAAAAASJnd","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKl_w","A2oiHVwisByxRn5RDT4LjAAAAAAAKlki","A2oiHVwisByxRn5RDT4LjAAAAAAAKyG1","A2oiHVwisByxRn5RDT4LjAAAAAAAKt7k","A2oiHVwisByxRn5RDT4LjAAAAAAAKtt7","A2oiHVwisByxRn5RDT4LjAAAAAAAKta7","A2oiHVwisByxRn5RDT4LjAAAAAAAK7NA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"rQhVFvlTg_4aQXNpF_LGMQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41428732,20150746,19897796,19899069,19901252,19906953,20160590,19897796,19899069,19901252,19910358,18737412,18488391,18154825,18129756],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCb8","v6HIzNa4K6G4nRP9032RIAAAAAABM3na","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8GJ","v6HIzNa4K6G4nRP9032RIAAAAAABM6BO","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL87W","v6HIzNa4K6G4nRP9032RIAAAAAABHekE","v6HIzNa4K6G4nRP9032RIAAAAAABGhxH","v6HIzNa4K6G4nRP9032RIAAAAAABFQVJ","v6HIzNa4K6G4nRP9032RIAAAAAABFKNc"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-t0hOBsBrsbJ-S8NPXUTmg":{"address_or_lines":[4652224,22033901,21942103,21951046,9844260,9839268,22072132,22072395,5590500,5508424,4907789,4749540,4757831,4219698,4219725,10485923,16807,2756576,2755820,2745050,6715782,6715626,7926696,6795731,4869416,4855393,8472925],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABUDXt","B8JRxL079xbhqQBqGvksAgAAAAABTs9X","B8JRxL079xbhqQBqGvksAgAAAAABTvJG","B8JRxL079xbhqQBqGvksAgAAAAAAljYk","B8JRxL079xbhqQBqGvksAgAAAAAAliKk","B8JRxL079xbhqQBqGvksAgAAAAABUMtE","B8JRxL079xbhqQBqGvksAgAAAAABUMxL","B8JRxL079xbhqQBqGvksAgAAAAAAVU3k","B8JRxL079xbhqQBqGvksAgAAAAAAVA1I","B8JRxL079xbhqQBqGvksAgAAAAAASuMN","B8JRxL079xbhqQBqGvksAgAAAAAASHjk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg_g","A2oiHVwisByxRn5RDT4LjAAAAAAAKgzs","A2oiHVwisByxRn5RDT4LjAAAAAAAKeLa","A2oiHVwisByxRn5RDT4LjAAAAAAAZnmG","A2oiHVwisByxRn5RDT4LjAAAAAAAZnjq","A2oiHVwisByxRn5RDT4LjAAAAAAAePOo","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7HT","A2oiHVwisByxRn5RDT4LjAAAAAAASk0o","A2oiHVwisByxRn5RDT4LjAAAAAAAShZh","A2oiHVwisByxRn5RDT4LjAAAAAAAgUld"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"VoyVx3eKZvx3I7o9LV75WA":{"address_or_lines":[4652224,22354373,22356417,22043891,9840916,9838765,4872825,5688954,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16807,2756288,2755416,2744627,6715329,7926130,7924288,7914841,6798266,6797590,6797444,2726038],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVRnF","B8JRxL079xbhqQBqGvksAgAAAAABVSHB","B8JRxL079xbhqQBqGvksAgAAAAABUFzz","B8JRxL079xbhqQBqGvksAgAAAAAAlikU","B8JRxL079xbhqQBqGvksAgAAAAAAliCt","B8JRxL079xbhqQBqGvksAgAAAAAASlp5","B8JRxL079xbhqQBqGvksAgAAAAAAVs56","B8JRxL079xbhqQBqGvksAgAAAAAAVUwE","B8JRxL079xbhqQBqGvksAgAAAAAAVATI","B8JRxL079xbhqQBqGvksAgAAAAAASsLk","B8JRxL079xbhqQBqGvksAgAAAAAASHZk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB","A2oiHVwisByxRn5RDT4LjAAAAAAAePFy","A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA","A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE","A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"SwXYsounAV_Jw1AjJobr2g":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791289,24794610,24781052,24778417,19045737,19044484,19054298,18859588,18399464,18130636],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekj5","v6HIzNa4K6G4nRP9032RIAAAAAABelXy","v6HIzNa4K6G4nRP9032RIAAAAAABeiD8","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp1p","v6HIzNa4K6G4nRP9032RIAAAAAABIpiE","v6HIzNa4K6G4nRP9032RIAAAAAABIr7a","v6HIzNa4K6G4nRP9032RIAAAAAABH8ZE","v6HIzNa4K6G4nRP9032RIAAAAAABGMDo","v6HIzNa4K6G4nRP9032RIAAAAAABFKbM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Z84n0-wX6U6-iVSLGr0n7A":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19907213,19923168],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8KN","v6HIzNa4K6G4nRP9032RIAAAAAABMADg"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"PPkg_Kb06KioYNLVH5MUSw":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54547559,54558277,54570436,44043866,44037437,43989636,43829252,43837959,43282962,43282989,10485923,16807,2756288,2755416,2924231,3319181,3316454,2921821,2921711,8455053,8481479],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFRn","MNBJ5seVz_ocW6tcr1HSmwAAAAADQH5F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQK3E","MNBJ5seVz_ocW6tcr1HSmwAAAAACoA5a","MNBJ5seVz_ocW6tcr1HSmwAAAAACn_U9","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzqE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnMgE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAALJ7H","A2oiHVwisByxRn5RDT4LjAAAAAAAMqWN","A2oiHVwisByxRn5RDT4LjAAAAAAAMprm","A2oiHVwisByxRn5RDT4LjAAAAAAALJVd","A2oiHVwisByxRn5RDT4LjAAAAAAALJTv","A2oiHVwisByxRn5RDT4LjAAAAAAAgQON","A2oiHVwisByxRn5RDT4LjAAAAAAAgWrH"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"lMQPlrvTe5c5NiwvC7JXZg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19976893,19927481,19928567,19983876,19943049,19984068,19944276,19984260,19945213,19982696,19937907,19983876,19943049,19984068,19944276,19982696,19937907,19935862,19142858],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNK9","v6HIzNa4K6G4nRP9032RIAAAAAABMBG5","v6HIzNa4K6G4nRP9032RIAAAAAABMBX3","v6HIzNa4K6G4nRP9032RIAAAAAABMO4E","v6HIzNa4K6G4nRP9032RIAAAAAABME6J","v6HIzNa4K6G4nRP9032RIAAAAAABMO7E","v6HIzNa4K6G4nRP9032RIAAAAAABMFNU","v6HIzNa4K6G4nRP9032RIAAAAAABMO-E","v6HIzNa4K6G4nRP9032RIAAAAAABMFb9","v6HIzNa4K6G4nRP9032RIAAAAAABMOlo","v6HIzNa4K6G4nRP9032RIAAAAAABMDpz","v6HIzNa4K6G4nRP9032RIAAAAAABMO4E","v6HIzNa4K6G4nRP9032RIAAAAAABME6J","v6HIzNa4K6G4nRP9032RIAAAAAABMO7E","v6HIzNa4K6G4nRP9032RIAAAAAABMFNU","v6HIzNa4K6G4nRP9032RIAAAAAABMOlo","v6HIzNa4K6G4nRP9032RIAAAAAABMDpz","v6HIzNa4K6G4nRP9032RIAAAAAABMDJ2","v6HIzNa4K6G4nRP9032RIAAAAAABJBjK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"0BFlivqqa58juwW6lzxBVg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19908516,19901477,19920683,18932457,18903037],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6wl","v6HIzNa4K6G4nRP9032RIAAAAAABL_cr","v6HIzNa4K6G4nRP9032RIAAAAAABIOLp","v6HIzNa4K6G4nRP9032RIAAAAAABIG_9"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"cKHQmDxYocbgoxaTvYj6SA":{"address_or_lines":[4652224,58814799,10400775,10401064,10401333,10401661,58829797,58814910,58812516,58789549,58791347,58770754,58772726,13824541,13825258,13823212,13823370,4964628,4731769,4742286,4757722,4219698,4219725,10485923,16807,2795169,2795020,2794811,2794650,2760034,2759532,2759330,2758281,2557765],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAADgXFP","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrQH","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrUo","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrY1","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrd9","wfA2BgwfDNXUWsxkJ083RwAAAAADgavl","wfA2BgwfDNXUWsxkJ083RwAAAAADgXG-","wfA2BgwfDNXUWsxkJ083RwAAAAADgWhk","wfA2BgwfDNXUWsxkJ083RwAAAAADgQ6t","wfA2BgwfDNXUWsxkJ083RwAAAAADgRWz","wfA2BgwfDNXUWsxkJ083RwAAAAADgMVC","wfA2BgwfDNXUWsxkJ083RwAAAAADgMz2","wfA2BgwfDNXUWsxkJ083RwAAAAAA0vId","wfA2BgwfDNXUWsxkJ083RwAAAAAA0vTq","wfA2BgwfDNXUWsxkJ083RwAAAAAA0uzs","wfA2BgwfDNXUWsxkJ083RwAAAAAA0u2K","wfA2BgwfDNXUWsxkJ083RwAAAAAAS8EU","wfA2BgwfDNXUWsxkJ083RwAAAAAASDN5","wfA2BgwfDNXUWsxkJ083RwAAAAAASFyO","wfA2BgwfDNXUWsxkJ083RwAAAAAASJja","wfA2BgwfDNXUWsxkJ083RwAAAAAAQGMy","wfA2BgwfDNXUWsxkJ083RwAAAAAAQGNN","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKqah","9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM","9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7","9LzzIocepYcOjnUsLlgOjgAAAAAAKqSa","9LzzIocepYcOjnUsLlgOjgAAAAAAKh1i","9LzzIocepYcOjnUsLlgOjgAAAAAAKhts","9LzzIocepYcOjnUsLlgOjgAAAAAAKhqi","9LzzIocepYcOjnUsLlgOjgAAAAAAKhaJ","9LzzIocepYcOjnUsLlgOjgAAAAAAJwdF"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"KnJHmq-Dv1WTEbftpdA5Zg":{"address_or_lines":[4652224,30971941,30986245,30988292,30990568,30935955,30723428,25540326,25548591,25550478,25503568,25504356,25481468,25481277,25484807,25485060,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16743,2737420,2823946,2813561,2756082,2755033,2554964,2554477,2553932,2551218,2411027,2394415],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAAB2Jgl","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NAF","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NgE","-pk6w5puGcp-wKnQ61BZzQAAAAAB2ODo","-pk6w5puGcp-wKnQ61BZzQAAAAAB2AuT","-pk6w5puGcp-wKnQ61BZzQAAAAAB1M1k","-pk6w5puGcp-wKnQ61BZzQAAAAABhbbm","-pk6w5puGcp-wKnQ61BZzQAAAAABhdcv","-pk6w5puGcp-wKnQ61BZzQAAAAABhd6O","-pk6w5puGcp-wKnQ61BZzQAAAAABhSdQ","-pk6w5puGcp-wKnQ61BZzQAAAAABhSpk","-pk6w5puGcp-wKnQ61BZzQAAAAABhND8","-pk6w5puGcp-wKnQ61BZzQAAAAABhNA9","-pk6w5puGcp-wKnQ61BZzQAAAAABhN4H","-pk6w5puGcp-wKnQ61BZzQAAAAABhN8E","-pk6w5puGcp-wKnQ61BZzQAAAAAAS40k","-pk6w5puGcp-wKnQ61BZzQAAAAAAS7A6","-pk6w5puGcp-wKnQ61BZzQAAAAAASFtz","-pk6w5puGcp-wKnQ61BZzQAAAAAASJnd","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu55","piWSMQrh4r040D0BPNaJvwAAAAAAKg3y","piWSMQrh4r040D0BPNaJvwAAAAAAKgnZ","piWSMQrh4r040D0BPNaJvwAAAAAAJvxU","piWSMQrh4r040D0BPNaJvwAAAAAAJvpt","piWSMQrh4r040D0BPNaJvwAAAAAAJvhM","piWSMQrh4r040D0BPNaJvwAAAAAAJu2y","piWSMQrh4r040D0BPNaJvwAAAAAAJMoT","piWSMQrh4r040D0BPNaJvwAAAAAAJIkv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"2-DAEecFvG7qyB6YjY5nOg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755650,4215846],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxC","ew01Dk0sWZctP-VaEpavqQAAAAAAQFQm"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"Ocoebh9gAlmO1k7rQilo0w":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19046138,19039453,18993092,18869484,18879802,10485923,16807,2756560,2755688,2744899,3827767,3827522,2050302,4868077,4855663],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp76","v6HIzNa4K6G4nRP9032RIAAAAAABIoTd","v6HIzNa4K6G4nRP9032RIAAAAAABIc_E","v6HIzNa4K6G4nRP9032RIAAAAAABH-zs","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3","ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC","ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-","ew01Dk0sWZctP-VaEpavqQAAAAAASkft","ew01Dk0sWZctP-VaEpavqQAAAAAAShdv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"XyR38J9TfiJQyusyqjnL0Q":{"address_or_lines":[4652224,22354871,22382638,22364302,56672751,58471189,58268669,58227812,58241853,31197476,7372151,7373114,7374151,8925121,8860356,8860667,8477214,5688773,8906989,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16743,2752512,2751640,2740851,6649793,7859650,7859044,6707098,6708074,2391221,2381065],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYMHv","-pk6w5puGcp-wKnQ61BZzQAAAAADfDMV","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Akk","-pk6w5puGcp-wKnQ61BZzQAAAAAAcH13","-pk6w5puGcp-wKnQ61BZzQAAAAAAcIE6","-pk6w5puGcp-wKnQ61BZzQAAAAAAcIVH","-pk6w5puGcp-wKnQ61BZzQAAAAAAiC_B","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzLE","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzP7","-pk6w5puGcp-wKnQ61BZzQAAAAAAgVoe","-pk6w5puGcp-wKnQ61BZzQAAAAAAVs3F","-pk6w5puGcp-wKnQ61BZzQAAAAAAh-jt","-pk6w5puGcp-wKnQ61BZzQAAAAAAVUwE","-pk6w5puGcp-wKnQ61BZzQAAAAAAVATI","-pk6w5puGcp-wKnQ61BZzQAAAAAASsLk","-pk6w5puGcp-wKnQ61BZzQAAAAAASHZk","-pk6w5puGcp-wKnQ61BZzQAAAAAASJlH","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgAA","piWSMQrh4r040D0BPNaJvwAAAAAAKfyY","piWSMQrh4r040D0BPNaJvwAAAAAAKdJz","piWSMQrh4r040D0BPNaJvwAAAAAAZXfB","piWSMQrh4r040D0BPNaJvwAAAAAAd-3C","piWSMQrh4r040D0BPNaJvwAAAAAAd-tk","piWSMQrh4r040D0BPNaJvwAAAAAAZlea","piWSMQrh4r040D0BPNaJvwAAAAAAZltq","piWSMQrh4r040D0BPNaJvwAAAAAAJHy1","piWSMQrh4r040D0BPNaJvwAAAAAAJFUJ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"9s4s_y43ZAfUdYXm930H4A":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,6711003,4219907],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAZmbb","9LzzIocepYcOjnUsLlgOjgAAAAAAQGQD"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"LeV2oAqU4BVeWoabuoh-cw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7503313],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcn3R"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"2gcYNFzbFyKxWn73M5202w":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7436960,2551475,2548988],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg","9LzzIocepYcOjnUsLlgOjgAAAAAAJu6z","9LzzIocepYcOjnUsLlgOjgAAAAAAJuT8"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"CU-T9AvnxmWd1TTRjgV01Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7508830,6761766,2559050],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe","9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m","9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"nnsc9UkL_oA5SAi5cs_ZPg":{"address_or_lines":[4195929,135481,1080531,1010960,1006705,1002538,905832,905294,893117,905294,893117,905294,895510,893117,905294,893117,905294,893117,905294,893117,905294,887126,310194,449006,905294,893117,905294,885107,310194,633609,646930,310194,366119,310194,448792,905294,895510,876495,513798,506886,539471,539386,531635],"file_ids":["YsKzCJ9e4eZnuT00vj7Pcw","Z_CHd3Zjsh2cWE2NSdbiNQ","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw"],"frame_ids":["YsKzCJ9e4eZnuT00vj7PcwAAAAAAQAZZ","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","N4ILulabOfF5MnyRJbvDXwAAAAAAEHzT","N4ILulabOfF5MnyRJbvDXwAAAAAAD20Q","N4ILulabOfF5MnyRJbvDXwAAAAAAD1xx","N4ILulabOfF5MnyRJbvDXwAAAAAAD0wq","N4ILulabOfF5MnyRJbvDXwAAAAAADdJo","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaoW","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADYlW","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAABtnu","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADYFz","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAACasJ","N4ILulabOfF5MnyRJbvDXwAAAAAACd8S","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAABZYn","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAABtkY","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaoW","N4ILulabOfF5MnyRJbvDXwAAAAAADV_P","N4ILulabOfF5MnyRJbvDXwAAAAAAB9cG","N4ILulabOfF5MnyRJbvDXwAAAAAAB7wG","N4ILulabOfF5MnyRJbvDXwAAAAAACDtP","N4ILulabOfF5MnyRJbvDXwAAAAAACDr6","N4ILulabOfF5MnyRJbvDXwAAAAAACByz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"wAujHiFN47_oNUI63d6EtA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7513502,6765905,6759805,2574033,2218596],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe","ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R","ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9","ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR","ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"ia-QZTf1AEqK7KEggAUJSw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508344,7393457,7394824,7384416,6868281,6866019],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4","ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx","ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI","ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g","ew01Dk0sWZctP-VaEpavqQAAAAAAaM05","ew01Dk0sWZctP-VaEpavqQAAAAAAaMRj"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"YxsKA4n0U7pKfHmrePpfjA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10489481,12583132,6878809,6871998,6871380,7366427,7363873,7362975,7354531,7354154,7352952,7752506,7093274,7753394,7707617],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J","9LzzIocepYcOjnUsLlgOjgAAAAAAwADc","9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ","9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-","9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU","9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb","9LzzIocepYcOjnUsLlgOjgAAAAAAcF0h","9LzzIocepYcOjnUsLlgOjgAAAAAAcFmf","9LzzIocepYcOjnUsLlgOjgAAAAAAcDij","9LzzIocepYcOjnUsLlgOjgAAAAAAcDcq","9LzzIocepYcOjnUsLlgOjgAAAAAAcDJ4","9LzzIocepYcOjnUsLlgOjgAAAAAAdks6","9LzzIocepYcOjnUsLlgOjgAAAAAAbDwa","9LzzIocepYcOjnUsLlgOjgAAAAAAdk6y","9LzzIocepYcOjnUsLlgOjgAAAAAAdZvh"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"mqliNf10_gB69yQo7_zlzg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,48188,14432,38826,1480561,1970211,1481652,1480953,2600004,1079483,19966,39758,10892,28340,55468,1479960,1494280,2600004,1079483,63826,64498,1479960,2600004,1079483,60540,21276,37564,30612,1479868,2600004,1079483,54304,30612,1479868,2600004,1066627,7128,57352],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","GdaBUD9IUEkKxIBryNqV2w","QU8QLoFK6ojrywKrBFfTzA","V558DAsp4yi8bwa8eYwk5Q","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","cHp4MwXaY5FCuFRuAA6tWw","-9oyoP4Jj2iRkwEezqId-g","3FRCbvQLPuJyn2B-2wELGw","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAALw8","W8AFtEsepzrJ6AasHrCttwAAAAAAADhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","EFJHOn-GACfHXgae-R1yDAAAAAAAAE3-","GdaBUD9IUEkKxIBryNqV2wAAAAAAAJtO","QU8QLoFK6ojrywKrBFfTzAAAAAAAACqM","V558DAsp4yi8bwa8eYwk5QAAAAAAAG60","tuTnMBfyc9UiPsI0QyvErAAAAAAAANis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","cHp4MwXaY5FCuFRuAA6tWwAAAAAAAOx8","-9oyoP4Jj2iRkwEezqId-gAAAAAAAFMc","3FRCbvQLPuJyn2B-2wELGwAAAAAAAJK8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAANQg","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEEaD","--q8cwZVXbHL2zOM_p3RlQAAAAAAABvY","yaTrLhUSIq2WitrTHLBy3QAAAAAAAOAI"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1]},"24tLFB3hY9xz1zbZCjaBXA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7503672,7388865,7390232,7379824,6864947,6862495,2596,6843125,7212243],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","aUXpdArtZf510BJKvwiFDw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcn84","9LzzIocepYcOjnUsLlgOjgAAAAAAcL7B","9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY","9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw","9LzzIocepYcOjnUsLlgOjgAAAAAAaMAz","9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf","aUXpdArtZf510BJKvwiFDwAAAAAAAAok","9LzzIocepYcOjnUsLlgOjgAAAAAAaGr1","9LzzIocepYcOjnUsLlgOjgAAAAAAbgzT"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"MLSOPRH6z6HuctKh5rsAnA":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,29084,63584,18346,1480561,1970211,1481652,1480953,2600004,1079669,3708,1480561,1970211,1481652,1480953,2600004,1079669,5350,11456,17946,62630,26608,28264,8452,1480561,1941045,1970515,1481652,1481047,2600004,1058958,26942,1844654,1847116,1788409,1758317,1865641,10490014,422731,937166],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","ktj-IOmkEpvZJouiJkQjTg","O_h7elJSxPO7SiCsftYRZg","_s_-RvH9Io2qUzM6f5JLGg","8UGQaqEhTX9IIJEQCXnRsQ","jn4X0YIYIsTeszwLEaje9g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","TesF2I_BvQoOuJH9P_M2mA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAHGc","W8AFtEsepzrJ6AasHrCttwAAAAAAAPhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAEeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAA58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","kSaNXrGzSS3BnDNNWezzMAAAAAAAABTm","ne8F__HPIVgxgycJADVSzAAAAAAAACzA","ktj-IOmkEpvZJouiJkQjTgAAAAAAAEYa","O_h7elJSxPO7SiCsftYRZgAAAAAAAPSm","_s_-RvH9Io2qUzM6f5JLGgAAAAAAAGfw","8UGQaqEhTX9IIJEQCXnRsQAAAAAAAG5o","jn4X0YIYIsTeszwLEaje9gAAAAAAACEE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ41","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhFT","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFplX","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAECiO","TesF2I_BvQoOuJH9P_M2mAAAAAAAAGk-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHCWu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHC9M","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG0n5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGtRt","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHep","ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe","ew01Dk0sWZctP-VaEpavqQAAAAAABnNL","ew01Dk0sWZctP-VaEpavqQAAAAAADkzO"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,3,3,3,3,3,4,4,4]},"krdohOL0KiVMtm4q-6fmjg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,5836,10976,12298,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1079144,37910,8000,46852,32076,49840,40252,33434,32730,43978,37948,30428,26428,19370,1480209,1940645,1970099,1481300,1480695,2595076,1079144,20016,37192,1480141,1913750],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","okehWevKsEA4q6dk779jgw","-IuadWGT89NVzIyF_Emodw","XXJY7v4esGWnaxtMW3FA0g","FbrXdcA4j750RyQ3q9JXMw","pL34QuyxyP6XYzGDBMK_5w","IoAk4kM-M4DsDPp7ia5QXw","uHLoBslr3h6S7ooNeXzEbw","iRoTPXvR_cRsnzDO-aurpQ","fB79lJck2X90l-j7VqPR-Q","gbMheDI1NZ3NY96J0seddg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GquRfhZBLBKr9rIBPuH3nA","_DA_LSFNMjbu9L2Dcselpw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAABbM","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW","ne8F__HPIVgxgycJADVSzAAAAAAAAB9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE","okehWevKsEA4q6dk779jgwAAAAAAAH1M","-IuadWGT89NVzIyF_EmodwAAAAAAAMKw","XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08","FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa","pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a","IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK","uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8","iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc","fB79lJck2X90l-j7VqPR-QAAAAAAAGc8","gbMheDI1NZ3NY96J0seddgAAAAAAAEuq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpf3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w","_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpXN","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHTOW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,1,3,3]},"FtHYpmBv9BwyjtHQeYFcCw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,64358,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,61360,18470,16624,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1079144,14936,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1076587,6244,3453440,1376741,1877279,3072226],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","8EY5iPD5-FtlXFBTyb6lkw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","dCCKy6JoX0PADOFic8hRNQ","9w9lF96vJW7ZhBoZ8ETsBw","xUQuo4OgBaS_Le-fdAwt8A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zkPjzY2Et3KehkHOcSphkA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mBpjyQvq6ftE7Wm1BUpcFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","dCCKy6JoX0PADOFic8hRNQAAAAAAAO-w","9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAEgm","xUQuo4OgBaS_Le-fdAwt8AAAAAAAAEDw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","zkPjzY2Et3KehkHOcSphkAAAAAAAADpY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","mBpjyQvq6ftE7Wm1BUpcFgAAAAAAABhk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANLIA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFQHl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHKUf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuDi"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3]},"FuFG7sSEAg94nZpDT4nzlA":{"address_or_lines":[4623936,24755503,6980046,23231210,6980046,23264536,6980046,23232004,23232150,6980046,23230455,6980046,23232004,23232150,6980046,23230455,6980046,23272795,6980046,23232004,23232150,6980046,24742300,6980046,23230455,6980046,23269877,22973163,22972451,22973163,22972451,22964890,22884541,11721444,11715672,11715835,11715578,22884850,22966101,22967654,19588556,8970856,8920596,9005417,9007845,7887684,7888285,7889956,7894532,7945899,4658568,4210208],"file_ids":["pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g"],"frame_ids":["pRLjmMO0U8sO4DFopfFU5gAAAAAARo5A","pRLjmMO0U8sO4DFopfFU5gAAAAABeb0v","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnrq","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYv0Y","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYn4E","pRLjmMO0U8sO4DFopfFU5gAAAAABYn6W","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnf3","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYn4E","pRLjmMO0U8sO4DFopfFU5gAAAAABYn6W","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnf3","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYx1b","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYn4E","pRLjmMO0U8sO4DFopfFU5gAAAAABYn6W","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABeYmc","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnf3","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYxH1","pRLjmMO0U8sO4DFopfFU5gAAAAABXorr","pRLjmMO0U8sO4DFopfFU5gAAAAABXogj","pRLjmMO0U8sO4DFopfFU5gAAAAABXorr","pRLjmMO0U8sO4DFopfFU5gAAAAABXogj","pRLjmMO0U8sO4DFopfFU5gAAAAABXmqa","pRLjmMO0U8sO4DFopfFU5gAAAAABXTC9","pRLjmMO0U8sO4DFopfFU5gAAAAAAstrk","pRLjmMO0U8sO4DFopfFU5gAAAAAAssRY","pRLjmMO0U8sO4DFopfFU5gAAAAAAssT7","pRLjmMO0U8sO4DFopfFU5gAAAAAAssP6","pRLjmMO0U8sO4DFopfFU5gAAAAABXTHy","pRLjmMO0U8sO4DFopfFU5gAAAAABXm9V","pRLjmMO0U8sO4DFopfFU5gAAAAABXnVm","pRLjmMO0U8sO4DFopfFU5gAAAAABKuXM","pRLjmMO0U8sO4DFopfFU5gAAAAAAiOJo","pRLjmMO0U8sO4DFopfFU5gAAAAAAiB4U","pRLjmMO0U8sO4DFopfFU5gAAAAAAiWlp","pRLjmMO0U8sO4DFopfFU5gAAAAAAiXLl","pRLjmMO0U8sO4DFopfFU5gAAAAAAeFtE","pRLjmMO0U8sO4DFopfFU5gAAAAAAeF2d","pRLjmMO0U8sO4DFopfFU5gAAAAAAeGQk","pRLjmMO0U8sO4DFopfFU5gAAAAAAeHYE","pRLjmMO0U8sO4DFopfFU5gAAAAAAeT6r","pRLjmMO0U8sO4DFopfFU5gAAAAAARxWI","pRLjmMO0U8sO4DFopfFU5gAAAAAAQD4g"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"chida0TNeXOPGVvI0kALCQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,824,116,12,8,54,12,46,22,1091612,1804498,665668,663668,1112453,1232178,833111,2265137,2264574,2258601,1016110,2256845],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","IlUL618nbeW5Kz4uyGZLrQ","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","oN7OWDJeuc8DmI2f_earDQ","Yj7P3-Rt3nirG6apRl4A7A","pz3Evn9laHNJFMwOKIXbsw","7aaw2O1Vn7-6eR8XuUWQZQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4","IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2","Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM","pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu","7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW","G68hjsyagwq6LpWrMjDdngAAAAAAEKgc","G68hjsyagwq6LpWrMjDdngAAAAAAG4jS","G68hjsyagwq6LpWrMjDdngAAAAAACihE","G68hjsyagwq6LpWrMjDdngAAAAAACiB0","G68hjsyagwq6LpWrMjDdngAAAAAAEPmF","G68hjsyagwq6LpWrMjDdngAAAAAAEs0y","G68hjsyagwq6LpWrMjDdngAAAAAADLZX","G68hjsyagwq6LpWrMjDdngAAAAAAIpAx","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInap","G68hjsyagwq6LpWrMjDdngAAAAAAD4Eu","G68hjsyagwq6LpWrMjDdngAAAAAAIm_N"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3]},"UDWRHwtQcuK3KYw4Lj118w":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,30038,33244,3444,11060,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,49806,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,61514,2790352,1482889,1482415,2595076,1057495,58094,59978,64928,29086,21086],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SD7uzoegJjRT3jYNpuQ5wQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","n74P5OxFm1hAo5ZWtgcKHQ","zXbqXCWr0lCbi_b24hNBRQ"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAIHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAA10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAMKO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","SD7uzoegJjRT3jYNpuQ5wQAAAAAAAPBK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAECLX","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAP2g","n74P5OxFm1hAo5ZWtgcKHQAAAAAAAHGe","zXbqXCWr0lCbi_b24hNBRQAAAAAAAFJe"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1]},"wQhKHV5i9LyZbGr1o38TMA":{"address_or_lines":[4631744,4426728,23175065,22765086,22101979,22101626,22103238,19925815,19926028,19930622,22109732,19929162,22109403,22104583,22092442,20383549,20126576,20124268,7004126,6995902,6997458,19974869,19979184,7254420,7366379,8869213,8813007,8830631,8835818,5761274,8899923,8811367,6480793,6476612,6475553,6139725,6059982,5083307,5091601,4714216,4721177,4729434,10485923,16743,2752800,2752044,2741274,6650246,6650083,7384662,7382442,7451553,7447772,7440959,7439791],"file_ids":["-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-V-5ede56KMAXhjFbz84SwAAAAAARqzA","-V-5ede56KMAXhjFbz84SwAAAAAAQ4vo","-V-5ede56KMAXhjFbz84SwAAAAABYZ-Z","-V-5ede56KMAXhjFbz84SwAAAAABW14e","-V-5ede56KMAXhjFbz84SwAAAAABUT_b","-V-5ede56KMAXhjFbz84SwAAAAABUT56","-V-5ede56KMAXhjFbz84SwAAAAABUUTG","-V-5ede56KMAXhjFbz84SwAAAAABMAs3","-V-5ede56KMAXhjFbz84SwAAAAABMAwM","-V-5ede56KMAXhjFbz84SwAAAAABMB3-","-V-5ede56KMAXhjFbz84SwAAAAABUV4k","-V-5ede56KMAXhjFbz84SwAAAAABMBhK","-V-5ede56KMAXhjFbz84SwAAAAABUVzb","-V-5ede56KMAXhjFbz84SwAAAAABUUoH","-V-5ede56KMAXhjFbz84SwAAAAABURqa","-V-5ede56KMAXhjFbz84SwAAAAABNwc9","-V-5ede56KMAXhjFbz84SwAAAAABMxtw","-V-5ede56KMAXhjFbz84SwAAAAABMxJs","-V-5ede56KMAXhjFbz84SwAAAAAAat_e","-V-5ede56KMAXhjFbz84SwAAAAAAar--","-V-5ede56KMAXhjFbz84SwAAAAAAasXS","-V-5ede56KMAXhjFbz84SwAAAAABMMrV","-V-5ede56KMAXhjFbz84SwAAAAABMNuw","-V-5ede56KMAXhjFbz84SwAAAAAAbrGU","-V-5ede56KMAXhjFbz84SwAAAAAAcGbr","-V-5ede56KMAXhjFbz84SwAAAAAAh1Vd","-V-5ede56KMAXhjFbz84SwAAAAAAhnnP","-V-5ede56KMAXhjFbz84SwAAAAAAhr6n","-V-5ede56KMAXhjFbz84SwAAAAAAhtLq","-V-5ede56KMAXhjFbz84SwAAAAAAV-j6","-V-5ede56KMAXhjFbz84SwAAAAAAh81T","-V-5ede56KMAXhjFbz84SwAAAAAAhnNn","-V-5ede56KMAXhjFbz84SwAAAAAAYuOZ","-V-5ede56KMAXhjFbz84SwAAAAAAYtNE","-V-5ede56KMAXhjFbz84SwAAAAAAYs8h","-V-5ede56KMAXhjFbz84SwAAAAAAXa9N","-V-5ede56KMAXhjFbz84SwAAAAAAXHfO","-V-5ede56KMAXhjFbz84SwAAAAAATZCr","-V-5ede56KMAXhjFbz84SwAAAAAATbER","-V-5ede56KMAXhjFbz84SwAAAAAAR-7o","-V-5ede56KMAXhjFbz84SwAAAAAASAoZ","-V-5ede56KMAXhjFbz84SwAAAAAASCpa","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgEg","piWSMQrh4r040D0BPNaJvwAAAAAAKf4s","piWSMQrh4r040D0BPNaJvwAAAAAAKdQa","piWSMQrh4r040D0BPNaJvwAAAAAAZXmG","piWSMQrh4r040D0BPNaJvwAAAAAAZXjj","piWSMQrh4r040D0BPNaJvwAAAAAAcK5W","piWSMQrh4r040D0BPNaJvwAAAAAAcKWq","piWSMQrh4r040D0BPNaJvwAAAAAAcbOh","piWSMQrh4r040D0BPNaJvwAAAAAAcaTc","piWSMQrh4r040D0BPNaJvwAAAAAAcYo_","piWSMQrh4r040D0BPNaJvwAAAAAAcYWv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"TtsX1UxF45-CxViHFwbKJw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,33388,19218,34134,37340,19828,11060,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,53982,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,41518,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,17976,33110,26922,19187,41240,50343],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uo8E5My6tupMEt-pfV-uhA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAIVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAJHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAANLe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAGkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSn"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"iu7dYG1YyobzAXC7AJADOw":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,4,38,174,104,68,88,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044755,2041537,2044780,2041460,1171829,2265239,2264574,2258463,1179954],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZBnr-5IlLVGCdkX_lTNKmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzNs","G68hjsyagwq6LpWrMjDdngAAAAAAHyZ0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAAEgEy"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"WmwSnxyphedkasVyGbhNdg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,23142,41180,18932,30244,42480,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,29418,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,58990,2795776,1483241,1482767,2600004,1073803,3150,5208,43696,4204,342,33506,2852079,2851771,2849353,2846190,2846190,2845732],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","l97YFeEKpeLfa-lEAZVNcA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0","xwuAPHgc12-8PZB3i-320gAAAAAAAHYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2wk"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3]},"YWZby9VC56JtR6BAaYHEoA":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,16796,14432,6058,1480561,1970211,1481652,1480953,2600004,1079669,20092,1480561,1970211,1481652,1480953,2600004,1062448,57610,1845095,1847963,1481919,2600004,1079483,60588,38154,52556,1479960,1494280,2600004,1079483,55468,1479960,1494280,2600004,1079483,14674,64498,1479960,2600004,1079483,48678,25810,37884,46996,1479868,2600004,1079483,7536,46996,1479868,2600004,1049946,29322],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","-T5rZCijT5TDJjmoEi8Kxg","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAEGc","W8AFtEsepzrJ6AasHrCttwAAAAAAADhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAE58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEDYw","kSaNXrGzSS3BnDNNWezzMAAAAAAAAOEK","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHCdn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDKb","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAOys","MYrgKQIxdDhr1gdpucfc-QAAAAAAAJUK","un9fLDZOLvDMO52ltZtuegAAAAAAAM1M","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","tuTnMBfyc9UiPsI0QyvErAAAAAAAANis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAADlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","rTFMSHhLRlj86vHPR06zoQAAAAAAAL4m","oArGmvsy3VNtTf_V9EHNeQAAAAAAAGTS","-T5rZCijT5TDJjmoEi8KxgAAAAAAAJP8","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAAB1w","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEAVa","--q8cwZVXbHL2zOM_p3RlQAAAAAAAHKK"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1]},"Hi8HEHDniMkBvPgm-_IXdg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,50422,53628,36212,43828,42480,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,3426,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,5270,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1055190,28766,23366,29852,29250,6740,37336,23068],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ynoRUNDFNh_CC1ViETMulA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fxzD8soKl4etJ4L6nJl81g","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAMT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAANF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAI10","xwuAPHgc12-8PZB3i-320gAAAAAAAKs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAA1i","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","ynoRUNDFNh_CC1ViETMulAAAAAAAABSW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEBnW","fxzD8soKl4etJ4L6nJl81gAAAAAAAHBe","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFoc"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1]},"X86DUuQ7tHAxGBaWu4tZLg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,19046,37084,2548,13860,26096,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,64610,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,39726,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,0,2794972,1848805,1837992,1848417,2718329,2222078,2208786],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","780bLUPADqfQ3x1T5lnVOg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqXc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHAuo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDRh","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKXp5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIef-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIbQS"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3]},"Tx8lhCcOjrVLOl1hWK6aBw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,38700,43744,45066,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1062336,4250,1844695,1847563,1481567,2595076,1079485,3004,57258,27404,1479608,1493928,2595076,1079485,63084,1479608,1493928,2595076,1079485,14194,64498,1479608,2595076,1079485,18374,41842,34364,14228,1479516,2595076,1079485,24640,14228,1479516,2595076,1087128,21352,26392,2571436,1909209],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAJcs","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAALAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAABCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAAu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAN-q","un9fLDZOLvDMO52ltZtuegAAAAAAAGsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAAPZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAADdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAAEfG","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy","7v-k2b21f_Xuf-3329jFywAAAAAAAIY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAGBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEJaY","--q8cwZVXbHL2zOM_p3RlQAAAAAAAFNo","yaTrLhUSIq2WitrTHLBy3QAAAAAAAGcY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJzys","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHSHZ"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,3,3]},"oKVObqTWF9QIjxgKf8UkTw":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1091600,51328,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,50170,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,13752,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41068,49494,4746,19187,41141,49404],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","08Dc0vnMK9C_nl7yQB6ZKQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","zuPG_tF81PcJTwjfBwKlDg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKC1","jaBVtokSUzfS97d-XKjijgAAAAAAAMD8"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"rsb7cL4OAenBHrp0F_Wcgg":{"address_or_lines":[30070,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1091600,1150,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1091600,47798,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1091600,18886,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1074397,51858,2586225,2600004,1055835,28542,1975041,2600004,1079669,52004,1480561,1940968,1917658,1481652,1480953,2600004,1057290,36296,2944663],"file_ids":["pv4wAezdMMO0SVuGgaEMTg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","qns5vQ3LMi6QrIMOgD_TwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","J_Lkq1OzUHxWQhnTgF6FwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BuJIbGFo3xNyZaTAXvW1Ag","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","L9BMhx_jo5vrPGr_NYlXCQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","pZhbjLL2hYCcec5rSvEEGw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kkqG_q7yucIGLE7ky-QX9A","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["pv4wAezdMMO0SVuGgaEMTgAAAAAAAHV2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAAR-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAALq2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAAEnG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","BuJIbGFo3xNyZaTAXvW1AgAAAAAAAMqS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEBxb","L9BMhx_jo5vrPGr_NYlXCQAAAAAAAG9-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHiMB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","pZhbjLL2hYCcec5rSvEEGwAAAAAAAMsk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAECIK","kkqG_q7yucIGLE7ky-QX9AAAAAAAAI3I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALO6X"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,1,3,3,3,1,3,3,3,3,3,3,3,1,3]},"mWVVBnqMHfG9pWtaZUm47Q":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,1058,33388,19218,58614,61820,19828,11060,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,11498,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,56810,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,31598,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,17976,33110,51498,19187,41240,50348],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","3HhVgGD2yvuFLpoZq7RfKw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uSWUCgHgLPG4OFtPdUp0rg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAOT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAAPF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAACzq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","3HhVgGD2yvuFLpoZq7RfKwAAAAAAAN3q","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uSWUCgHgLPG4OFtPdUp0rgAAAAAAAHtu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSs"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"r1nqJ9JqsZyOKqlpBmuvLg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,17004,2834,30508,27360,36874,1480209,1969795,1481300,1480601,2595076,1079144,18252,1480209,1969795,1481300,1480601,2595076,1062336,61594,1844695,1847563,1481567,2595076,1079485,3004,49066,11020,1479608,1493928,2595076,1079485,46700,1479608,1493928,2595076,1079485,63346,48114,1479608,2595076,1079485,10182,25458,17980,63380,1479516,2595076,1079485,16448,63380,1479516,2595076,1073749,13188,3118087,767068,768138,10485923,16807,2845274,2841596,3817899,3815886,3627192],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHcs","W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAEdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAAPCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAAu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAL-q","un9fLDZOLvDMO52ltZtuegAAAAAAACsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAALZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAACfG","oArGmvsy3VNtTf_V9EHNeQAAAAAAAGNy","7v-k2b21f_Xuf-3329jFywAAAAAAAEY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAEBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAADOE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAL5QH","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7Rc","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7iK","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAK2pa","A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8","A2oiHVwisByxRn5RDT4LjAAAAAAAOkGr","A2oiHVwisByxRn5RDT4LjAAAAAAAOjnO","A2oiHVwisByxRn5RDT4LjAAAAAAAN1i4"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,3,3,3,4,4,4,4,4,4,4]},"5MDEZjYH98Woy4iHbcvgDg":{"address_or_lines":[2573747,2594708,1091475,65190,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,22586,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,12514,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,25530,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,37170,2790352,1482889,1482415,2595076,1079144,58108,1481694,1493928,2595076,1080441,8392,15128,1480209,1827586,3439453,2746712,2738096],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","auEGiAr7C6IfT0eiHbOlyA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mP9Tk3T74fjOyYWKUaqdMQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","I4X8AC1-B0GuL4JyYemPzw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","s6flibJ32CsA8wnq-j6RkQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","3EA5Wz2lIIw6eu5uv4gkTw","hjYcB64xHdoySaNOZ8xYqg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAP6m","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","auEGiAr7C6IfT0eiHbOlyAAAAAAAAFg6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","mP9Tk3T74fjOyYWKUaqdMQAAAAAAADDi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","I4X8AC1-B0GuL4JyYemPzwAAAAAAAGO6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","s6flibJ32CsA8wnq-j6RkQAAAAAAAJEy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAOL8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHx5","3EA5Wz2lIIw6eu5uv4gkTwAAAAAAACDI","hjYcB64xHdoySaNOZ8xYqgAAAAAAADsY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANHtd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKelY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKcew"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,1,1,3,3,3,3,3]},"WYRZ4mSdJHjsW8s2yoKnfA":{"address_or_lines":[1858,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,30594,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,34158,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1079144,56186,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1079485,9718,1479772,1827586,1940195,1986609,1483518,1482415,1493679,2595076,1073425,15208,2566502,1844254,1972704,2595076,1071886,41592,1850963,1844695,1917599,1539319,3072295,1865140],"file_ids":["Gp9aOxUrrpSVBx4-ftlTOA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","y9R94bQUxts02WzRWfV7xg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uI6css-d8SGQRK6a_Ntl-A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SlnkBp0IIJFLHVOe4KbxwQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uPGvGNXBf1JXGeeDSsmGQA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PmtIuZrIdDPbhY30JCQRww","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","yos2k6ZH69vZXiBQV3d7cQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAAdC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","y9R94bQUxts02WzRWfV7xgAAAAAAAHeC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uI6css-d8SGQRK6a_Ntl-AAAAAAAAIVu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","SlnkBp0IIJFLHVOe4KbxwQAAAAAAANt6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","uPGvGNXBf1JXGeeDSsmGQAAAAAAAACX2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpRc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZrj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHlAx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqL-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsqv","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","PmtIuZrIdDPbhY30JCQRwwAAAAAAADto","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJylm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCQe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhng","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFsO","yos2k6ZH69vZXiBQV3d7cQAAAAAAAKJ4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHD5T","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUKf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF3z3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuEn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHW0"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3]},"C4ItszXjQjtRADEg560AUw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,30508,10976,36874,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1062336,61594,1844695,1847563,1481567,2595076,1079485,35772,49066,60172,1479608,1493928,2595076,1079485,30316,1479608,1493928,2595076,1079485,30578,15346,1479608,2595076,1079485,10678,9074,1596,46996,1479516,2595076,1079485,16448,46996,1479516,2595076,1073749,13088,6410,24756,3150002,920932,10485923,16807,2776792,2775330,2826677,2809533,2807255,2804657,2869654],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","wXOyVgf5_nNg6CUH5kFBbg","zEgDK4qMawUAQZjg5YHyww","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHcs","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAAPCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAL-q","un9fLDZOLvDMO52ltZtuegAAAAAAAOsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAAHZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAACm2","oArGmvsy3VNtTf_V9EHNeQAAAAAAACNy","7v-k2b21f_Xuf-3329jFywAAAAAAAAY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAEBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAADMg","wXOyVgf5_nNg6CUH5kFBbgAAAAAAABkK","zEgDK4qMawUAQZjg5YHywwAAAAAAAGC0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMBCy","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADg1k","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKl7Y","A2oiHVwisByxRn5RDT4LjAAAAAAAKlki","A2oiHVwisByxRn5RDT4LjAAAAAAAKyG1","A2oiHVwisByxRn5RDT4LjAAAAAAAKt69","A2oiHVwisByxRn5RDT4LjAAAAAAAKtXX","A2oiHVwisByxRn5RDT4LjAAAAAAAKsux","A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,1,3,3,4,4,4,4,4,4,4,4,4]},"8IBqDIuSolkkEHIjO_CfMw":{"address_or_lines":[1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,57338,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,46806,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,4702,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,25478,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1079144,57700,1481694,1828960,2580566,1480601,1493679,2595076,1052274,37402,1973088,2595076,1059438,7162],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VY0EiAO0DxwLRTE4PfFhdw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2AkHKX3hFovQqnWGTZG4BA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","JEYMXKhPKBKP90oNIKO6Ww","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Fq3uvTWKo9OreZfu-LOYYQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","f2CfX6aaJGZ4Su3cCY2vCQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","yxUFWTEZsQP-FeNV2RKnFQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Q2lceMFM0t8w5Hdokg8e8A"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VY0EiAO0DxwLRTE4PfFhdwAAAAAAAN_6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2AkHKX3hFovQqnWGTZG4BAAAAAAAALbW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","JEYMXKhPKBKP90oNIKO6WwAAAAAAABJe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","Fq3uvTWKo9OreZfu-LOYYQAAAAAAAGOG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","f2CfX6aaJGZ4Su3cCY2vCQAAAAAAAOFk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2BW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsqv","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEA5y","yxUFWTEZsQP-FeNV2RKnFQAAAAAAAJIa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhtg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAECpu","Q2lceMFM0t8w5Hdokg8e8AAAAAAAABv6"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,1,3,3,3,1]},"T2hqeT_yirkauwcO1cGJEw":{"address_or_lines":[74,6,18,8,18,80,24,4,84,38,174,104,68,116,38,174,104,68,4,38,174,104,68,96,38,174,104,68,60,38,38,10,38,174,104,68,124,38,174,104,68,124,38,174,104,68,100,140,10,38,174,104,68,76,38,174,34,24,10,10,786829,1091612,1986900,1997206,2238455,4240,5748,1213299,4101,76200,1213299,77535,52678,1213299,52081,33630,106222],"file_ids":["a5aMcPOeWx28QSVng73nBQ","inI9W0bfekFTCpu0ceKTHg","RPwdw40HEBL87wRkKV2ozw","pT2bgvKv3bKR6LMAYtKFRw","Rsr7q4vCSh2ppRtyNkwZAA","cKQfWSgZRgu_1Goz5QGSHw","T2fhmP8acUvRZslK7YRDPw","lrxXzNEmAlflj7bCNDjxdA","SMoSw8cr-PdrIATvljOPrQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xaCec3W8F6xlvd_EISI7vw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","QCNrAtEDVSYrGKsToy3LYA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ocuGLNOciiOP6W8cfH2-qw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bjI4Jot-SXYwqfMr0sl7Xg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjBJSIgrJ7WBnrV9WxdKEQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9-_Y7FNFlkawnHBUI4HVnA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","suQJt7m9qyZP3i8d45HwBQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5w2Emmm2pdiPFBnzFSNcKg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","1bzyoH1Mbbzc-oKA3fR-7Q","BXKFYOU6E7YaW5MDpfBf8w","zP58DjIs7uq1cghmzykyNA","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAABK","inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG","RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS","pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI","Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS","cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ","T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY","lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE","SMoSw8cr-PdrIATvljOPrQAAAAAAAABU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xaCec3W8F6xlvd_EISI7vwAAAAAAAAB0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","QCNrAtEDVSYrGKsToy3LYAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ocuGLNOciiOP6W8cfH2-qwAAAAAAAABg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bjI4Jot-SXYwqfMr0sl7XgAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjBJSIgrJ7WBnrV9WxdKEQAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9-_Y7FNFlkawnHBUI4HVnAAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","suQJt7m9qyZP3i8d45HwBQAAAAAAAABk","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5w2Emmm2pdiPFBnzFSNcKgAAAAAAAABM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAAAi","1bzyoH1Mbbzc-oKA3fR-7QAAAAAAAAAY","BXKFYOU6E7YaW5MDpfBf8wAAAAAAAAAK","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","G68hjsyagwq6LpWrMjDdngAAAAAADAGN","G68hjsyagwq6LpWrMjDdngAAAAAAEKgc","G68hjsyagwq6LpWrMjDdngAAAAAAHlFU","G68hjsyagwq6LpWrMjDdngAAAAAAHnmW","G68hjsyagwq6LpWrMjDdngAAAAAAIif3","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAAS7f","3nN3bymnZ8E42aLEtgglmAAAAAAAAM3G","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAAMtx","3nN3bymnZ8E42aLEtgglmAAAAAAAAINe","3nN3bymnZ8E42aLEtgglmAAAAAAAAZ7u"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"OIXgOJgQPE-F5rS7DPPzZA":{"address_or_lines":[2795776,1483241,1482767,2600004,1079483,23630,25172,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,20804,2578675,2599636,1091600,20658,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,20804,2578675,2599636,1091600,0,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,20804,2578675,2599636,1079669,0,1482046,1829360,2586225,2600004,1079669,36060,1482046,1829360,2586325,1481195,1480561,1940968,1917658,1481652,1480953,2600004,1079483,61874,1480124,1827986,1940595,1989057,1480953,1494106,2600004,1073803,20418,2569666],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","93AmMdBRQTTNSFcMQ_Ywdg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","29RxCcCS3qayH8Wz47EBXQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","mBpjyQvq6ftE7Wm1BUpcFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","IWme5rHQfgYd-9YstXSeGA","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","93AmMdBRQTTNSFcMQ_YwdgAAAAAAAFCy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","29RxCcCS3qayH8Wz47EBXQAAAAAAAIzc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpnr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAPGy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpW8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-SS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZxz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlnB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFsxa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","IWme5rHQfgYd-9YstXSeGAAAAAAAAE_C","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJzXC"],"type_ids":[3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,1,3]},"i0e78nPZCZ2CbzzLMEOcMw":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,38,10,38,38,10,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044733,2042086,2025366,954962],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzM9","G68hjsyagwq6LpWrMjDdngAAAAAAHyjm","G68hjsyagwq6LpWrMjDdngAAAAAAHueW","G68hjsyagwq6LpWrMjDdngAAAAAADpJS"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3]},"34DMF2kw8Djh_MjcdchMzw":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,34914,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,7430,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,3230,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,61846,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1079669,38686,1482046,1829360,2586225,2600004,1079669,15794,56134,43516,45442,36964,61672,47980,1480561,1940984,1479155],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","y4VaggFtn5eGbiM4h45zCg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","aovhV1VhdNHhPwAmk_rOhg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","px3SfTg4DYOeiT_Yemty2w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","opI8K6Q9RBhmYCrRVwNTgA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","cVEUVwL4zVVcM9r_4PTCXA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GGxNFCJdZtgXLG8zgUfn_Q","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","y4VaggFtn5eGbiM4h45zCgAAAAAAAIhi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","aovhV1VhdNHhPwAmk_rOhgAAAAAAAB0G","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","px3SfTg4DYOeiT_Yemty2wAAAAAAAAye","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","opI8K6Q9RBhmYCrRVwNTgAAAAAAAAPGW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","cVEUVwL4zVVcM9r_4PTCXAAAAAAAAJce","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","GGxNFCJdZtgXLG8zgUfn_QAAAAAAAD2y","jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAKn8","_lF8o5tJDcePvza_IYtgSQAAAAAAALGC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAJBk","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAPDo","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALts","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ34","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpHz"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3]},"XG9tjujXJl2nWpbHppoRMA":{"address_or_lines":[2573747,2594708,1091475,39286,2790352,1482889,1482415,2595076,1079485,29422,30964,39782,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10978,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,35610,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10138,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,58142,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,17976,33110,47402,19187,41240,50602],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ZVYMRqiL5oPAMqs8XcON8Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1y9WuJpjgBMcQb3shY5phQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","ZVYMRqiL5oPAMqs8XcON8QAAAAAAAJl2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAACri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAIsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAACea","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1y9WuJpjgBMcQb3shY5phQAAAAAAAOMe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAALkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMWq"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"SrSwvDbs2pmPg3SRfXJBCA":{"address_or_lines":[1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10978,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,35610,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,11318,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,15678,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,250,2790352,1482889,1482415,2595076,1076587,29422,31480,4464,17976,33110,51586,2846655,2846347,2843929,2840766,2843907,2841214,1439462],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","NGbZlnLCqeq3LFq89r_SpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PmhxUKv5sePRxhCBONca8g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAACri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAIsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PmhxUKv5sePRxhCBONca8gAAAAAAAAD6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UD","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbm"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3]},"bcNRMcXtTRgNPl4vy6M5KQ":{"address_or_lines":[2573747,2594708,1091475,48050,2789627,1482889,1482415,2595076,1079485,29808,43878,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,47414,2789627,1482889,1482415,2595076,1079485,29808,43878,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,21414,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,12682,2790352,1482889,1482415,2595076,1076587,33518,35576,8560,17976,49494,55682,2846655,2846347,2843929,2840766,2843929,2840766,2843954,2840766,2841312],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xDXQtI2vA5YySwpx7QFiwA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fSQ747oLNh0c0zFQjsVRWg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","yp8MidCGMe4czbl-NigsYQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2noK4QoWxdzASRHkjOFwVA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","xDXQtI2vA5YySwpx7QFiwAAAAAAAALuy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAHRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fSQ747oLNh0c0zFQjsVRWgAAAAAAALk2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAHRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","yp8MidCGMe4czbl-NigsYQAAAAAAAFOm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2noK4QoWxdzASRHkjOFwVAAAAAAAADGK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2Uy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1rg"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3]},"XmiUdMqa5OViUnHQ_LS4Uw":{"address_or_lines":[61654,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,324,2578675,2599636,1091600,61890,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,324,2578675,2599636,1091600,27010,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,324,2578675,2599636,1091600,2254,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,108,49494,29322,19187,41240,50348],"file_ids":["mfGJjedIJMvFXgX3QuTMfQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","9NWoah56eYULAP_zGE9Puw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","IKrIDHd5n47PpDQsRXxvvg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oG7568kMJujZxPJfj7VMjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["mfGJjedIJMvFXgX3QuTMfQAAAAAAAPDW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","9NWoah56eYULAP_zGE9PuwAAAAAAAPHC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","IKrIDHd5n47PpDQsRXxvvgAAAAAAAGmC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","oG7568kMJujZxPJfj7VMjAAAAAAAAAjO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAHKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSs"],"type_ids":[1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"3odHGojcaqq4ImPnmLLSzw":{"address_or_lines":[1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,43246,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,17846,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,13950,2795051,1483241,1482767,2600004,1079483,60880,9382,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1079669,4762,1482046,1829360,2586225,2600004,1079669,34130,1480561,1941045,1970515,1481652,1480953,2600004,1069341,25906,23366,39420,41384,9542,10212,11330,8962,13084,1693331,1865533],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","HENgRXYeEs7mDD8Gk_MNmg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fFS0upy5lIaT99RhlTN5LQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","lSdGU4igLMOpLhL_6XP15w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","QAp_Nt6XUeNsCXnAUgW7Xg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","20O937106XMbOD0LQR4SPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","gPzb0fXoBe1225fbKepMRA","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","JrU1PwRIxl_8SXdnTESnog","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","HENgRXYeEs7mDD8Gk_MNmgAAAAAAAKju","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fFS0upy5lIaT99RhlTN5LQAAAAAAAEW2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","lSdGU4igLMOpLhL_6XP15wAAAAAAADZ-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAO3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAACSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","QAp_Nt6XUeNsCXnAUgW7XgAAAAAAABKa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","20O937106XMbOD0LQR4SPwAAAAAAAIVS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ41","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhFT","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEFEd","gPzb0fXoBe1225fbKepMRAAAAAAAAGUy","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAJn8","_lF8o5tJDcePvza_IYtgSQAAAAAAAKGo","OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG","E2b-mzlh_8261-JxcySn-AAAAAAAACfk","E2b-mzlh_8261-JxcySn-AAAAAAAACxC","E2b-mzlh_8261-JxcySn-AAAAAAAACMC","JrU1PwRIxl_8SXdnTESnogAAAAAAADMc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGdaT","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHc9"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3]},"bRKRM4i4-XY2LCfN18mOow":{"address_or_lines":[1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,32078,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,9638,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,5742,2789627,1482889,1482415,2595076,1079485,25712,39782,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1079144,37050,1481694,1828960,2581297,2595076,1079144,25922,1480209,1940645,1970099,1481300,1480601,2595076,1052274,41714,56134,54428,53864,42310,53828,54946,52578,59942,1429990,1365958,1365461],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","HENgRXYeEs7mDD8Gk_MNmg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fFS0upy5lIaT99RhlTN5LQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","lSdGU4igLMOpLhL_6XP15w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","QAp_Nt6XUeNsCXnAUgW7Xg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","20O937106XMbOD0LQR4SPw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","gPzb0fXoBe1225fbKepMRA","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","JrU1PwRIxl_8SXdnTESnog","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","HENgRXYeEs7mDD8Gk_MNmgAAAAAAAH1O","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fFS0upy5lIaT99RhlTN5LQAAAAAAACWm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","lSdGU4igLMOpLhL_6XP15wAAAAAAABZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","20O937106XMbOD0LQR4SPwAAAAAAAGVC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEA5y","gPzb0fXoBe1225fbKepMRAAAAAAAAKLy","jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAANSc","_lF8o5tJDcePvza_IYtgSQAAAAAAANJo","OHQX9IWLaZElAgxGbX3P5gAAAAAAAKVG","E2b-mzlh_8261-JxcySn-AAAAAAAANJE","E2b-mzlh_8261-JxcySn-AAAAAAAANai","E2b-mzlh_8261-JxcySn-AAAAAAAAM1i","JrU1PwRIxl_8SXdnTESnogAAAAAAAOom","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFdHm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFNfG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFNXV"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3]},"W936jUeelyxTrQQ2V9mn-w":{"address_or_lines":[1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,59834,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,60574,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,64656,2790352,1482889,1482415,2595076,1079485,13038,14580,23398,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,42430,2790352,1482889,1482415,2595076,1076587,13038,15096,53616,1592,16726,47490,2846655,2846347,2843929,2840766,2843929,2840766,2843929,2840766,2840766,2842897,2268402,1775000,1761295,1048381],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWCVT22bUHN0NWIQIBSuKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zj3hc8VBXxWxcbGVwJZYLA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EHb2BWbkIivImSAfaUtw-A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-7Nhzq0bVRejx7IVqpbbZQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWCVT22bUHN0NWIQIBSuKgAAAAAAAOm6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zj3hc8VBXxWxcbGVwJZYLAAAAAAAAOye","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","EHb2BWbkIivImSAfaUtw-AAAAAAAAPyQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","-7Nhzq0bVRejx7IVqpbbZQAAAAAAAKW-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAALmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2ER","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxWY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_89"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"AlH3zgnqwh5sdMMzX8AXxg":{"address_or_lines":[1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52130,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,61558,2790352,1482889,1482415,2595076,1079485,25326,26868,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,8770,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,17970,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1066158,3868,39750,21660,21058,64084,29144,22318,29144,18030,1840882,1970521,2595076,1049850,1910],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Gxt7_MN7XgUOe9547JcHVQ"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAAMui","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEESu","MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHBby","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhFZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAT6","Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,1]},"YHwQa4NMDpWa9cokfF0xqw":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4420,2578675,2599636,1091600,35162,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4420,2578675,2599636,1091600,62314,2795776,1483241,1482767,2600004,1079669,19534,21418,26368,41208,8202,42532,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,55198,34238,39164,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4420,2578675,2599636,1091600,55698,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4204,33110,33418,19187,41240,50763],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2L4SW1rQgEVXRj3pZAI3nQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7bd6QJSfWZZfOOpDMHqLMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAIla","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAPNq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4","h0l-9tGi18mC40qpcJbyDwAAAAAAACAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAANee","TBeSzkyqIwKL8td602zDjAAAAAAAAIW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAANmS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAIKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMZL"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"AlRn0MJA_RCD0pN2OpIRZA":{"address_or_lines":[1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,11962,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,59882,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,31598,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,28926,2789627,1482889,1482415,2595076,1079485,13424,27494,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1076587,17134,19192,57712,1592,33110,51586,2846655,2846347,2843929,2840766,2843929,2840766,2843907,2841214,1439429,1865241,10489950,423063,2283967,2281521,8542303],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","3HhVgGD2yvuFLpoZq7RfKw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uSWUCgHgLPG4OFtPdUp0rg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-BjW54fwMksXBor9R-YN9w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAC66","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","3HhVgGD2yvuFLpoZq7RfKwAAAAAAAOnq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uSWUCgHgLPG4OFtPdUp0rgAAAAAAAHtu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","-BjW54fwMksXBor9R-YN9wAAAAAAAHD-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UD","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAItAx","A2oiHVwisByxRn5RDT4LjAAAAAAAglhf"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"inhNt-Ftru1dLAPaXB98Gw":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,8722,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,20598,2790352,1482889,1482415,2595076,1079485,62190,63732,7014,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,25154,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,40098,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1066158,25996,23366,46236,45634,23124,53720,46894,53720,46894,53720,46894,53720,42606,1840882,1970521,2594999,2587827],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAACIS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0","eV_m28NnKeeTL60KO2H3SAAAAAAAABtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAAGJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEESu","MsEmysGbXhMvgdbwhcZDCgAAAAAAAGWM","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc","_lF8o5tJDcePvza_IYtgSQAAAAAAALJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAKZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHBby","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhFZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5i3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ3yz"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"qaaAfLAUIerA8yhApFJRYQ":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,72,38,174,104,68,88,38,174,104,68,124,38,38,10,38,174,104,68,72,38,174,104,68,120,38,174,104,68,354,6,108,20,50,50,2970,50,2970,50,2970,50,684,1109029,956192],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qkYSh95E1urNTie_gKbr7w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","V8ldXm9NGXsJ182jEHEsUw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xVaa0cBWNcFeS-8zFezQgA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","UBINlIxj95Sa_x2_k5IddA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gRRk0W_9P4SGZLXFJ5KU8Q","VIK6i3XoO6nxn9WkNabugA","SGPpASrxkViIc4Sq7x-WYQ","9xG1GRY3A4PQMfXDNvrOxQ","cbxfeE2AkqKne6oKUxdB6g","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qkYSh95E1urNTie_gKbr7wAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAFi","VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG","SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs","9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU","cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAKs","G68hjsyagwq6LpWrMjDdngAAAAAAEOwl","G68hjsyagwq6LpWrMjDdngAAAAAADpcg"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3]},"cj3H8UtNXHeFFvSKCpbt_Q":{"address_or_lines":[1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,7246,9304,47792,324,2578675,2599636,1091600,58218,2795776,1483241,1482767,2600004,1079669,7246,9130,14080,57592,61450,9764,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,22430,50622,6396,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,7246,9304,47792,324,2578675,2599636,1091600,51602,2795776,1483241,1482767,2600004,1074397,7246,9304,47792,324,2578675,2599636,1091600,62974,2795776,1483241,1482767,2600004,1079483,7246,9304,47608,55224,29888,17574,1479868,1829983,2783616,2800188,3063028,4240,5748,1213299,4101,76200,1213299,77886,46784,40082,38821],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7bd6QJSfWZZfOOpDMHqLMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","zo4mnjDJ1PlZka7jS9k2BA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","rBzW547V0L_mH4nnWK1FUQ","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAONq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAADcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAOD4","h0l-9tGi18mC40qpcJbyDwAAAAAAAPAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAACYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAAFee","TBeSzkyqIwKL8td602zDjAAAAAAAAMW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAABj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAAMmS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPX-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALn4","0S3htaCNkzxOYeavDR1GTQAAAAAAANe4","rBzW547V0L_mH4nnWK1FUQAAAAAAAHTA","eV_m28NnKeeTL60KO2H3SAAAAAAAAESm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKnmA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKro8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALrz0","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAATA-","3nN3bymnZ8E42aLEtgglmAAAAAAAALbA","3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS","3nN3bymnZ8E42aLEtgglmAAAAAAAAJel"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"XT5dbBR70HCMmAkhladaCQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,228,38,174,104,68,4,38,174,104,68,92,38,174,104,68,8,38,174,104,68,44,38,38,10,38,174,104,68,4,38,174,104,68,40,38,174,104,68,68,38,38,10,38,174,104,68,4,38,174,104,14,32,166,1090933,19429,42789,49059],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qordvIiilnF7CmkWCAd7eA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iWpqwwcHV8E8OOnqGCYj9g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M61AJsljWf0TM7wD6IJVZw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ED3bhsHkhBwZ5ynmMnkPRA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","cZ-wyq9rmPl5QnqP0Smp6Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","GLV-c6bk0E-nhaaCp6u20w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","c_1Yb4rio2EAH6C9SFwQog","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","O4ILxZswquMzuET9RRf5QA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","EX9l-cE0x8X9W8uz4iKUfw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qordvIiilnF7CmkWCAd7eAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ED3bhsHkhBwZ5ynmMnkPRAAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","cZ-wyq9rmPl5QnqP0Smp6QAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","GLV-c6bk0E-nhaaCp6u20wAAAAAAAAAo","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","c_1Yb4rio2EAH6C9SFwQogAAAAAAAABE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","O4ILxZswquMzuET9RRf5QAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","EX9l-cE0x8X9W8uz4iKUfwAAAAAAAEvl","jaBVtokSUzfS97d-XKjijgAAAAAAAKcl","jaBVtokSUzfS97d-XKjijgAAAAAAAL-j"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"Kfnso_5TQwyEGb1cfr-n5A":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,228,38,174,104,68,4,38,174,104,68,92,38,174,104,68,8,38,174,104,68,44,38,38,10,38,174,104,68,4,38,174,104,68,64,38,174,104,68,40,38,174,104,68,48,38,174,104,14,32,166,1090933,19429,41240,51098,10490014,423687,2280415,2277754,2506475,2411027,2395201],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qordvIiilnF7CmkWCAd7eA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iWpqwwcHV8E8OOnqGCYj9g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M61AJsljWf0TM7wD6IJVZw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ED3bhsHkhBwZ5ynmMnkPRA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","cZ-wyq9rmPl5QnqP0Smp6Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","GLV-c6bk0E-nhaaCp6u20w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rJZ4aC9w8bMvzrC0ApyIjg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","TC9v9fO0nTP4oypYCgB_1Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","EX9l-cE0x8X9W8uz4iKUfw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qordvIiilnF7CmkWCAd7eAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ED3bhsHkhBwZ5ynmMnkPRAAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","cZ-wyq9rmPl5QnqP0Smp6QAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","GLV-c6bk0E-nhaaCp6u20wAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rJZ4aC9w8bMvzrC0ApyIjgAAAAAAAAAo","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","TC9v9fO0nTP4oypYCgB_1QAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","EX9l-cE0x8X9W8uz4iKUfwAAAAAAAEvl","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMea","piWSMQrh4r040D0BPNaJvwAAAAAAoBCe","piWSMQrh4r040D0BPNaJvwAAAAAABncH","piWSMQrh4r040D0BPNaJvwAAAAAAIsvf","piWSMQrh4r040D0BPNaJvwAAAAAAIsF6","piWSMQrh4r040D0BPNaJvwAAAAAAJj7r","piWSMQrh4r040D0BPNaJvwAAAAAAJMoT","piWSMQrh4r040D0BPNaJvwAAAAAAJIxB"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,4,4,4,4,4,4,4]},"O3_UY4IxBGbcnXlHSqWz_w":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,24,140,10,38,174,104,68,210,1090933,1814182,788459,788130,1197048,1243927,788130,1197115,1198576,1948785,1941513],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","-gq3a70QOgdn9HetYyf2Og","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","-gq3a70QOgdn9HetYyf2OgAAAAAAAADS","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvsX","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkQ7","G68hjsyagwq6LpWrMjDdngAAAAAAEknw","G68hjsyagwq6LpWrMjDdngAAAAAAHbxx","G68hjsyagwq6LpWrMjDdngAAAAAAHaAJ"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"piWSMQrh4r040D0BPNaJvwAAAAAAoAJU":{"file_name":[],"function_name":["ret_from_fork"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAACtfS":{"file_name":[],"function_name":["kthread"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEFgJ":{"file_name":[],"function_name":["rcu_gp_kthread"],"function_offset":[],"line_number":[]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5":{"file_name":["../csu/libc-start.c"],"function_name":["__libc_start_main"],"function_offset":[],"line_number":[308]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI":{"file_name":["libmount/src/tab_parse.c"],"function_name":["__mnt_table_parse_mtab"],"function_offset":[],"line_number":[1102]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W":{"file_name":["libmount/src/tab_parse.c"],"function_name":["mnt_table_parse_file"],"function_offset":[],"line_number":[707]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAYhK":{"file_name":["libmount/src/tab_parse.c","libmount/src/tab_parse.c","libmount/src/tab_parse.c"],"function_name":["mnt_table_parse_stream","mnt_table_parse_next","mnt_parse_mountinfo_line"],"function_offset":[],"line_number":[643,506,215]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAO6N":{"file_name":["libmount/src/fs.c","libmount/src/fs.c"],"function_name":["mnt_fs_strdup_options","merge_optstr"],"function_offset":[],"line_number":[751,715]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAASUz":{"file_name":["libmount/src/optstr.c"],"function_name":["mnt_optstr_remove_option"],"function_offset":[],"line_number":[490]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAR50":{"file_name":["libmount/src/optstr.c"],"function_name":["mnt_optstr_locate_option"],"function_offset":[],"line_number":[122]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1":{"file_name":[],"function_name":["__x64_sys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM":{"file_name":[],"function_name":["ksys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8":{"file_name":[],"function_name":["iterate_dir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ":{"file_name":[],"function_name":["proc_pid_readdir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu":{"file_name":[],"function_name":["next_tgid"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAACq1j":{"file_name":[],"function_name":["pid_nr_ns"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKl_w":{"file_name":[],"function_name":["__do_sys_newfstatat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKlki":{"file_name":[],"function_name":["vfs_statx"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyG1":{"file_name":[],"function_name":["filename_lookup"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKt7k":{"file_name":[],"function_name":["path_lookupat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKtt7":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKta7":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK7NA":{"file_name":[],"function_name":["dput"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg_g":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgzs":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeLa":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePOo":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7HT":{"file_name":[],"function_name":["skb_copy_datagram_from_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAASk0o":{"file_name":[],"function_name":["copy_page_from_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAShZh":{"file_name":[],"function_name":["copyin"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgUld":{"file_name":[],"function_name":["copy_user_enhanced_fast_string"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePFy":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ":{"file_name":[],"function_name":["unix_stream_read_actor"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALJ7H":{"file_name":[],"function_name":["seq_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMqWN":{"file_name":[],"function_name":["proc_single_show"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMprm":{"file_name":[],"function_name":["proc_pid_limits"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALJVd":{"file_name":[],"function_name":["seq_printf"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALJTv":{"file_name":[],"function_name":["seq_vprintf"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgQON":{"file_name":[],"function_name":["vsnprintf"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgWrH":{"file_name":[],"function_name":["memcpy_erms"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqah":{"file_name":[],"function_name":["__x64_sys_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM":{"file_name":[],"function_name":["do_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7":{"file_name":[],"function_name":["__do_pipe_flags"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqSa":{"file_name":[],"function_name":["create_pipe_files"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKh1i":{"file_name":[],"function_name":["alloc_file_clone"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKhts":{"file_name":[],"function_name":["alloc_file"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKhqi":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKhaJ":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwdF":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKcUM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKxcK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKu55":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKg3y":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgnZ":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJvxU":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJvpt":{"file_name":[],"function_name":["__slab_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJvhM":{"file_name":[],"function_name":["___slab_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJu2y":{"file_name":[],"function_name":["new_slab"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJMoT":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJIkv":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxC":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQFQm":{"file_name":[],"function_name":["security_file_permission"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3":{"file_name":[],"function_name":["xfs_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC":{"file_name":[],"function_name":["xfs_file_buffered_aio_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-":{"file_name":[],"function_name":["generic_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASkft":{"file_name":[],"function_name":["copy_page_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAShdv":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgAA":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKfyY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKdJz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAd-3C":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAd-tk":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZlea":{"file_name":[],"function_name":["consume_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZltq":{"file_name":[],"function_name":["skb_release_data"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJHy1":{"file_name":[],"function_name":["free_unref_page"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJFUJ":{"file_name":[],"function_name":["free_unref_page_prepare.part.71"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKglI":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmbb":{"file_name":[],"function_name":["sock_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAQGQD":{"file_name":[],"function_name":["security_socket_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdME8":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcn3R":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJu6z":{"file_name":[],"function_name":["kmem_cache_free"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJuT8":{"file_name":[],"function_name":["__slab_free"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK":{"file_name":[],"function_name":["kmem_cache_alloc_node"],"function_offset":[],"line_number":[]},"N4ILulabOfF5MnyRJbvDXwAAAAAAEHzT":{"file_name":["/usr/src/debug/Python-2.7.18/Modules/main.c"],"function_name":["Py_Main"],"function_offset":[],"line_number":[645]},"N4ILulabOfF5MnyRJbvDXwAAAAAAD20Q":{"file_name":["/usr/src/debug/Python-2.7.18/Python/pythonrun.c"],"function_name":["PyRun_SimpleFileExFlags"],"function_offset":[],"line_number":[957]},"N4ILulabOfF5MnyRJbvDXwAAAAAAD1xx":{"file_name":["/usr/src/debug/Python-2.7.18/Python/pythonrun.c"],"function_name":["PyRun_FileExFlags"],"function_offset":[],"line_number":[1371]},"N4ILulabOfF5MnyRJbvDXwAAAAAAD0wq":{"file_name":["/usr/src/debug/Python-2.7.18/Python/pythonrun.c"],"function_name":["run_mod"],"function_offset":[],"line_number":[1385]},"N4ILulabOfF5MnyRJbvDXwAAAAAADdJo":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalCode"],"function_offset":[],"line_number":[691]},"N4ILulabOfF5MnyRJbvDXwAAAAAADdBO":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalCodeEx"],"function_offset":[],"line_number":[3685]},"N4ILulabOfF5MnyRJbvDXwAAAAAADaC9":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","call_function","fast_function"],"function_offset":[],"line_number":[3087,4473,4548]},"N4ILulabOfF5MnyRJbvDXwAAAAAADaoW":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","call_function","fast_function"],"function_offset":[],"line_number":[3087,4473,4538]},"N4ILulabOfF5MnyRJbvDXwAAAAAADYlW":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","ext_do_call"],"function_offset":[],"line_number":[3126,4767]},"N4ILulabOfF5MnyRJbvDXwAAAAAABLuy":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/abstract.c"],"function_name":["PyObject_Call"],"function_offset":[],"line_number":[2544]},"N4ILulabOfF5MnyRJbvDXwAAAAAABtnu":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/funcobject.c"],"function_name":["function_call"],"function_offset":[],"line_number":[523]},"N4ILulabOfF5MnyRJbvDXwAAAAAADYFz":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","call_function","do_call"],"function_offset":[],"line_number":[3087,4475,4670]},"N4ILulabOfF5MnyRJbvDXwAAAAAACasJ":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/typeobject.c"],"function_name":["type_call"],"function_offset":[],"line_number":[765]},"N4ILulabOfF5MnyRJbvDXwAAAAAACd8S":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/typeobject.c"],"function_name":["slot_tp_init"],"function_offset":[],"line_number":[5869]},"N4ILulabOfF5MnyRJbvDXwAAAAAABZYn":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/classobject.c"],"function_name":["instancemethod_call"],"function_offset":[],"line_number":[2600]},"N4ILulabOfF5MnyRJbvDXwAAAAAABtkY":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/funcobject.c"],"function_name":["function_call"],"function_offset":[],"line_number":[523]},"N4ILulabOfF5MnyRJbvDXwAAAAAADV_P":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx"],"function_offset":[],"line_number":[1629]},"N4ILulabOfF5MnyRJbvDXwAAAAAAB9cG":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/dictobject.c"],"function_name":["dict_subscript"],"function_offset":[],"line_number":[1261]},"N4ILulabOfF5MnyRJbvDXwAAAAAAB7wG":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/dictobject.c"],"function_name":["lookdict"],"function_offset":[],"line_number":[351]},"N4ILulabOfF5MnyRJbvDXwAAAAAACDtP":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/object.c"],"function_name":["PyObject_RichCompareBool"],"function_offset":[],"line_number":[1009]},"N4ILulabOfF5MnyRJbvDXwAAAAAACDr6":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/object.c","/usr/src/debug/Python-2.7.18/Objects/object.c","/usr/src/debug/Python-2.7.18/Objects/object.c"],"function_name":["PyObject_RichCompare","do_richcmp","try_3way_to_rich_compare"],"function_offset":[],"line_number":[987,940,921]},"N4ILulabOfF5MnyRJbvDXwAAAAAACByz":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/object.c"],"function_name":["convert_3way_to_object"],"function_offset":[],"line_number":[881]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9":{"file_name":[],"function_name":["__kmalloc_reserve.isra.57"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR":{"file_name":[],"function_name":["__kmalloc_node_track_caller"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk":{"file_name":[],"function_name":["kmalloc_slab"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaM05":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaMRj":{"file_name":[],"function_name":["validate_xmit_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J":{"file_name":[],"function_name":["do_softirq_own_stack"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-":{"file_name":[],"function_name":["process_backlog"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU":{"file_name":[],"function_name":["__netif_receive_skb_one_core"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb":{"file_name":[],"function_name":["ip_rcv"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcF0h":{"file_name":[],"function_name":["ip_rcv_finish"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcFmf":{"file_name":[],"function_name":["ip_rcv_finish_core.isra.16"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcDij":{"file_name":[],"function_name":["ip_route_input_noref"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcDcq":{"file_name":[],"function_name":["ip_route_input_rcu"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcDJ4":{"file_name":[],"function_name":["ip_route_input_slow"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdks6":{"file_name":[],"function_name":["__fib_lookup"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbDwa":{"file_name":[],"function_name":["fib_rules_lookup"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdk6y":{"file_name":[],"function_name":["fib4_rule_action"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdZvh":{"file_name":[],"function_name":["fib_table_lookup"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAFci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAALw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAADhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAE3-":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"GdaBUD9IUEkKxIBryNqV2wAAAAAAAJtO":{"file_name":["clidriver.py"],"function_name":["create_parser"],"function_offset":[4],"line_number":[635]},"QU8QLoFK6ojrywKrBFfTzAAAAAAAACqM":{"file_name":["clidriver.py"],"function_name":["_get_command_table"],"function_offset":[3],"line_number":[580]},"V558DAsp4yi8bwa8eYwk5QAAAAAAAG60":{"file_name":["clidriver.py"],"function_name":["_create_command_table"],"function_offset":[18],"line_number":[615]},"tuTnMBfyc9UiPsI0QyvErAAAAAAAANis":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[700]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAPlS":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"cHp4MwXaY5FCuFRuAA6tWwAAAAAAAOx8":{"file_name":["waiters.py"],"function_name":["add_waiters"],"function_offset":[11],"line_number":[36]},"-9oyoP4Jj2iRkwEezqId-gAAAAAAAFMc":{"file_name":["waiters.py"],"function_name":["get_waiter_model_from_service_model"],"function_offset":[5],"line_number":[48]},"3FRCbvQLPuJyn2B-2wELGwAAAAAAAJK8":{"file_name":["session.py"],"function_name":["get_waiter_model"],"function_offset":[4],"line_number":[527]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAANQg":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAABvY":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAAOAI":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcn84":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcL7B":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaMAz":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"aUXpdArtZf510BJKvwiFDwAAAAAAAAok":{"file_name":[],"function_name":["veth_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaGr1":{"file_name":[],"function_name":["__dev_forward_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbgzT":{"file_name":[],"function_name":["eth_type_trans"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAABci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHGc":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAPhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAEeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAA58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAABTm":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAACzA":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"ktj-IOmkEpvZJouiJkQjTgAAAAAAAEYa":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[117],"line_number":[854]},"O_h7elJSxPO7SiCsftYRZgAAAAAAAPSm":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"_s_-RvH9Io2qUzM6f5JLGgAAAAAAAGfw":{"file_name":["client.py"],"function_name":["_create_client_class"],"function_offset":[12],"line_number":[160]},"8UGQaqEhTX9IIJEQCXnRsQAAAAAAAG5o":{"file_name":["client.py"],"function_name":["_create_methods"],"function_offset":[5],"line_number":[319]},"jn4X0YIYIsTeszwLEaje9gAAAAAAACEE":{"file_name":["client.py"],"function_name":["_create_api_method"],"function_offset":[25],"line_number":[356]},"TesF2I_BvQoOuJH9P_M2mAAAAAAAAGk-":{"file_name":["docstring.py"],"function_name":["__init__"],"function_offset":[9],"line_number":[36]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABnNL":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADkzO":{"file_name":[],"function_name":["down_read_trylock"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAABbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAACrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAB9A":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"okehWevKsEA4q6dk779jgwAAAAAAAH1M":{"file_name":["session.py"],"function_name":["get_credentials"],"function_offset":[12],"line_number":[445]},"-IuadWGT89NVzIyF_EmodwAAAAAAAMKw":{"file_name":["credentials.py"],"function_name":["load_credentials"],"function_offset":[18],"line_number":[1953]},"XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08":{"file_name":["credentials.py"],"function_name":["load"],"function_offset":[18],"line_number":[1009]},"FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa":{"file_name":["utils.py"],"function_name":["retrieve_iam_role_credentials"],"function_offset":[30],"line_number":[517]},"pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a":{"file_name":["utils.py"],"function_name":["_get_iam_role"],"function_offset":[1],"line_number":[524]},"IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK":{"file_name":["utils.py"],"function_name":["_get_request"],"function_offset":[32],"line_number":[435]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc":{"file_name":["connectionpool.py"],"function_name":["urlopen"],"function_offset":[361],"line_number":[894]},"fB79lJck2X90l-j7VqPR-QAAAAAAAGc8":{"file_name":["connectionpool.py"],"function_name":["_make_request"],"function_offset":[116],"line_number":[494]},"gbMheDI1NZ3NY96J0seddgAAAAAAAEuq":{"file_name":["client.py"],"function_name":["getresponse"],"function_offset":[58],"line_number":[1389]},"GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w":{"file_name":["client.py"],"function_name":["__init__"],"function_offset":[28],"line_number":[276]},"_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI":{"file_name":["socket.py"],"function_name":["makefile"],"function_offset":[40],"line_number":[343]},"8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm":{"file_name":["pyi_rth_pkgutil.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"ik6PIX946fW_erE7uBJlVQAAAAAAAILu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"dCCKy6JoX0PADOFic8hRNQAAAAAAAO-w":{"file_name":["pkgutil.py"],"function_name":[""],"function_offset":[315],"line_number":[316]},"9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAEgm":{"file_name":["functools.py"],"function_name":["register"],"function_offset":[50],"line_number":[902]},"xUQuo4OgBaS_Le-fdAwt8AAAAAAAAEDw":{"file_name":["functools.py"],"function_name":["_is_union_type"],"function_offset":[2],"line_number":[843]},"zkPjzY2Et3KehkHOcSphkAAAAAAAADpY":{"file_name":["typing.py"],"function_name":[""],"function_offset":[2084],"line_number":[2085]},"mBpjyQvq6ftE7Wm1BUpcFgAAAAAAABhk":{"file_name":["abc.py"],"function_name":["__new__"],"function_offset":[3],"line_number":[108]},"a5aMcPOeWx28QSVng73nBQAAAAAAAAAw":{"file_name":["aws"],"function_name":[""],"function_offset":[5],"line_number":[19]},"OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[5],"line_number":[1007]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[19],"line_number":[986]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[21],"line_number":[680]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[499]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[49],"line_number":[62]},"gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc":{"file_name":["core.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[5],"line_number":[18]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[5],"line_number":[972]},"zP58DjIs7uq1cghmzykyNAAAAAAAAAAK":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[228]},"9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4":{"file_name":["application.py"],"function_name":[""],"function_offset":[114],"line_number":[115]},"IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0":{"file_name":["application.py"],"function_name":["Application"],"function_offset":[91],"line_number":[206]},"U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[3],"line_number":[274]},"bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[354]},"oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2":{"file_name":["typing.py"],"function_name":["Union"],"function_offset":[32],"line_number":[466]},"Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM":{"file_name":["typing.py"],"function_name":[""],"function_offset":[0],"line_number":[466]},"pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu":{"file_name":["typing.py"],"function_name":["_type_check"],"function_offset":[18],"line_number":[155]},"7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW":{"file_name":["typing.py"],"function_name":["_type_convert"],"function_offset":[4],"line_number":[132]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAIHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAA10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAACs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAOLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAMKO":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"SD7uzoegJjRT3jYNpuQ5wQAAAAAAAPBK":{"file_name":["configure.py"],"function_name":[""],"function_offset":[56],"line_number":[57]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAP2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"n74P5OxFm1hAo5ZWtgcKHQAAAAAAAHGe":{"file_name":["__init__.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[93]},"zXbqXCWr0lCbi_b24hNBRQAAAAAAAFJe":{"file_name":["pyimod02_importers.py"],"function_name":["find_spec"],"function_offset":[87],"line_number":[302]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgEg":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKf4s":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKdQa":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjj":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcK5W":{"file_name":[],"function_name":["tcp_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcKWq":{"file_name":[],"function_name":["tcp_sendmsg_locked"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcbOh":{"file_name":[],"function_name":["__tcp_push_pending_frames"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcaTc":{"file_name":[],"function_name":["tcp_write_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcYo_":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcYWv":{"file_name":[],"function_name":["__tcp_select_window"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAIVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAJHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAE10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAHLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAANLe":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAGkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE":{"file_name":["application.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAABY":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[13],"line_number":[482]},"NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[14],"line_number":[298]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[18],"line_number":[304]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAHYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAEGc":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAE58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAOEK":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAOys":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAJUK":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAM1M":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAADlS":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"rTFMSHhLRlj86vHPR06zoQAAAAAAAL4m":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAGTS":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"-T5rZCijT5TDJjmoEi8KxgAAAAAAAJP8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[533]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAB1w":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAHKK":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAMT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAANF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAI10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAKs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"ik6PIX946fW_erE7uBJlVQAAAAAAANLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAA1i":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"ynoRUNDFNh_CC1ViETMulAAAAAAAABSW":{"file_name":["subscribe.py"],"function_name":[""],"function_offset":[150],"line_number":[151]},"fxzD8soKl4etJ4L6nJl81gAAAAAAAHBe":{"file_name":["utils.py"],"function_name":[""],"function_offset":[584],"line_number":[585]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFoc":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAADYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJcs":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAALAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAABCa":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAAu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAN-q":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAGsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAAPZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAADdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"rTFMSHhLRlj86vHPR06zoQAAAAAAAEfG":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAIY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAGBA":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAFNo":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAAGcY":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4":{"file_name":["abc.py"],"function_name":[""],"function_offset":[267],"line_number":[268]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAAHV2":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"LEy-wm0GIvRoYVAga55HiwAAAAAAALxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAAR-":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAALq2":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAEnG":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"BuJIbGFo3xNyZaTAXvW1AgAAAAAAAMqS":{"file_name":["datetime.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"L9BMhx_jo5vrPGr_NYlXCQAAAAAAAG9-":{"file_name":["datetime.py"],"function_name":["timezone"],"function_offset":[97],"line_number":[2394]},"pZhbjLL2hYCcec5rSvEEGwAAAAAAAMsk":{"file_name":["datetime.py"],"function_name":["__neg__"],"function_offset":[3],"line_number":[768]},"kkqG_q7yucIGLE7ky-QX9AAAAAAAAI3I":{"file_name":["datetime.py"],"function_name":["__new__"],"function_offset":[99],"line_number":[691]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAOT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAPF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAACzq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"3HhVgGD2yvuFLpoZq7RfKwAAAAAAAN3q":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[179],"line_number":[180]},"uSWUCgHgLPG4OFtPdUp0rgAAAAAAAHtu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHcs":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAEdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAPCa":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAL-q":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAACsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAALZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"rTFMSHhLRlj86vHPR06zoQAAAAAAACfG":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAGNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAEY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAEBA":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAADOE":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7Rc":{"file_name":["../sysdeps/posix/readdir.c"],"function_name":["__readdir"],"function_offset":[],"line_number":[65]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2pa":{"file_name":[],"function_name":["__x64_sys_getdents"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOkGr":{"file_name":[],"function_name":["xfs_readdir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOjnO":{"file_name":[],"function_name":["xfs_dir2_sf_getdents.isra.9"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAN1i4":{"file_name":[],"function_name":["xfs_dir2_sf_get_parent_ino"],"function_offset":[],"line_number":[]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAP6m":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"auEGiAr7C6IfT0eiHbOlyAAAAAAAAFg6":{"file_name":["session.py"],"function_name":[""],"function_offset":[184],"line_number":[185]},"mP9Tk3T74fjOyYWKUaqdMQAAAAAAADDi":{"file_name":["client.py"],"function_name":[""],"function_offset":[119],"line_number":[120]},"I4X8AC1-B0GuL4JyYemPzwAAAAAAAGO6":{"file_name":["args.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"s6flibJ32CsA8wnq-j6RkQAAAAAAAJEy":{"file_name":["regions.py"],"function_name":[""],"function_offset":[139],"line_number":[140]},"ik6PIX946fW_erE7uBJlVQAAAAAAAOL8":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"3EA5Wz2lIIw6eu5uv4gkTwAAAAAAACDI":{"file_name":["_bootstrap.py"],"function_name":["__exit__"],"function_offset":[1],"line_number":[174]},"hjYcB64xHdoySaNOZ8xYqgAAAAAAADsY":{"file_name":["_bootstrap.py"],"function_name":["release"],"function_offset":[2],"line_number":[127]},"Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAAdC":{"file_name":["auth.py"],"function_name":[""],"function_offset":[603],"line_number":[604]},"ik6PIX946fW_erE7uBJlVQAAAAAAAJLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"y9R94bQUxts02WzRWfV7xgAAAAAAAHeC":{"file_name":["auth.py"],"function_name":[""],"function_offset":[316],"line_number":[317]},"uI6css-d8SGQRK6a_Ntl-AAAAAAAAIVu":{"file_name":["auth.py"],"function_name":[""],"function_offset":[336],"line_number":[337]},"SlnkBp0IIJFLHVOe4KbxwQAAAAAAANt6":{"file_name":["http.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"uPGvGNXBf1JXGeeDSsmGQAAAAAAAACX2":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[194],"line_number":[679]},"PmtIuZrIdDPbhY30JCQRwwAAAAAAADto":{"file_name":["enum.py"],"function_name":["__set_name__"],"function_offset":[96],"line_number":[333]},"yos2k6ZH69vZXiBQV3d7cQAAAAAAAKJ4":{"file_name":["enum.py"],"function_name":["__setattr__"],"function_offset":[11],"line_number":[839]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"un9fLDZOLvDMO52ltZtuegAAAAAAAOsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAAHZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"rTFMSHhLRlj86vHPR06zoQAAAAAAACm2":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAACNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAAY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAADMg":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"wXOyVgf5_nNg6CUH5kFBbgAAAAAAABkK":{"file_name":["loaders.py"],"function_name":[""],"function_offset":[0],"line_number":[273]},"zEgDK4qMawUAQZjg5YHywwAAAAAAAGC0":{"file_name":["genericpath.py"],"function_name":["isdir"],"function_offset":[6],"line_number":[45]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKl7Y":{"file_name":[],"function_name":["__do_sys_newstat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKt69":{"file_name":[],"function_name":["path_lookupat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKtXX":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKsux":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"ik6PIX946fW_erE7uBJlVQAAAAAAAELu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"VY0EiAO0DxwLRTE4PfFhdwAAAAAAAN_6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"2AkHKX3hFovQqnWGTZG4BAAAAAAAALbW":{"file_name":["base.py"],"function_name":[""],"function_offset":[44],"line_number":[45]},"JEYMXKhPKBKP90oNIKO6WwAAAAAAABJe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"Fq3uvTWKo9OreZfu-LOYYQAAAAAAAGOG":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[2553],"line_number":[2554]},"f2CfX6aaJGZ4Su3cCY2vCQAAAAAAAOFk":{"file_name":["style.py"],"function_name":[""],"function_offset":[506],"line_number":[507]},"yxUFWTEZsQP-FeNV2RKnFQAAAAAAAJIa":{"file_name":["enum.py"],"function_name":["__prepare__"],"function_offset":[13],"line_number":[483]},"Q2lceMFM0t8w5Hdokg8e8AAAAAAAABv6":{"file_name":["enum.py"],"function_name":["__setitem__"],"function_offset":[93],"line_number":[446]},"a5aMcPOeWx28QSVng73nBQAAAAAAAABK":{"file_name":["aws"],"function_name":[""],"function_offset":[13],"line_number":[27]},"inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[2],"line_number":[166]},"Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[3],"line_number":[185]},"cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[8],"line_number":[97]},"T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[23],"line_number":[48]},"lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[1],"line_number":[62]},"SMoSw8cr-PdrIATvljOPrQAAAAAAAABU":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[8],"line_number":[76]},"xaCec3W8F6xlvd_EISI7vwAAAAAAAAB0":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[15],"line_number":[28]},"QCNrAtEDVSYrGKsToy3LYAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"ocuGLNOciiOP6W8cfH2-qwAAAAAAAABg":{"file_name":["package.py"],"function_name":[""],"function_offset":[12],"line_number":[26]},"bjI4Jot-SXYwqfMr0sl7XgAAAAAAAAA8":{"file_name":["s3uploader.py"],"function_name":[""],"function_offset":[8],"line_number":[22]},"zjBJSIgrJ7WBnrV9WxdKEQAAAAAAAAB8":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[130],"line_number":[143]},"9-_Y7FNFlkawnHBUI4HVnAAAAAAAAAB8":{"file_name":["compat.py"],"function_name":[""],"function_offset":[81],"line_number":[94]},"suQJt7m9qyZP3i8d45HwBQAAAAAAAABk":{"file_name":["managers.py"],"function_name":[""],"function_offset":[18],"line_number":[29]},"fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[25],"line_number":[1058]},"5w2Emmm2pdiPFBnzFSNcKgAAAAAAAABM":{"file_name":["connection.py"],"function_name":[""],"function_offset":[11],"line_number":[21]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAAAi":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[7],"line_number":[666]},"1bzyoH1Mbbzc-oKA3fR-7QAAAAAAAAAY":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[7],"line_number":[565]},"BXKFYOU6E7YaW5MDpfBf8wAAAAAAAAAK":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[2],"line_number":[1173]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["__dlopen"],"function_offset":[],"line_number":[87]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlerror.c"],"function_name":["_dlerror_run"],"function_offset":[],"line_number":[163]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-error-skeleton.c"],"function_name":["__GI__dl_catch_error"],"function_offset":[],"line_number":[198]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["dlopen_doit"],"function_offset":[],"line_number":[66]},"3nN3bymnZ8E42aLEtgglmAAAAAAAASmo":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["_dl_open"],"function_offset":[],"line_number":[649]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAS7f":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["dl_open_worker"],"function_offset":[],"line_number":[269]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAM3G":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-deps.c"],"function_name":["_dl_map_object_deps"],"function_offset":[],"line_number":[253]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAMtx":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-deps.c"],"function_name":["openaux"],"function_offset":[],"line_number":[64]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAINe":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-load.c"],"function_name":["_dl_map_object"],"function_offset":[],"line_number":[1943]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAISm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"93AmMdBRQTTNSFcMQ_YwdgAAAAAAAFCy":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"29RxCcCS3qayH8Wz47EBXQAAAAAAAIzc":{"file_name":["_adapters.py"],"function_name":["CompatibilityFiles"],"function_offset":[81],"line_number":[123]},"mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAPGy":{"file_name":["abc.py"],"function_name":["__new__"],"function_offset":[3],"line_number":[108]},"IWme5rHQfgYd-9YstXSeGAAAAAAAAE_C":{"file_name":["typing.py"],"function_name":["__init_subclass__"],"function_offset":[57],"line_number":[2092]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[8],"line_number":[21]},"mHiYHSEggclUi1ELZIxq4AAAAAAAAABA":{"file_name":["session.py"],"function_name":[""],"function_offset":[13],"line_number":[27]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU":{"file_name":["client.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc":{"file_name":["waiter.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE":{"file_name":["service.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc":{"file_name":["compat.py"],"function_name":[""],"function_offset":[17],"line_number":[31]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[10],"line_number":[11]},"r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"y4VaggFtn5eGbiM4h45zCgAAAAAAAIhi":{"file_name":["formatter.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"aovhV1VhdNHhPwAmk_rOhgAAAAAAAB0G":{"file_name":["table.py"],"function_name":[""],"function_offset":[189],"line_number":[190]},"px3SfTg4DYOeiT_Yemty2wAAAAAAAAye":{"file_name":["."],"function_name":["utils"],"function_offset":[5],"line_number":[6]},"opI8K6Q9RBhmYCrRVwNTgAAAAAAAAPGW":{"file_name":["initialise.py"],"function_name":[""],"function_offset":[120],"line_number":[121]},"cVEUVwL4zVVcM9r_4PTCXAAAAAAAAJce":{"file_name":["ansitowin32.py"],"function_name":[""],"function_offset":[71],"line_number":[72]},"GGxNFCJdZtgXLG8zgUfn_QAAAAAAAD2y":{"file_name":["ansitowin32.py"],"function_name":["AnsiToWin32"],"function_offset":[182],"line_number":[254]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAKn8":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAALGC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAJBk":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAPDo":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALts":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"ZVYMRqiL5oPAMqs8XcON8QAAAAAAAJl2":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[58],"line_number":[59]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"V6gUZHzBRISi-Z25klK5DQAAAAAAACri":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[37],"line_number":[38]},"zWNEoAKVTnnzSns045VKhwAAAAAAAIsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAACea":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"1y9WuJpjgBMcQb3shY5phQAAAAAAAOMe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[45],"line_number":[46]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAALkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"PmhxUKv5sePRxhCBONca8gAAAAAAAAD6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"xDXQtI2vA5YySwpx7QFiwAAAAAAAALuy":{"file_name":["popen_forkserver.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAHRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"fSQ747oLNh0c0zFQjsVRWgAAAAAAALk2":{"file_name":["forkserver.py"],"function_name":[""],"function_offset":[80],"line_number":[81]},"yp8MidCGMe4czbl-NigsYQAAAAAAAFOm":{"file_name":["connection.py"],"function_name":[""],"function_offset":[524],"line_number":[525]},"2noK4QoWxdzASRHkjOFwVAAAAAAAADGK":{"file_name":["tempfile.py"],"function_name":[""],"function_offset":[547],"line_number":[548]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"mfGJjedIJMvFXgX3QuTMfQAAAAAAAPDW":{"file_name":["core.py"],"function_name":[""],"function_offset":[275],"line_number":[276]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAALSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"9NWoah56eYULAP_zGE9PuwAAAAAAAPHC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[101],"line_number":[102]},"IKrIDHd5n47PpDQsRXxvvgAAAAAAAGmC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[81],"line_number":[82]},"oG7568kMJujZxPJfj7VMjAAAAAAAAAjO":{"file_name":["frontend.py"],"function_name":[""],"function_offset":[390],"line_number":[391]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAHKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"HENgRXYeEs7mDD8Gk_MNmgAAAAAAAKju":{"file_name":["help.py"],"function_name":[""],"function_offset":[202],"line_number":[203]},"fFS0upy5lIaT99RhlTN5LQAAAAAAAEW2":{"file_name":["clidocs.py"],"function_name":[""],"function_offset":[399],"line_number":[400]},"lSdGU4igLMOpLhL_6XP15wAAAAAAADZ-":{"file_name":["argprocess.py"],"function_name":[""],"function_offset":[278],"line_number":[279]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAO3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAACSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"QAp_Nt6XUeNsCXnAUgW7XgAAAAAAABKa":{"file_name":["shorthand.py"],"function_name":[""],"function_offset":[132],"line_number":[133]},"20O937106XMbOD0LQR4SPwAAAAAAAIVS":{"file_name":["shorthand.py"],"function_name":["ShorthandParser"],"function_offset":[257],"line_number":[379]},"gPzb0fXoBe1225fbKepMRAAAAAAAAGUy":{"file_name":["shorthand.py"],"function_name":["__init__"],"function_offset":[2],"line_number":[53]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAJn8":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAKGo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAACfk":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAACxC":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAACMC":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"JrU1PwRIxl_8SXdnTESnogAAAAAAADMc":{"file_name":["_compiler.py"],"function_name":["_optimize_charset"],"function_offset":[138],"line_number":[379]},"HENgRXYeEs7mDD8Gk_MNmgAAAAAAAH1O":{"file_name":["help.py"],"function_name":[""],"function_offset":[202],"line_number":[203]},"fFS0upy5lIaT99RhlTN5LQAAAAAAACWm":{"file_name":["clidocs.py"],"function_name":[""],"function_offset":[399],"line_number":[400]},"lSdGU4igLMOpLhL_6XP15wAAAAAAABZu":{"file_name":["argprocess.py"],"function_name":[""],"function_offset":[278],"line_number":[279]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6":{"file_name":["shorthand.py"],"function_name":[""],"function_offset":[132],"line_number":[133]},"20O937106XMbOD0LQR4SPwAAAAAAAGVC":{"file_name":["shorthand.py"],"function_name":["ShorthandParser"],"function_offset":[257],"line_number":[379]},"gPzb0fXoBe1225fbKepMRAAAAAAAAKLy":{"file_name":["shorthand.py"],"function_name":["__init__"],"function_offset":[2],"line_number":[53]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAANSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAANJo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAAKVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAANJE":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAANai":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAM1i":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"JrU1PwRIxl_8SXdnTESnogAAAAAAAOom":{"file_name":["_compiler.py"],"function_name":["_optimize_charset"],"function_offset":[138],"line_number":[379]},"ik6PIX946fW_erE7uBJlVQAAAAAAADLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAANFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"zWCVT22bUHN0NWIQIBSuKgAAAAAAAOm6":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[32],"line_number":[33]},"zj3hc8VBXxWxcbGVwJZYLAAAAAAAAOye":{"file_name":["basic.py"],"function_name":[""],"function_offset":[31],"line_number":[32]},"EHb2BWbkIivImSAfaUtw-AAAAAAAAPyQ":{"file_name":["named_commands.py"],"function_name":[""],"function_offset":[586],"line_number":[587]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"-7Nhzq0bVRejx7IVqpbbZQAAAAAAAKW-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[96],"line_number":[97]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAALmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAAGLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"OlTvyWQFXjOweJcs3kiGygAAAAAAAMui":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAItm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2":{"file_name":["_parser.py"],"function_name":["__len__"],"function_offset":[1],"line_number":[159]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAExO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAIla":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAPNq":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAACAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAIW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"fj70ljef7nDHOqVJGSIoEQAAAAAAANmS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAIKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAC66":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"3HhVgGD2yvuFLpoZq7RfKwAAAAAAAOnq":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[179],"line_number":[180]},"-BjW54fwMksXBor9R-YN9wAAAAAAAHD-":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[575],"line_number":[576]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe":{"file_name":[],"function_name":["page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItm_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItAx":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAglhf":{"file_name":[],"function_name":["_raw_spin_lock"],"function_offset":[],"line_number":[]},"ik6PIX946fW_erE7uBJlVQAAAAAAAPLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"OlTvyWQFXjOweJcs3kiGygAAAAAAACIS":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAABtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAAGJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAGWM":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAALJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAKZu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"qkYSh95E1urNTie_gKbr7wAAAAAAAABY":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[11],"line_number":[12]},"V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8":{"file_name":["connection.py"],"function_name":[""],"function_offset":[14],"line_number":[15]},"xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAFi":{"file_name":["url.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG":{"file_name":["re.py"],"function_name":["compile"],"function_offset":[2],"line_number":[252]},"SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs":{"file_name":["re.py"],"function_name":["_compile"],"function_offset":[15],"line_number":[304]},"9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU":{"file_name":["sre_compile.py"],"function_name":["compile"],"function_offset":[5],"line_number":[764]},"cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["parse"],"function_offset":[11],"line_number":[948]},"aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["_parse_sub"],"function_offset":[8],"line_number":[443]},"MebnOxK5WOhP29sl19JefwAAAAAAAAua":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[341],"line_number":[834]},"MebnOxK5WOhP29sl19JefwAAAAAAAAKs":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[98],"line_number":[591]},"LEy-wm0GIvRoYVAga55HiwAAAAAAABxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAONq":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAACOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAADcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAOD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAPAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAACYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAAFee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAMW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAABj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"fj70ljef7nDHOqVJGSIoEQAAAAAAAMmS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPX-":{"file_name":["ssl.py"],"function_name":[""],"function_offset":[780],"line_number":[781]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALn4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAANe4":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"rBzW547V0L_mH4nnWK1FUQAAAAAAAHTA":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[6],"line_number":[1237]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAESm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"3nN3bymnZ8E42aLEtgglmAAAAAAAATA-":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["dl_open_worker"],"function_offset":[],"line_number":[424]},"3nN3bymnZ8E42aLEtgglmAAAAAAAALbA":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-reloc.c"],"function_name":["_dl_relocate_object"],"function_offset":[],"line_number":[160]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["_dl_lookup_symbol_x"],"function_offset":[],"line_number":[833]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJel":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["do_lookup_x","do_lookup_unique","enter_unique_sym"],"function_offset":[],"line_number":[544,322,197]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAADU":{"file_name":["application.py"],"function_name":[""],"function_offset":[40],"line_number":[41]},"bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"qordvIiilnF7CmkWCAd7eAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc":{"file_name":["base.py"],"function_name":[""],"function_offset":[8],"line_number":[9]},"M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"ED3bhsHkhBwZ5ynmMnkPRAAAAAAAAAAs":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[3],"line_number":[4]},"cZ-wyq9rmPl5QnqP0Smp6QAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"GLV-c6bk0E-nhaaCp6u20wAAAAAAAAAo":{"file_name":["base.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"c_1Yb4rio2EAH6C9SFwQogAAAAAAAABE":{"file_name":["cursor_shapes.py"],"function_name":[""],"function_offset":[5],"line_number":[6]},"O4ILxZswquMzuET9RRf5QAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[16],"line_number":[302]},"GLV-c6bk0E-nhaaCp6u20wAAAAAAAABA":{"file_name":["base.py"],"function_name":[""],"function_offset":[8],"line_number":[9]},"rJZ4aC9w8bMvzrC0ApyIjgAAAAAAAAAo":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[11],"line_number":[12]},"TC9v9fO0nTP4oypYCgB_1QAAAAAAAAAw":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"piWSMQrh4r040D0BPNaJvwAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAABncH":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAIsvf":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAIsF6":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJj7r":{"file_name":[],"function_name":["alloc_pages_vma"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJIxB":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[15],"line_number":[982]},"JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[24],"line_number":[925]},"MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[2],"line_number":[192]},"yWt46REABLfKH6PXLAE18AAAAAAAAABk":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[16],"line_number":[431]},"VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[1],"line_number":[121]},"Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[2],"line_number":[87]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI":{"file_name":["client.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg":{"file_name":["parser.py"],"function_name":[""],"function_offset":[7],"line_number":[12]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[21],"line_number":[26]},"-gq3a70QOgdn9HetYyf2OgAAAAAAAADS":{"file_name":["errors.py"],"function_name":[""],"function_offset":[51],"line_number":[56]}},"executables":{"FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","B8JRxL079xbhqQBqGvksAg":"kubelet","edNJ10OjHiWc5nzuTQdvig":"linux-vdso.so.1","piWSMQrh4r040D0BPNaJvw":"vmlinux","QvG8QEGAld88D676NL_Y2Q":"filebeat","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","QaIvzvU8UoclQMd_OMt-Pg":"elastic-operator","w5zBqPf1_9mIVEf-Rn7EdA":"systemd","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","OTWX4UsOVMrSIF5cD4zUzg":"libmount.so.1.1.0","v6HIzNa4K6G4nRP9032RIA":"dockerd","hc6JHMKlLXjOZcU9MGxvfg":"kube-proxy","A2oiHVwisByxRn5RDT4LjA":"vmlinux","wfA2BgwfDNXUWsxkJ083Rw":"kubelet","9LzzIocepYcOjnUsLlgOjg":"vmlinux","-pk6w5puGcp-wKnQ61BZzQ":"kubelet","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","YsKzCJ9e4eZnuT00vj7Pcw":"python2.7","N4ILulabOfF5MnyRJbvDXw":"libpython2.7.so.1.0","SbPwzb_Kog2bWn8uc7xhDQ":"aws","xLxcEbwnZ5oNrk99ZsxcSQ":"libpython3.11.so.1.0","aUXpdArtZf510BJKvwiFDw":"veth","WpYcHtr4qx88B8CBJZ2GTw":"aws","-Z7SlEXhuy5tL2BF-xmy3g":"libpython3.11.so.1.0","pRLjmMO0U8sO4DFopfFU5g":"metrics-server","G68hjsyagwq6LpWrMjDdng":"libpython3.9.so.1.0","-V-5ede56KMAXhjFbz84Sw":"csi-provisioner","dGWvVtQJJ5wuqNyQVpi8lA":"zlib.cpython-311-x86_64-linux-gnu.so","jaBVtokSUzfS97d-XKjijg":"libz.so.1","ASi9f26ltguiwFajNwOaZw":"zlib.cpython-311-x86_64-linux-gnu.so","PVZV2uq5ZRt-FFaczL10BA":"libdl-2.26.so","3nN3bymnZ8E42aLEtgglmA":"ld-2.26.so","EX9l-cE0x8X9W8uz4iKUfw":"zlib.cpython-39-x86_64-linux-gnu.so"},"total_frames":150718,"sampling_rate":0.008000000000000002} diff --git a/x-pack/plugins/profiling/common/columnar_view_model.test.ts b/x-pack/plugins/profiling/common/columnar_view_model.test.ts index d967650c76c7fd..12c86401e9de39 100644 --- a/x-pack/plugins/profiling/common/columnar_view_model.test.ts +++ b/x-pack/plugins/profiling/common/columnar_view_model.test.ts @@ -5,16 +5,15 @@ * 2.0. */ -import { sum } from 'lodash'; - -import { createCalleeTree } from '@kbn/profiling-data-access-plugin/common/callee'; -import { createColumnarViewModel } from './columnar_view_model'; import { createBaseFlameGraph, + createCalleeTree, createFlameGraph, -} from '@kbn/profiling-data-access-plugin/common/flamegraph'; -import { decodeStackTraceResponse } from '@kbn/profiling-data-access-plugin/common/stack_traces'; -import { stackTraceFixtures } from '@kbn/profiling-data-access-plugin/common/__fixtures__/stacktraces'; + decodeStackTraceResponse, +} from '@kbn/profiling-utils'; +import { sum } from 'lodash'; +import { createColumnarViewModel } from './columnar_view_model'; +import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('Columnar view model operations', () => { stackTraceFixtures.forEach(({ response, seconds, upsampledBy }) => { diff --git a/x-pack/plugins/profiling/common/columnar_view_model.ts b/x-pack/plugins/profiling/common/columnar_view_model.ts index e4d2386a0bd740..f553d61361b8a5 100644 --- a/x-pack/plugins/profiling/common/columnar_view_model.ts +++ b/x-pack/plugins/profiling/common/columnar_view_model.ts @@ -6,7 +6,7 @@ */ import { ColumnarViewModel } from '@elastic/charts'; -import { ElasticFlameGraph } from '@kbn/profiling-data-access-plugin/common/flamegraph'; +import type { ElasticFlameGraph } from '@kbn/profiling-utils'; import { frameTypeToRGB, rgbToRGBA } from './frame_type_colors'; function normalize(n: number, lower: number, upper: number): number { diff --git a/x-pack/plugins/profiling/common/frame_type_colors.ts b/x-pack/plugins/profiling/common/frame_type_colors.ts index 59e8a6004c4e62..81571c459bed41 100644 --- a/x-pack/plugins/profiling/common/frame_type_colors.ts +++ b/x-pack/plugins/profiling/common/frame_type_colors.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { FrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameType } from '@kbn/profiling-utils'; /* * Helper to calculate the color of a given block to be drawn. The desirable outcomes of this are: diff --git a/x-pack/plugins/profiling/common/functions.test.ts b/x-pack/plugins/profiling/common/functions.test.ts index 4c70cca80d7bac..72f721ae4f66b6 100644 --- a/x-pack/plugins/profiling/common/functions.test.ts +++ b/x-pack/plugins/profiling/common/functions.test.ts @@ -7,8 +7,8 @@ import { sum } from 'lodash'; import { createTopNFunctions } from './functions'; -import { decodeStackTraceResponse } from '@kbn/profiling-data-access-plugin/common/stack_traces'; -import { stackTraceFixtures } from '@kbn/profiling-data-access-plugin/common/__fixtures__/stacktraces'; +import { decodeStackTraceResponse } from '@kbn/profiling-utils'; +import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('TopN function operations', () => { stackTraceFixtures.forEach(({ response, seconds, upsampledBy }) => { diff --git a/x-pack/plugins/profiling/common/functions.ts b/x-pack/plugins/profiling/common/functions.ts index dac08c97abbf7f..50a0d96f7d5c32 100644 --- a/x-pack/plugins/profiling/common/functions.ts +++ b/x-pack/plugins/profiling/common/functions.ts @@ -4,25 +4,25 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import * as t from 'io-ts'; -import { sumBy } from 'lodash'; -import { - createFrameGroupID, - FrameGroupID, -} from '@kbn/profiling-data-access-plugin/common/frame_group'; -import { - createStackFrameMetadata, - emptyExecutable, - emptyStackFrame, - emptyStackTrace, +import type { Executable, FileID, + FrameGroupID, StackFrame, StackFrameID, StackFrameMetadata, StackTrace, StackTraceID, -} from '@kbn/profiling-data-access-plugin/common/profiling'; +} from '@kbn/profiling-utils'; +import { + createFrameGroupID, + createStackFrameMetadata, + emptyExecutable, + emptyStackFrame, + emptyStackTrace, +} from '@kbn/profiling-utils'; +import * as t from 'io-ts'; +import { sumBy } from 'lodash'; interface TopNFunctionAndFrameGroup { Frame: StackFrameMetadata; diff --git a/x-pack/plugins/profiling/common/topn.ts b/x-pack/plugins/profiling/common/topn.ts index cd58e35c6442f8..bbf04c8a39226b 100644 --- a/x-pack/plugins/profiling/common/topn.ts +++ b/x-pack/plugins/profiling/common/topn.ts @@ -9,8 +9,8 @@ import { euiPaletteColorBlind } from '@elastic/eui'; import { InferSearchResponseOf } from '@kbn/es-types'; import { i18n } from '@kbn/i18n'; import { orderBy } from 'lodash'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; -import { StackFrameMetadata } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { ProfilingESField } from '@kbn/profiling-utils'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; import { createUniformBucketsForTimeRange } from './histogram'; export const OTHER_BUCKET_LABEL = i18n.translate('xpack.profiling.topn.otherBucketLabel', { diff --git a/x-pack/plugins/profiling/kibana.jsonc b/x-pack/plugins/profiling/kibana.jsonc index 612e8d7936c253..6ebaf5e99832fb 100644 --- a/x-pack/plugins/profiling/kibana.jsonc +++ b/x-pack/plugins/profiling/kibana.jsonc @@ -24,6 +24,7 @@ "observabilityAIAssistant", "unifiedSearch", "share", + "embeddable", "profilingDataAccess" ], "requiredBundles": [ diff --git a/x-pack/plugins/profiling/public/components/flamegraph/index.tsx b/x-pack/plugins/profiling/public/components/flamegraph/index.tsx index 7d02f4b480350d..76105907f8d527 100644 --- a/x-pack/plugins/profiling/public/components/flamegraph/index.tsx +++ b/x-pack/plugins/profiling/public/components/flamegraph/index.tsx @@ -19,7 +19,7 @@ import { EuiFlexGroup, EuiFlexItem, useEuiTheme } from '@elastic/eui'; import { Maybe } from '@kbn/observability-plugin/common/typings'; import React, { useEffect, useMemo, useState } from 'react'; import { useUiTracker } from '@kbn/observability-shared-plugin/public'; -import { ElasticFlameGraph } from '@kbn/profiling-data-access-plugin/common/flamegraph'; +import type { ElasticFlameGraph } from '@kbn/profiling-utils'; import { getFlamegraphModel } from '../../utils/get_flamegraph_model'; import { FlameGraphLegend } from './flame_graph_legend'; import { FrameInformationWindow } from '../frame_information_window'; @@ -34,10 +34,9 @@ interface Props { comparisonFlamegraph?: ElasticFlameGraph; baseline?: number; comparison?: number; - showInformationWindow: boolean; - toggleShowInformationWindow: () => void; searchText?: string; onChangeSearchText?: FlameSpec['onSearchTextChange']; + isEmbedded?: boolean; } export function FlameGraph({ @@ -47,11 +46,14 @@ export function FlameGraph({ comparisonFlamegraph, baseline, comparison, - showInformationWindow, - toggleShowInformationWindow, searchText, onChangeSearchText, + isEmbedded = false, }: Props) { + const [showInformationWindow, setShowInformationWindow] = useState(false); + function toggleShowInformationWindow() { + setShowInformationWindow((prev) => !prev); + } const theme = useEuiTheme(); const trackProfilingEvent = useUiTracker({ app: 'profiling' }); @@ -157,9 +159,7 @@ export function FlameGraph({ comparisonScaleFactor={comparison} onShowMoreClick={() => { trackProfilingEvent({ metric: 'flamegraph_node_details_click' }); - if (!showInformationWindow) { - toggleShowInformationWindow(); - } + toggleShowInformationWindow(); setHighlightedVmIndex(valueIndex); }} /> @@ -194,6 +194,8 @@ export function FlameGraph({ frame={selected} totalSeconds={primaryFlamegraph?.TotalSeconds ?? 0} totalSamples={totalSamples} + showAIAssistant={!isEmbedded} + showSymbolsStatus={!isEmbedded} /> )} diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx new file mode 100644 index 00000000000000..01f27ef54e72f9 --- /dev/null +++ b/x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx @@ -0,0 +1,112 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { + ContextualInsight, + Message, + MessageRole, + useObservabilityAIAssistant, +} from '@kbn/observability-ai-assistant-plugin/public'; +import React, { useMemo } from 'react'; +import { Frame } from '.'; + +interface Props { + frame?: Frame; +} + +export function FrameInformationAIAssistant({ frame }: Props) { + const aiAssistant = useObservabilityAIAssistant(); + + const promptMessages = useMemo(() => { + if (frame?.functionName && frame.exeFileName) { + const functionName = frame.functionName; + const library = frame.exeFileName; + + const now = new Date().toISOString(); + + return [ + { + '@timestamp': now, + message: { + role: MessageRole.System, + content: `You are perf-gpt, a helpful assistant for performance analysis and optimisation + of software. Answer as concisely as possible.`, + }, + }, + { + '@timestamp': now, + message: { + role: MessageRole.User, + content: `I am a software engineer. I am trying to understand what a function in a particular + software library does. + + The library is: ${library} + The function is: ${functionName} + + Your have two tasks. Your first task is to desribe what the library is and what its use cases are, and to + describe what the function does. The output format should look as follows: + + Library description: Provide a concise description of the library + Library use-cases: Provide a concise description of what the library is typically used for. + Function description: Provide a concise, technical, description of what the function does. + + Assume the function ${functionName} from the library ${library} is consuming significant CPU resources. + Your second task is to suggest ways to optimize or improve the system that involve the ${functionName} function from the + ${library} library. Types of improvements that would be useful to me are improvements that result in: + + - Higher performance so that the system runs faster or uses less CPU + - Better memory efficient so that the system uses less RAM + - Better storage efficient so that the system stores less data on disk. + - Better network I/O efficiency so that less data is sent over the network + - Better disk I/O efficiency so that less data is read and written from disk + + Make up to five suggestions. Your suggestions must meet all of the following criteria: + 1. Your suggestions should detailed, technical and include concrete examples. + 2. Your suggestions should be specific to improving performance of a system in which the ${functionName} function from + the ${library} library is consuming significant CPU. + 3. If you suggest replacing the function or library with a more efficient replacement you must suggest at least + one concrete replacement. + + If you know of fewer than five ways to improve the performance of a system in which the ${functionName} function from the + ${library} library is consuming significant CPU, then provide fewer than five suggestions. If you do not know of any + way in which to improve the performance then say "I do not know how to improve the performance of systems where + this function is consuming a significant amount of CPU". + + Do not suggest using a CPU profiler. I have already profiled my code. The profiler I used is Elastic Universal Profiler. + If there is specific information I should look for in the profiler output then tell me what information to look for + in the output of Elastic Universal Profiler. + + You must not include URLs, web addresses or websites of any kind in your output. + + If you have suggestions, the output format should look as follows: + + Here are some suggestions as to how you might optimize your system if ${functionName} in ${library} is consuming + significant CPU resources: + 1. Insert first suggestion + 2. Insert second suggestion`, + }, + }, + ]; + } + + return undefined; + }, [frame?.functionName, frame?.exeFileName]); + + return ( + <> + {aiAssistant.isEnabled() && promptMessages ? ( + + ) : null} + + ); +} diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts b/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts index 8c2fa0ebd07639..431933c0125ec6 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts +++ b/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts @@ -6,7 +6,7 @@ */ import { i18n } from '@kbn/i18n'; -import { describeFrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { describeFrameType } from '@kbn/profiling-utils'; import { NOT_AVAILABLE_LABEL } from '../../../common'; export function getInformationRows({ diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx index 96879a59fc7370..856e30001becd9 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx +++ b/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx @@ -6,117 +6,42 @@ */ import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTitle } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { - ContextualInsight, - Message, - MessageRole, - useObservabilityAIAssistant, -} from '@kbn/observability-ai-assistant-plugin/public'; -import React, { useMemo } from 'react'; -import { - FrameSymbolStatus, - getFrameSymbolStatus, -} from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameSymbolStatus, getFrameSymbolStatus } from '@kbn/profiling-utils'; +import React from 'react'; +import { FrameInformationAIAssistant } from './frame_information_ai_assistant'; import { FrameInformationPanel } from './frame_information_panel'; import { getImpactRows } from './get_impact_rows'; import { getInformationRows } from './get_information_rows'; import { KeyValueList } from './key_value_list'; import { MissingSymbolsCallout } from './missing_symbols_callout'; +export interface Frame { + fileID: string; + frameType: number; + exeFileName: string; + addressOrLine: number; + functionName: string; + sourceFileName: string; + sourceLine: number; + countInclusive: number; + countExclusive: number; +} + export interface Props { - frame?: { - fileID: string; - frameType: number; - exeFileName: string; - addressOrLine: number; - functionName: string; - sourceFileName: string; - sourceLine: number; - countInclusive: number; - countExclusive: number; - }; + frame?: Frame; totalSamples: number; totalSeconds: number; + showAIAssistant?: boolean; + showSymbolsStatus?: boolean; } -export function FrameInformationWindow({ frame, totalSamples, totalSeconds }: Props) { - const aiAssistant = useObservabilityAIAssistant(); - - const promptMessages = useMemo(() => { - if (frame?.functionName && frame.exeFileName) { - const functionName = frame.functionName; - const library = frame.exeFileName; - - const now = new Date().toISOString(); - - return [ - { - '@timestamp': now, - message: { - role: MessageRole.System, - content: `You are perf-gpt, a helpful assistant for performance analysis and optimisation - of software. Answer as concisely as possible.`, - }, - }, - { - '@timestamp': now, - message: { - role: MessageRole.User, - content: `I am a software engineer. I am trying to understand what a function in a particular - software library does. - - The library is: ${library} - The function is: ${functionName} - - Your have two tasks. Your first task is to desribe what the library is and what its use cases are, and to - describe what the function does. The output format should look as follows: - - Library description: Provide a concise description of the library - Library use-cases: Provide a concise description of what the library is typically used for. - Function description: Provide a concise, technical, description of what the function does. - - Assume the function ${functionName} from the library ${library} is consuming significant CPU resources. - Your second task is to suggest ways to optimize or improve the system that involve the ${functionName} function from the - ${library} library. Types of improvements that would be useful to me are improvements that result in: - - - Higher performance so that the system runs faster or uses less CPU - - Better memory efficient so that the system uses less RAM - - Better storage efficient so that the system stores less data on disk. - - Better network I/O efficiency so that less data is sent over the network - - Better disk I/O efficiency so that less data is read and written from disk - - Make up to five suggestions. Your suggestions must meet all of the following criteria: - 1. Your suggestions should detailed, technical and include concrete examples. - 2. Your suggestions should be specific to improving performance of a system in which the ${functionName} function from - the ${library} library is consuming significant CPU. - 3. If you suggest replacing the function or library with a more efficient replacement you must suggest at least - one concrete replacement. - - If you know of fewer than five ways to improve the performance of a system in which the ${functionName} function from the - ${library} library is consuming significant CPU, then provide fewer than five suggestions. If you do not know of any - way in which to improve the performance then say "I do not know how to improve the performance of systems where - this function is consuming a significant amount of CPU". - - Do not suggest using a CPU profiler. I have already profiled my code. The profiler I used is Elastic Universal Profiler. - If there is specific information I should look for in the profiler output then tell me what information to look for - in the output of Elastic Universal Profiler. - - You must not include URLs, web addresses or websites of any kind in your output. - - If you have suggestions, the output format should look as follows: - - Here are some suggestions as to how you might optimize your system if ${functionName} in ${library} is consuming - significant CPU resources: - 1. Insert first suggestion - 2. Insert second suggestion`, - }, - }, - ]; - } - - return undefined; - }, [frame?.functionName, frame?.exeFileName]); - +export function FrameInformationWindow({ + frame, + totalSamples, + totalSeconds, + showAIAssistant = true, + showSymbolsStatus = true, +}: Props) { if (!frame) { return ( @@ -170,23 +95,16 @@ export function FrameInformationWindow({ frame, totalSamples, totalSeconds }: Pr - {aiAssistant.isEnabled() && promptMessages ? ( - <> - - - - - ) : undefined} - {symbolStatus !== FrameSymbolStatus.SYMBOLIZED && ( + {showAIAssistant ? ( + + + + ) : null} + {showSymbolsStatus && symbolStatus !== FrameSymbolStatus.SYMBOLIZED ? ( - )} + ) : null} diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx index aba91dcc4127af..3a6a29d2f2ed56 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx +++ b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx @@ -8,7 +8,7 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { Meta } from '@storybook/react'; import React from 'react'; -import { FrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameType } from '@kbn/profiling-utils'; import { MockProfilingDependenciesStorybook } from '../contexts/profiling_dependencies/mock_profiling_dependencies_storybook'; import { MissingSymbolsCallout } from './missing_symbols_callout'; diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx index ac2c2e7a2407bc..922fd070f31304 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx +++ b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx @@ -9,7 +9,7 @@ import { EuiButton, EuiCallOut, EuiLink } from '@elastic/eui'; import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; -import { FrameType, getLanguageType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameType, getLanguageType } from '@kbn/profiling-utils'; import { PROFILING_FEEDBACK_LINK } from '../profiling_app_page_template'; import { useProfilingDependencies } from '../contexts/profiling_dependencies/use_profiling_dependencies'; import { useProfilingRouter } from '../../hooks/use_profiling_router'; diff --git a/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx b/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx index d73c382962a598..f7afb09c5457a8 100644 --- a/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx +++ b/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx @@ -6,11 +6,8 @@ */ import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiText } from '@elastic/eui'; import React from 'react'; -import { - getCalleeFunction, - getCalleeSource, - StackFrameMetadata, -} from '@kbn/profiling-data-access-plugin/common/profiling'; +import { getCalleeFunction, getCalleeSource } from '@kbn/profiling-utils'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; interface Props { frame: StackFrameMetadata; diff --git a/x-pack/plugins/profiling/public/components/subchart.tsx b/x-pack/plugins/profiling/public/components/subchart.tsx index 4100425cb05d6a..9100af82d1f4bb 100644 --- a/x-pack/plugins/profiling/public/components/subchart.tsx +++ b/x-pack/plugins/profiling/public/components/subchart.tsx @@ -32,7 +32,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; -import { StackFrameMetadata } from '@kbn/profiling-data-access-plugin/common/profiling'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; import { CountPerTime, OTHER_BUCKET_LABEL, TopNSample } from '../../common/topn'; import { useKibanaTimeZoneSetting } from '../hooks/use_kibana_timezone_setting'; import { useProfilingChartsTheme } from '../hooks/use_profiling_charts_theme'; diff --git a/x-pack/plugins/profiling/public/components/topn_functions/utils.ts b/x-pack/plugins/profiling/public/components/topn_functions/utils.ts index f4524425883d1e..b64fa8ab5980bc 100644 --- a/x-pack/plugins/profiling/public/components/topn_functions/utils.ts +++ b/x-pack/plugins/profiling/public/components/topn_functions/utils.ts @@ -5,7 +5,7 @@ * 2.0. */ import { keyBy } from 'lodash'; -import { StackFrameMetadata } from '@kbn/profiling-data-access-plugin/common/profiling'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; import { TopNFunctions } from '../../../common/functions'; import { calculateImpactEstimates } from '../../../common/calculate_impact_estimates'; diff --git a/x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx b/x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx new file mode 100644 index 00000000000000..4c8ba90e332c72 --- /dev/null +++ b/x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiLoadingChart } from '@elastic/eui'; +import React from 'react'; + +interface Props { + isLoading: boolean; + children: React.ReactElement; +} + +export function AsyncEmbeddableComponent({ children, isLoading }: Props) { + return ( + <> + {isLoading ? ( +
    + +
    + ) : ( + <>{children} + )} + + ); +} diff --git a/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx new file mode 100644 index 00000000000000..8e491af0afe638 --- /dev/null +++ b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { Embeddable, EmbeddableOutput } from '@kbn/embeddable-plugin/public'; +import { EMBEDDABLE_FLAMEGRAPH } from '@kbn/observability-shared-plugin/public'; +import React from 'react'; +import { render, unmountComponentAtNode } from 'react-dom'; +import { createFlameGraph } from '@kbn/profiling-utils'; +import { FlameGraph } from '../../components/flamegraph'; +import { EmbeddableFlamegraphEmbeddableInput } from './embeddable_flamegraph_factory'; +import { AsyncEmbeddableComponent } from '../async_embeddable_component'; + +export class EmbeddableFlamegraph extends Embeddable< + EmbeddableFlamegraphEmbeddableInput, + EmbeddableOutput +> { + readonly type = EMBEDDABLE_FLAMEGRAPH; + private _domNode?: HTMLElement; + + render(domNode: HTMLElement) { + this._domNode = domNode; + const { data, isLoading } = this.input; + const flamegraph = !isLoading && data ? createFlameGraph(data) : undefined; + render( + + <> + {flamegraph && ( + + )} + + , + domNode + ); + } + + public destroy() { + if (this._domNode) { + unmountComponentAtNode(this._domNode); + } + } + + reload() { + if (this._domNode) { + this.render(this._domNode); + } + } +} diff --git a/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts new file mode 100644 index 00000000000000..568a4d20acc7b7 --- /dev/null +++ b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { + IContainer, + EmbeddableInput, + EmbeddableFactoryDefinition, +} from '@kbn/embeddable-plugin/public'; +import type { BaseFlameGraph } from '@kbn/profiling-utils'; +import { EMBEDDABLE_FLAMEGRAPH } from '@kbn/observability-shared-plugin/public'; + +interface EmbeddableFlamegraphInput { + data?: BaseFlameGraph; + isLoading: boolean; +} + +export type EmbeddableFlamegraphEmbeddableInput = EmbeddableFlamegraphInput & EmbeddableInput; + +export class EmbeddableFlamegraphFactory + implements EmbeddableFactoryDefinition +{ + readonly type = EMBEDDABLE_FLAMEGRAPH; + + async isEditable() { + return false; + } + + async create(input: EmbeddableFlamegraphEmbeddableInput, parent?: IContainer) { + const { EmbeddableFlamegraph } = await import('./embeddable_flamegraph'); + return new EmbeddableFlamegraph(input, {}, parent); + } + + getDisplayName() { + return 'Universal Profiling Flamegraph'; + } +} diff --git a/x-pack/plugins/profiling/public/plugin.tsx b/x-pack/plugins/profiling/public/plugin.tsx index a59f991df58d8d..25493dd3a20e56 100644 --- a/x-pack/plugins/profiling/public/plugin.tsx +++ b/x-pack/plugins/profiling/public/plugin.tsx @@ -16,11 +16,13 @@ import { i18n } from '@kbn/i18n'; import type { NavigationSection } from '@kbn/observability-shared-plugin/public'; import type { Location } from 'history'; import { BehaviorSubject, combineLatest, from, map } from 'rxjs'; +import { EMBEDDABLE_FLAMEGRAPH } from '@kbn/observability-shared-plugin/public'; import { FlamegraphLocatorDefinition } from './locators/flamegraph_locator'; import { StacktracesLocatorDefinition } from './locators/stacktraces_locator'; import { TopNFunctionsLocatorDefinition } from './locators/topn_functions_locator'; import { getServices } from './services'; import type { ProfilingPluginPublicSetupDeps, ProfilingPluginPublicStartDeps } from './types'; +import { EmbeddableFlamegraphFactory } from './embeddables/flamegraph/embeddable_flamegraph_factory'; export type ProfilingPluginSetup = ReturnType; export type ProfilingPluginStart = void; @@ -130,6 +132,11 @@ export class ProfilingPlugin implements Plugin { }, }); + pluginsSetup.embeddable.registerEmbeddableFactory( + EMBEDDABLE_FLAMEGRAPH, + new EmbeddableFlamegraphFactory() + ); + return { locators: { flamegraphLocator: pluginsSetup.share.url.locators.create( diff --git a/x-pack/plugins/profiling/public/routing/index.tsx b/x-pack/plugins/profiling/public/routing/index.tsx index b6dcebc3ec18dc..c1f2aa6b39c221 100644 --- a/x-pack/plugins/profiling/public/routing/index.tsx +++ b/x-pack/plugins/profiling/public/routing/index.tsx @@ -9,10 +9,7 @@ import { toNumberRt } from '@kbn/io-ts-utils'; import { createRouter, Outlet } from '@kbn/typed-react-router-config'; import * as t from 'io-ts'; import React from 'react'; -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { TopNFunctionSortField, topNFunctionSortFieldRt } from '../../common/functions'; import { indexLifecyclePhaseRt, diff --git a/x-pack/plugins/profiling/public/services.ts b/x-pack/plugins/profiling/public/services.ts index 6fbe64f57d0250..70716659a9e784 100644 --- a/x-pack/plugins/profiling/public/services.ts +++ b/x-pack/plugins/profiling/public/services.ts @@ -6,10 +6,10 @@ */ import { HttpFetchQuery } from '@kbn/core/public'; import { - BaseFlameGraph, createFlameGraph, - ElasticFlameGraph, -} from '@kbn/profiling-data-access-plugin/common/flamegraph'; + type BaseFlameGraph, + type ElasticFlameGraph, +} from '@kbn/profiling-utils'; import { getRoutePaths } from '../common'; import { TopNFunctions } from '../common/functions'; import type { @@ -106,6 +106,7 @@ export function getServices(): Services { timeTo, kuery, }; + const baseFlamegraph = (await http.get(paths.Flamechart, { query })) as BaseFlameGraph; return createFlameGraph(baseFlamegraph); }, diff --git a/x-pack/plugins/profiling/public/types.ts b/x-pack/plugins/profiling/public/types.ts index 1d914c2d31a726..e583a4962dc684 100644 --- a/x-pack/plugins/profiling/public/types.ts +++ b/x-pack/plugins/profiling/public/types.ts @@ -24,6 +24,7 @@ import { ObservabilityAIAssistantPluginSetup, ObservabilityAIAssistantPluginStart, } from '@kbn/observability-ai-assistant-plugin/public'; +import { EmbeddableSetup } from '@kbn/embeddable-plugin/public'; export interface ProfilingPluginPublicSetupDeps { observability: ObservabilityPublicSetup; @@ -34,6 +35,7 @@ export interface ProfilingPluginPublicSetupDeps { charts: ChartsPluginSetup; licensing: LicensingPluginSetup; share: SharePluginSetup; + embeddable: EmbeddableSetup; } export interface ProfilingPluginPublicStartDeps { diff --git a/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts b/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts index 6ba179ac44d9c8..32ae0471dd8d53 100644 --- a/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts +++ b/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts @@ -8,8 +8,8 @@ import { ColumnarViewModel } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; import d3 from 'd3'; import { compact, range, sum, uniqueId } from 'lodash'; -import { describeFrameType, FrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; -import { ElasticFlameGraph } from '@kbn/profiling-data-access-plugin/common/flamegraph'; +import { describeFrameType, FrameType } from '@kbn/profiling-utils'; +import type { ElasticFlameGraph } from '@kbn/profiling-utils'; import { createColumnarViewModel } from '../../../common/columnar_view_model'; import { FRAME_TYPE_COLOR_MAP, rgbToRGBA } from '../../../common/frame_type_colors'; import { ComparisonMode } from '../../components/normalization_menu'; diff --git a/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx b/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx index 78509345e8f722..c176826baa4fe9 100644 --- a/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx +++ b/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx @@ -5,14 +5,14 @@ * 2.0. */ import { EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; -import React, { useState } from 'react'; +import React from 'react'; import { AsyncComponent } from '../../../components/async_component'; import { useProfilingDependencies } from '../../../components/contexts/profiling_dependencies/use_profiling_dependencies'; import { FlameGraph } from '../../../components/flamegraph'; import { NormalizationMode, NormalizationOptions } from '../../../components/normalization_menu'; import { useProfilingParams } from '../../../hooks/use_profiling_params'; -import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useProfilingRoutePath } from '../../../hooks/use_profiling_route_path'; +import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useTimeRange } from '../../../hooks/use_time_range'; import { useTimeRangeAsync } from '../../../hooks/use_time_range_async'; import { DifferentialFlameGraphSearchPanel } from './differential_flame_graph_search_panel'; @@ -36,7 +36,6 @@ export function DifferentialFlameGraphsView() { } = useProfilingParams('/flamegraphs/differential'); const routePath = useProfilingRoutePath(); const profilingRouter = useProfilingRouter(); - const [showInformationWindow, setShowInformationWindow] = useState(false); const timeRange = useTimeRange({ rangeFrom, rangeTo }); @@ -55,15 +54,15 @@ export function DifferentialFlameGraphsView() { return Promise.all([ fetchElasticFlamechart({ http, - timeFrom: timeRange.inSeconds.start, - timeTo: timeRange.inSeconds.end, + timeFrom: new Date(timeRange.start).getTime(), + timeTo: new Date(timeRange.end).getTime(), kuery, }), - comparisonTimeRange.inSeconds.start && comparisonTimeRange.inSeconds.end + comparisonTimeRange.start && comparisonTimeRange.end ? fetchElasticFlamechart({ http, - timeFrom: comparisonTimeRange.inSeconds.start, - timeTo: comparisonTimeRange.inSeconds.end, + timeFrom: new Date(comparisonTimeRange.start).getTime(), + timeTo: new Date(comparisonTimeRange.end).getTime(), kuery: comparisonKuery, }) : Promise.resolve(undefined), @@ -75,13 +74,13 @@ export function DifferentialFlameGraphsView() { }); }, [ - timeRange.inSeconds.start, - timeRange.inSeconds.end, + fetchElasticFlamechart, + timeRange.start, + timeRange.end, kuery, - comparisonTimeRange.inSeconds.start, - comparisonTimeRange.inSeconds.end, + comparisonTimeRange.start, + comparisonTimeRange.end, comparisonKuery, - fetchElasticFlamechart, ] ); @@ -105,10 +104,6 @@ export function DifferentialFlameGraphsView() { const isNormalizedByTime = normalizationMode === NormalizationMode.Time; - function toggleShowInformationWindow() { - setShowInformationWindow((prev) => !prev); - } - function handleSearchTextChange(newSearchText: string) { // @ts-expect-error Code gets too complicated to satisfy TS constraints profilingRouter.push(routePath, { query: { ...query, searchText: newSearchText } }); @@ -134,8 +129,6 @@ export function DifferentialFlameGraphsView() { comparisonMode={comparisonMode} baseline={isNormalizedByTime ? baselineTime : baseline} comparison={isNormalizedByTime ? comparisonTime : comparison} - showInformationWindow={showInformationWindow} - toggleShowInformationWindow={toggleShowInformationWindow} searchText={searchText} onChangeSearchText={handleSearchTextChange} /> diff --git a/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx b/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx index 8a19cc538e14aa..fae9504b00b018 100644 --- a/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx +++ b/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx @@ -5,13 +5,13 @@ * 2.0. */ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import React, { useState } from 'react'; +import React from 'react'; import { AsyncComponent } from '../../../components/async_component'; import { useProfilingDependencies } from '../../../components/contexts/profiling_dependencies/use_profiling_dependencies'; import { FlameGraph } from '../../../components/flamegraph'; import { useProfilingParams } from '../../../hooks/use_profiling_params'; -import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useProfilingRoutePath } from '../../../hooks/use_profiling_route_path'; +import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useTimeRange } from '../../../hooks/use_time_range'; import { useTimeRangeAsync } from '../../../hooks/use_time_range_async'; @@ -31,12 +31,12 @@ export function FlameGraphView() { ({ http }) => { return fetchElasticFlamechart({ http, - timeFrom: timeRange.inSeconds.start, - timeTo: timeRange.inSeconds.end, + timeFrom: new Date(timeRange.start).getTime(), + timeTo: new Date(timeRange.end).getTime(), kuery, }); }, - [timeRange.inSeconds.start, timeRange.inSeconds.end, kuery, fetchElasticFlamechart] + [fetchElasticFlamechart, timeRange.start, timeRange.end, kuery] ); const { data } = state; @@ -45,11 +45,6 @@ export function FlameGraphView() { const profilingRouter = useProfilingRouter(); - const [showInformationWindow, setShowInformationWindow] = useState(false); - function toggleShowInformationWindow() { - setShowInformationWindow((prev) => !prev); - } - function handleSearchTextChange(newSearchText: string) { // @ts-expect-error Code gets too complicated to satisfy TS constraints profilingRouter.push(routePath, { query: { ...query, searchText: newSearchText } }); @@ -62,8 +57,6 @@ export function FlameGraphView() { diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts b/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts index b1a70254348ab4..81f13d070ddcde 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts @@ -8,7 +8,7 @@ import { EuiPageHeaderContentProps } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { TypeOf } from '@kbn/typed-react-router-config'; -import { TopNType } from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { TopNType } from '@kbn/profiling-utils'; import { StatefulProfilingRouter } from '../../hooks/use_profiling_router'; import { ProfilingRoutes } from '../../routing'; diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx b/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx index f024b8a21dcce1..d5a2c3a851f8fe 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx @@ -7,10 +7,7 @@ import { EuiButton, EuiButtonGroup, EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { groupSamplesByCategory, TopNResponse } from '../../../common/topn'; import { useProfilingParams } from '../../hooks/use_profiling_params'; import { useProfilingRouter } from '../../hooks/use_profiling_router'; diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts index 71272b7eda63c8..b5c8db80c0f8ac 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts @@ -4,10 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { getTracesViewRouteParams } from './utils'; describe('stack traces view utils', () => { diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts index 7b6b2a0ead3973..7aa4829d281648 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts @@ -6,10 +6,7 @@ */ import { TypeOf } from '@kbn/typed-react-router-config'; -import { - getFieldNameForTopNType, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { getFieldNameForTopNType, TopNType } from '@kbn/profiling-utils'; import { ProfilingRoutes } from '../../routing'; export function getTracesViewRouteParams({ diff --git a/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx b/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx index 1708c686c980c2..7403c3e86fb9b3 100644 --- a/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx +++ b/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx @@ -9,10 +9,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiPanel, EuiStat, EuiText } from ' import { i18n } from '@kbn/i18n'; import { asDynamicBytes } from '@kbn/observability-plugin/common'; import React from 'react'; -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { StorageExplorerSummaryAPIResponse } from '../../../common/storage_explorer'; import { useProfilingDependencies } from '../../components/contexts/profiling_dependencies/use_profiling_dependencies'; import { LabelWithHint } from '../../components/label_with_hint'; diff --git a/x-pack/plugins/profiling/server/routes/flamechart.ts b/x-pack/plugins/profiling/server/routes/flamechart.ts index 5dedcc15e0c789..28af937dc65f28 100644 --- a/x-pack/plugins/profiling/server/routes/flamechart.ts +++ b/x-pack/plugins/profiling/server/routes/flamechart.ts @@ -38,8 +38,8 @@ export function registerFlameChartSearchRoute({ const esClient = await getClient(context); const flamegraph = await profilingDataAccess.services.fetchFlamechartData({ esClient, - rangeFrom: timeFrom, - rangeTo: timeTo, + rangeFromMs: timeFrom, + rangeToMs: timeTo, kuery, }); diff --git a/x-pack/plugins/profiling/server/routes/query.ts b/x-pack/plugins/profiling/server/routes/query.ts index eed6b272c800ec..79520b0520ffb4 100644 --- a/x-pack/plugins/profiling/server/routes/query.ts +++ b/x-pack/plugins/profiling/server/routes/query.ts @@ -7,7 +7,7 @@ import { QueryDslBoolQuery } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { kqlQuery } from '@kbn/observability-plugin/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; export interface ProjectTimeQuery { bool: QueryDslBoolQuery; diff --git a/x-pack/plugins/profiling/server/routes/search_stacktraces.ts b/x-pack/plugins/profiling/server/routes/search_stacktraces.ts index 1e42cd11265eef..84e0da898534e6 100644 --- a/x-pack/plugins/profiling/server/routes/search_stacktraces.ts +++ b/x-pack/plugins/profiling/server/routes/search_stacktraces.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { decodeStackTraceResponse } from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { decodeStackTraceResponse } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../utils/create_profiling_es_client'; import { ProjectTimeQuery } from './query'; diff --git a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts index 529887f7f190d6..88e6a365c80da9 100644 --- a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts +++ b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts @@ -6,7 +6,7 @@ */ import { kqlQuery, termQuery } from '@kbn/observability-plugin/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { computeBucketWidthFromTimeRangeAndBucketCount } from '../../../common/histogram'; import { IndexLifecyclePhaseSelectOption, diff --git a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts index 20f3f080597f53..565fc76210516b 100644 --- a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts +++ b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts @@ -6,7 +6,7 @@ */ import { kqlQuery, termQuery } from '@kbn/observability-plugin/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { IndexLifecyclePhaseSelectOption, indexLifeCyclePhaseToDataTier, diff --git a/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts b/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts index bc3a0dd5819031..a2d2c7b2abcd1e 100644 --- a/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts +++ b/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts @@ -6,7 +6,7 @@ */ import { kqlQuery } from '@kbn/observability-plugin/server'; import { keyBy } from 'lodash'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../../utils/create_profiling_es_client'; interface HostDetails { diff --git a/x-pack/plugins/profiling/server/routes/topn.test.ts b/x-pack/plugins/profiling/server/routes/topn.test.ts index ab88c911ce97a1..9e28b87b516791 100644 --- a/x-pack/plugins/profiling/server/routes/topn.test.ts +++ b/x-pack/plugins/profiling/server/routes/topn.test.ts @@ -8,7 +8,7 @@ import { AggregationsAggregationContainer } from '@elastic/elasticsearch/lib/api/types'; import { coreMock } from '@kbn/core/server/mocks'; import { loggerMock } from '@kbn/logging-mocks'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../utils/create_profiling_es_client'; import { topNElasticSearchQuery } from './topn'; diff --git a/x-pack/plugins/profiling/server/routes/topn.ts b/x-pack/plugins/profiling/server/routes/topn.ts index 5e3f1cb16e8bee..7790bad3b23d52 100644 --- a/x-pack/plugins/profiling/server/routes/topn.ts +++ b/x-pack/plugins/profiling/server/routes/topn.ts @@ -7,18 +7,18 @@ import { schema } from '@kbn/config-schema'; import type { Logger } from '@kbn/core/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; -import { groupStackFrameMetadataByStackTrace } from '@kbn/profiling-data-access-plugin/common/profiling'; import { getFieldNameForTopNType, + groupStackFrameMetadataByStackTrace, + ProfilingESField, TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; -import { getRoutePaths, INDEX_EVENTS } from '../../common'; +} from '@kbn/profiling-utils'; import { RouteRegisterParameters } from '.'; +import { getRoutePaths, INDEX_EVENTS } from '../../common'; import { computeBucketWidthFromTimeRangeAndBucketCount } from '../../common/histogram'; import { createTopNSamples, getTopNAggregationRequest, TopNResponse } from '../../common/topn'; -import { handleRouteHandlerError } from '../utils/handle_route_error_handler'; import { ProfilingESClient } from '../utils/create_profiling_es_client'; +import { handleRouteHandlerError } from '../utils/handle_route_error_handler'; import { withProfilingSpan } from '../utils/with_profiling_span'; import { getClient } from './compat'; import { findDownsampledIndex } from './downsampling'; diff --git a/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts b/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts index 1379fe2a56bf2e..dc62411f2fb8fa 100644 --- a/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts +++ b/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts @@ -10,10 +10,7 @@ import type { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; import type { KibanaRequest } from '@kbn/core/server'; import { unwrapEsResponse } from '@kbn/observability-plugin/server'; import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { - ProfilingStatusResponse, - StackTraceResponse, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import type { ProfilingStatusResponse, StackTraceResponse } from '@kbn/profiling-utils'; import { withProfilingSpan } from './with_profiling_span'; export function cancelEsRequestOnAbort>( diff --git a/x-pack/plugins/profiling/tsconfig.json b/x-pack/plugins/profiling/tsconfig.json index ff93bada717035..b5de94dc4f5594 100644 --- a/x-pack/plugins/profiling/tsconfig.json +++ b/x-pack/plugins/profiling/tsconfig.json @@ -48,7 +48,9 @@ "@kbn/utility-types", "@kbn/usage-collection-plugin", "@kbn/observability-ai-assistant-plugin", - "@kbn/profiling-data-access-plugin" + "@kbn/profiling-data-access-plugin", + "@kbn/embeddable-plugin", + "@kbn/profiling-utils" // add references to other TypeScript projects the plugin depends on // requiredPlugins from ./kibana.json diff --git a/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts b/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts index dd72a012c6343b..c83063bcf7e0b6 100644 --- a/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts +++ b/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts @@ -6,31 +6,33 @@ */ import { ElasticsearchClient } from '@kbn/core/server'; -import { RegisterServicesParams } from '../register_services'; +import { createBaseFlameGraph, createCalleeTree } from '@kbn/profiling-utils'; import { withProfilingSpan } from '../../utils/with_profiling_span'; +import { RegisterServicesParams } from '../register_services'; import { searchStackTraces } from '../search_stack_traces'; -import { createCalleeTree } from '../../../common/callee'; -import { createBaseFlameGraph } from '../../../common/flamegraph'; -interface FetchFlamechartParams { +export interface FetchFlamechartParams { esClient: ElasticsearchClient; - rangeFrom: number; - rangeTo: number; + rangeFromMs: number; + rangeToMs: number; kuery: string; } export function createFetchFlamechart({ createProfilingEsClient }: RegisterServicesParams) { - return async ({ esClient, rangeFrom, rangeTo, kuery }: FetchFlamechartParams) => { + return async ({ esClient, rangeFromMs, rangeToMs, kuery }: FetchFlamechartParams) => { + const rangeFromSecs = rangeFromMs / 1000; + const rangeToSecs = rangeToMs / 1000; + const profilingEsClient = createProfilingEsClient({ esClient }); const targetSampleSize = 20000; // minimum number of samples to get statistically sound results - const totalSeconds = rangeTo - rangeFrom; + const totalSeconds = rangeToSecs - rangeFromSecs; const { events, stackTraces, executables, stackFrames, totalFrames, samplingRate } = await searchStackTraces({ client: profilingEsClient, - rangeFrom, - rangeTo, + rangeFrom: rangeFromSecs, + rangeTo: rangeToSecs, kuery, sampleSize: targetSampleSize, }); @@ -45,9 +47,7 @@ export function createFetchFlamechart({ createProfilingEsClient }: RegisterServi samplingRate ); - const fg = createBaseFlameGraph(tree, samplingRate, totalSeconds); - - return fg; + return createBaseFlameGraph(tree, samplingRate, totalSeconds); }); return flamegraph; diff --git a/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts b/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts index 1c9e185fe4c050..5544a8e8ffa900 100644 --- a/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts +++ b/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts @@ -7,7 +7,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; -import { decodeStackTraceResponse } from '../../../common/stack_traces'; +import { decodeStackTraceResponse } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../../utils/create_profiling_es_client'; export async function searchStackTraces({ diff --git a/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts b/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts index 0c5b85f42c8fb9..4b7f785bb6f3f1 100644 --- a/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts +++ b/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts @@ -8,8 +8,8 @@ import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { ElasticsearchClient } from '@kbn/core/server'; import type { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; -import { unwrapEsResponse } from '@kbn/observability-plugin/server'; -import { ProfilingStatusResponse, StackTraceResponse } from '../../common/stack_traces'; +import type { ProfilingStatusResponse, StackTraceResponse } from '@kbn/profiling-utils'; +import { unwrapEsResponse } from './unwrap_es_response'; import { withProfilingSpan } from './with_profiling_span'; export interface ProfilingESClient { diff --git a/x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.ts b/x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.ts new file mode 100644 index 00000000000000..1448a0fe027c8d --- /dev/null +++ b/x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { errors } from '@elastic/elasticsearch'; +import { inspect } from 'util'; + +export class WrappedElasticsearchClientError extends Error { + originalError: errors.ElasticsearchClientError; + constructor(originalError: errors.ElasticsearchClientError) { + super(originalError.message); + + const stack = this.stack; + + this.originalError = originalError; + + if (originalError instanceof errors.ResponseError) { + // make sure ES response body is visible when logged to the console + // @ts-expect-error + this.stack = { + valueOf() { + const value = stack?.valueOf() ?? ''; + return value; + }, + toString() { + const value = + stack?.toString() + + `\nResponse: ${inspect(originalError.meta.body, { depth: null })}\n`; + return value; + }, + }; + } + } +} + +export function unwrapEsResponse>( + responsePromise: T +): Promise['body']> { + return responsePromise + .then((res) => res.body) + .catch((err) => { + // make sure stacktrace is relative to where client was called + throw new WrappedElasticsearchClientError(err); + }); +} diff --git a/x-pack/plugins/profiling_data_access/tsconfig.json b/x-pack/plugins/profiling_data_access/tsconfig.json index f8693cb83658ea..9075978c5a9273 100644 --- a/x-pack/plugins/profiling_data_access/tsconfig.json +++ b/x-pack/plugins/profiling_data_access/tsconfig.json @@ -5,8 +5,6 @@ }, "include": [ "server/**/*", - "common/**/*.ts", - "common/**/*.json", "jest.config.js" ], "exclude": [ @@ -17,7 +15,7 @@ "@kbn/core", "@kbn/es-query", "@kbn/es-types", - "@kbn/observability-plugin", - "@kbn/apm-utils" + "@kbn/apm-utils", + "@kbn/profiling-utils" ] } diff --git a/yarn.lock b/yarn.lock index cc64e6913d2cee..09c5a75781f142 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5142,6 +5142,10 @@ version "0.0.0" uid "" +"@kbn/profiling-utils@link:packages/kbn-profiling-utils": + version "0.0.0" + uid "" + "@kbn/random-sampling@link:x-pack/packages/kbn-random-sampling": version "0.0.0" uid "" From 008cfb1f1cada6631716559a7e3c81b75648b875 Mon Sep 17 00:00:00 2001 From: Thomas Watson Date: Tue, 12 Sep 2023 10:49:30 +0200 Subject: [PATCH 23/39] Prefix path with / in CODEOWNERS file (#166049) --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d2d8628f97f012..5ae8101da74fea 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1023,7 +1023,7 @@ x-pack/plugins/infra/server/lib/alerting @elastic/actionable-observability /.buildkite/ @elastic/kibana-operations /kbn_pm/ @elastic/kibana-operations /x-pack/dev-tools @elastic/kibana-operations -catalog-info.yaml @elastic/kibana-operations @elastic/kibana-tech-leads +/catalog-info.yaml @elastic/kibana-operations @elastic/kibana-tech-leads # Appex QA /src/dev/code_coverage @elastic/appex-qa From d76865787e3c7854a9663c421350a3e9e52f373e Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Tue, 12 Sep 2023 10:58:38 +0200 Subject: [PATCH 24/39] [Log Explorer] Update DataGrid default preferences (#165718) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary Closes #165482 Closes #165489 This PR apply new default preferences to the DataGrid for the Log Explorer: - Display and resize additional columns for `service.name (240px)` and `host.name (320px)` fields. The column's width is taken by the average length of those specific fields. - Display rows with single-line height by default. data_grid --------- Co-authored-by: Marco Antonio Ghiani Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-unified-data-table/index.ts | 1 + .../kbn-unified-data-table/src/constants.ts | 11 ++++++++ .../src/hooks/use_row_heights_options.ts | 21 +++++---------- .../plugins/log_explorer/common/constants.ts | 13 +++++++++ .../src/url_state_storage_service.ts | 27 +++++++++++++++---- x-pack/plugins/log_explorer/tsconfig.json | 1 + .../columns_selection.ts | 4 +-- .../observability_log_explorer/header_menu.ts | 7 ++++- .../columns_selection.ts | 4 +-- .../observability_log_explorer/header_menu.ts | 7 ++++- 10 files changed, 70 insertions(+), 26 deletions(-) diff --git a/packages/kbn-unified-data-table/index.ts b/packages/kbn-unified-data-table/index.ts index 2c5e995619436b..cc692420cd2090 100644 --- a/packages/kbn-unified-data-table/index.ts +++ b/packages/kbn-unified-data-table/index.ts @@ -9,6 +9,7 @@ export { UnifiedDataTable, DataLoadingState } from './src/components/data_table'; export type { UnifiedDataTableProps } from './src/components/data_table'; export { getDisplayedColumns } from './src/utils/columns'; +export { ROWS_HEIGHT_OPTIONS } from './src/constants'; export { JSONCodeEditorCommonMemoized } from './src/components/json_code_editor/json_code_editor_common'; diff --git a/packages/kbn-unified-data-table/src/constants.ts b/packages/kbn-unified-data-table/src/constants.ts index c85751756cefd4..c1272cf00c8a30 100644 --- a/packages/kbn-unified-data-table/src/constants.ts +++ b/packages/kbn-unified-data-table/src/constants.ts @@ -11,6 +11,17 @@ export const DEFAULT_ROWS_PER_PAGE = 100; export const MAX_LOADED_GRID_ROWS = 10000; export const ROWS_PER_PAGE_OPTIONS = [10, 25, 50, DEFAULT_ROWS_PER_PAGE, 250, 500]; +/** + * Row height might be a value from -1 to 20 + * A value of -1 automatically adjusts the row height to fit the contents. + * A value of 0 displays the content in a single line. + * A value from 1 to 20 represents number of lines of Document explorer row to display. + */ +export const ROWS_HEIGHT_OPTIONS = { + auto: -1, + single: 0, + default: 3, +}; export const defaultMonacoEditorWidth = 370; export const defaultTimeColumnWidth = 212; diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts index 9d460c8ea2ba94..4be574db9e3966 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts @@ -15,6 +15,7 @@ import { getStoredRowHeight, updateStoredRowHeight, } from '../utils/row_heights'; +import { ROWS_HEIGHT_OPTIONS } from '../constants'; interface UseRowHeightProps { rowHeightState?: number; @@ -24,36 +25,26 @@ interface UseRowHeightProps { consumer: string; } -/** - * Row height might be a value from -1 to 20 - * A value of -1 automatically adjusts the row height to fit the contents. - * A value of 0 displays the content in a single line. - * A value from 1 to 20 represents number of lines of Document explorer row to display. - */ -const SINGLE_ROW_HEIGHT_OPTION = 0; -const AUTO_ROW_HEIGHT_OPTION = -1; -const DEFAULT_ROW_HEIGHT_OPTION = 3; - /** * Converts rowHeight of EuiDataGrid to rowHeight number (-1 to 20) */ const serializeRowHeight = (rowHeight?: EuiDataGridRowHeightOption): number => { if (rowHeight === 'auto') { - return AUTO_ROW_HEIGHT_OPTION; + return ROWS_HEIGHT_OPTIONS.auto; } else if (typeof rowHeight === 'object' && rowHeight.lineCount) { return rowHeight.lineCount; // custom } - return SINGLE_ROW_HEIGHT_OPTION; + return ROWS_HEIGHT_OPTIONS.single; }; /** * Converts rowHeight number (-1 to 20) of EuiDataGrid rowHeight */ const deserializeRowHeight = (number: number): EuiDataGridRowHeightOption | undefined => { - if (number === AUTO_ROW_HEIGHT_OPTION) { + if (number === ROWS_HEIGHT_OPTIONS.auto) { return 'auto'; - } else if (number === SINGLE_ROW_HEIGHT_OPTION) { + } else if (number === ROWS_HEIGHT_OPTIONS.single) { return undefined; } @@ -64,7 +55,7 @@ export const useRowHeightsOptions = ({ rowHeightState, onUpdateRowHeight, storage, - configRowHeight = DEFAULT_ROW_HEIGHT_OPTION, + configRowHeight = ROWS_HEIGHT_OPTIONS.default, consumer, }: UseRowHeightProps) => { return useMemo((): EuiDataGridRowHeightsOptions => { diff --git a/x-pack/plugins/log_explorer/common/constants.ts b/x-pack/plugins/log_explorer/common/constants.ts index fc1c572ebae269..e0ffcafed69e15 100644 --- a/x-pack/plugins/log_explorer/common/constants.ts +++ b/x-pack/plugins/log_explorer/common/constants.ts @@ -9,4 +9,17 @@ export const LOG_EXPLORER_PROFILE_ID = 'log-explorer'; // Fields constants export const TIMESTAMP_FIELD = '@timestamp'; +export const HOST_NAME_FIELD = 'host.name'; export const MESSAGE_FIELD = 'message'; +export const SERVICE_NAME_FIELD = 'service.name'; + +// Sizing +export const DATA_GRID_COLUMN_WIDTH_SMALL = 240; +export const DATA_GRID_COLUMN_WIDTH_MEDIUM = 320; + +// UI preferences +export const DATA_GRID_DEFAULT_COLUMNS = [SERVICE_NAME_FIELD, HOST_NAME_FIELD, MESSAGE_FIELD]; +export const DATA_GRID_COLUMNS_PREFERENCES = { + [HOST_NAME_FIELD]: { width: DATA_GRID_COLUMN_WIDTH_MEDIUM }, + [SERVICE_NAME_FIELD]: { width: DATA_GRID_COLUMN_WIDTH_SMALL }, +}; diff --git a/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts b/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts index f2e467f15afffd..1864a4a558dac4 100644 --- a/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts +++ b/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts @@ -7,9 +7,13 @@ import { InvokeCreator } from 'xstate'; import { pick, mapValues } from 'lodash'; import deepEqual from 'fast-deep-equal'; -import { DiscoverStateContainer } from '@kbn/discover-plugin/public'; +import { DiscoverAppState, DiscoverStateContainer } from '@kbn/discover-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; -import { MESSAGE_FIELD } from '../../../../common/constants'; +import { ROWS_HEIGHT_OPTIONS } from '@kbn/unified-data-table'; +import { + DATA_GRID_COLUMNS_PREFERENCES, + DATA_GRID_DEFAULT_COLUMNS, +} from '../../../../common/constants'; import { AllDatasetSelection, decodeDatasetSelectionId, @@ -178,14 +182,27 @@ export const updateStateContainer = LogExplorerProfileEvent > => async () => { - const { columns } = stateContainer.appState.getState(); + const { columns, grid, rowHeight } = stateContainer.appState.getState(); + const stateUpdates: DiscoverAppState = {}; + // Update data grid columns list const shouldSetDefaultColumns = stateContainer.appState.isEmptyURL() || !columns || columns.length === 0; - if (shouldSetDefaultColumns) { - stateContainer.appState.update({ columns: [MESSAGE_FIELD] }, true); + stateUpdates.columns = DATA_GRID_DEFAULT_COLUMNS; } + + // Configure DataGrid columns preferences + const initialColumnsPreferences = grid?.columns ?? {}; + stateUpdates.grid = { + columns: { ...DATA_GRID_COLUMNS_PREFERENCES, ...initialColumnsPreferences }, + }; + + // Configure rowHeight preference + stateUpdates.rowHeight = rowHeight ?? ROWS_HEIGHT_OPTIONS.single; + + // Finally batch update state app state + stateContainer.appState.update(stateUpdates, true); }; /** diff --git a/x-pack/plugins/log_explorer/tsconfig.json b/x-pack/plugins/log_explorer/tsconfig.json index 756f4bd6b156a2..9cfb1231609832 100644 --- a/x-pack/plugins/log_explorer/tsconfig.json +++ b/x-pack/plugins/log_explorer/tsconfig.json @@ -20,6 +20,7 @@ "@kbn/data-plugin", "@kbn/unified-field-list", "@kbn/core-application-browser", + "@kbn/unified-data-table", ], "exclude": ["target/**/*"] } diff --git a/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts b/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts index c61a2586522fd4..b8af643d828c7d 100644 --- a/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts +++ b/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts @@ -9,7 +9,7 @@ import rison from '@kbn/rison'; import querystring from 'querystring'; import { FtrProviderContext } from '../../ftr_provider_context'; -const defaultLogColumns = ['@timestamp', 'message']; +const defaultLogColumns = ['@timestamp', 'service.name', 'host.name', 'message']; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); @@ -44,7 +44,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.observabilityLogExplorer.navigateTo({ search: querystring.stringify({ _a: rison.encode({ - columns: ['message', 'data_stream.namespace'], + columns: ['service.name', 'host.name', 'message', 'data_stream.namespace'], }), }), }); diff --git a/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts b/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts index 0831bec27b7ed7..ee15563b7f2081 100644 --- a/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts +++ b/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts @@ -60,7 +60,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); await retry.try(async () => { - expect(await PageObjects.discover.getColumnHeaders()).to.eql(['@timestamp', 'message']); + expect(await PageObjects.discover.getColumnHeaders()).to.eql([ + '@timestamp', + 'service.name', + 'host.name', + 'message', + ]); }); await retry.try(async () => { diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts index 05edfb9a293504..955ef8d22055f3 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts @@ -9,7 +9,7 @@ import rison from '@kbn/rison'; import querystring from 'querystring'; import { FtrProviderContext } from '../../../ftr_provider_context'; -const defaultLogColumns = ['@timestamp', 'message']; +const defaultLogColumns = ['@timestamp', 'service.name', 'host.name', 'message']; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.observabilityLogExplorer.navigateTo({ search: querystring.stringify({ _a: rison.encode({ - columns: ['message', 'data_stream.namespace'], + columns: ['service.name', 'host.name', 'message', 'data_stream.namespace'], }), }), }); diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts index 65207e6e3aafc0..0b40780aace2bb 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts @@ -61,7 +61,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); await retry.try(async () => { - expect(await PageObjects.discover.getColumnHeaders()).to.eql(['@timestamp', 'message']); + expect(await PageObjects.discover.getColumnHeaders()).to.eql([ + '@timestamp', + 'service.name', + 'host.name', + 'message', + ]); }); await retry.try(async () => { From 11d88cd837b522eed8aafb16f6d2a9ce966259d4 Mon Sep 17 00:00:00 2001 From: jennypavlova Date: Tue, 12 Sep 2023 12:40:50 +0200 Subject: [PATCH 25/39] [Infra UI] Consistency in the popover styling (#166189) Closes #165960 ## Summary This PR sets all popups inside host view padding to size s (8px) ### Testing - Open the host view and check the popup size (should be 8px - size s): image - Open metadata and processes message popups - they should have the same padding size: - Metadata Tab image - Overview Tab image - Processes Tab image --- .../asset_details/components/metadata_explanation.tsx | 3 +-- .../asset_details/components/processes_explanation.tsx | 3 +-- .../public/components/asset_details/tabs/common/popover.tsx | 5 +---- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx b/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx index bdd77916db02f6..857dc493041c17 100644 --- a/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx @@ -21,7 +21,7 @@ const MetadataExplanationTooltipContent = React.memo(() => { }; return ( - + { iconSize="s" iconColor="subdued" icon="iInCircle" - panelPaddingSize="m" data-test-subj="infraAssetDetailsMetadataPopoverButton" > diff --git a/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx b/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx index 5f1af3f9f8a265..2cf339c2e36d80 100644 --- a/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx @@ -22,7 +22,7 @@ const ProcessesExplanationTooltipContent = React.memo(() => { }; return ( - +

    { iconSize="s" iconColor="subdued" icon="iInCircle" - panelPaddingSize="m" data-test-subj="infraAssetDetailsProcessesPopoverButton" > diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx index 823f330e742a74..cec9826d00cf73 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx @@ -5,7 +5,6 @@ * 2.0. */ -import { PanelPaddingSize } from '@elastic/eui'; import { EuiPopover, EuiIcon, type IconType, type IconColor, type IconSize } from '@elastic/eui'; import { css } from '@emotion/react'; import React from 'react'; @@ -16,20 +15,18 @@ export const Popover = ({ icon, iconColor, iconSize, - panelPaddingSize, ...props }: { children: React.ReactNode; icon: IconType; iconColor?: IconColor; iconSize?: IconSize; - panelPaddingSize?: PanelPaddingSize; 'data-test-subj'?: string; }) => { const [isPopoverOpen, { off: closePopover, toggle: togglePopover }] = useBoolean(false); return ( Date: Tue, 12 Sep 2023 13:17:36 +0200 Subject: [PATCH 26/39] [Cloud Security] remove nvd link generation logic from Kibana (#165330) ## Summary - fixes: https://github.com/elastic/security-team/issues/7490 The NVD generation logic will be happening on the `cloudbeat` side after https://github.com/elastic/cloudbeat/issues/869#top is done and https://github.com/elastic/cloudbeat/pull/1303 is merged, so we can remove the logic from Kibana and use what's in `vulnerability.reference` --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../utils/get_vulnerability_reference_url.ts | 17 ----------------- .../create_detection_rule_from_vulnerability.ts | 5 +---- .../vulnerability_finding_flyout.tsx | 3 +-- 3 files changed, 2 insertions(+), 23 deletions(-) delete mode 100644 x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts diff --git a/x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts b/x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts deleted file mode 100644 index b8c6adf2063a7d..00000000000000 --- a/x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { Vulnerability } from '../../../common/schemas'; - -export const getVulnerabilityReferenceUrl = (vulnerability: Vulnerability): string | undefined => { - const nvdDomain = 'https://nvd'; - const nvdWebsite = `${nvdDomain}.nist.gov/vuln/detail/${vulnerability?.id}`; - - const vulnerabilityReference = vulnerability?.cvss?.nvd ? nvdWebsite : vulnerability?.reference; - - return vulnerabilityReference; -}; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts index 4361bd981c308f..48341101d32b63 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/utils/create_detection_rule_from_vulnerability.ts @@ -7,7 +7,6 @@ import { HttpSetup } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; -import { getVulnerabilityReferenceUrl } from '../../../common/utils/get_vulnerability_reference_url'; import type { Vulnerability } from '../../../../common/schemas'; import { LATEST_VULNERABILITIES_RETENTION_POLICY, @@ -83,8 +82,6 @@ export const createDetectionRuleFromVulnerabilityFinding = async ( http: HttpSetup, vulnerability: Vulnerability ) => { - const referenceUrl = getVulnerabilityReferenceUrl(vulnerability); - return await createDetectionRule({ http, rule: { @@ -144,7 +141,7 @@ export const createDetectionRuleFromVulnerabilityFinding = async ( }, index: [VULNERABILITIES_INDEX_PATTERN], query: generateVulnerabilitiesRuleQuery(vulnerability), - references: referenceUrl ? [referenceUrl] : [], + references: vulnerability.reference ? [vulnerability.reference] : [], name: getVulnerabilityRuleName(vulnerability), description: vulnerability.description, tags: generateVulnerabilitiesTags(vulnerability), diff --git a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx index 5b26029968e5ab..ce5101bc571813 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx @@ -28,7 +28,6 @@ import { euiThemeVars } from '@kbn/ui-theme'; import { css } from '@emotion/react'; import { HttpSetup } from '@kbn/core-http-browser'; import { TakeAction } from '../../../components/take_action'; -import { getVulnerabilityReferenceUrl } from '../../../common/utils/get_vulnerability_reference_url'; import { truthy } from '../../../../common/utils/helpers'; import { CspInlineDescriptionList } from '../../../components/csp_inline_description_list'; import { VulnerabilityOverviewTab } from './vulnerability_overview_tab'; @@ -158,7 +157,7 @@ export const VulnerabilityFindingFlyout = ({ { defaultMessage: 'Loading' } ); - const vulnerabilityReference = getVulnerabilityReferenceUrl(vulnerabilityRecord.vulnerability); + const vulnerabilityReference = vulnerability?.reference; const createVulnerabilityRuleFn = async (http: HttpSetup) => await createDetectionRuleFromVulnerabilityFinding(http, vulnerabilityRecord.vulnerability); From b796f1336414c9d03ba7e7bfa1afcca5685c6b12 Mon Sep 17 00:00:00 2001 From: Marco Liberati Date: Tue, 12 Sep 2023 13:23:50 +0200 Subject: [PATCH 27/39] [Lens] Add support for decimals in percentiles (#165703) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Fixes #98853 This PR adds support for decimals (2 digits) in percentile operation. ![percentile_decimals_support](https://github.com/elastic/kibana/assets/924948/cd0d2901-ba6f-452e-955c-f9d774a4e27f) Features: * :sparkles: Add decimals support in percentile * :bug: Fixed aggs optimization to work with decimals * :lipstick: Show Toast for ranking reset when using decimals in both percentile and percentile rank * ✅ Extended `isValidNumber` to support digits check and added unit tests for it * ♻️ Added support also to `convert to Lens` feature Added both unit and functional tests. ![percentile_rank_toast](https://github.com/elastic/kibana/assets/924948/a9be1f9f-a1b1-4f9f-90dc-55e2af8933e1) When trying to add more digits than what is supported then it will show the input as invalid: Screenshot 2023-09-05 at 12 24 03 Also it works now as custom ranking column: Screenshot 2023-09-05 at 16 14 25 Screenshot 2023-09-05 at 16 14 20 **Notes**: need to specify exact digits in percentile (2) because the `any` step is not supported and need to specify a number. I guess alternatives here are to either extend it to 4 digits or make it a configurable thing. ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Stratoula Kalafateli --- .../components/controls/percentiles.tsx | 1 + .../lib/convert/percentile.test.ts | 14 +- .../convert_to_lens/lib/convert/percentile.ts | 4 +- .../lib/metrics/formula.test.ts | 20 ++- .../convert_to_lens/lib/metrics/formula.ts | 3 +- .../common/convert_to_lens/lib/utils.ts | 14 ++ .../public/convert_to_lens/schemas.test.ts | 10 +- .../public/convert_to_lens/schemas.ts | 10 +- .../page_objects/visualize_editor_page.ts | 11 ++ .../dimension_panel/dimension_editor.tsx | 38 +++- .../dimensions_editor_helpers.tsx | 58 ++++++- .../operations/definitions/helpers.test.ts | 75 +++++++- .../operations/definitions/helpers.tsx | 11 +- .../definitions/percentile.test.tsx | 39 ++++- .../operations/definitions/percentile.tsx | 68 ++++++-- .../operations/definitions/terms/helpers.ts | 20 ++- .../operations/definitions/terms/index.tsx | 7 +- .../datasources/form_based/to_expression.ts | 14 +- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - .../apps/lens/group1/smokescreen.ts | 31 ++++ .../test/functional/apps/lens/group3/terms.ts | 164 ++++++++++++------ .../apps/lens/open_in_lens/agg_based/xy.ts | 12 ++ .../test/functional/page_objects/lens_page.ts | 2 +- 25 files changed, 521 insertions(+), 108 deletions(-) diff --git a/src/plugins/vis_default_editor/public/components/controls/percentiles.tsx b/src/plugins/vis_default_editor/public/components/controls/percentiles.tsx index 839d97c51228da..85bf77567c1cde 100644 --- a/src/plugins/vis_default_editor/public/components/controls/percentiles.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/percentiles.tsx @@ -42,6 +42,7 @@ function PercentilesEditor({ id={`visEditorPercentileLabel${agg.id}`} isInvalid={showValidation ? !isValid : false} display="rowCompressed" + data-test-subj="visEditorPercentile" > ({ - getFieldNameFromField: jest.fn(() => mockGetFieldNameFromField()), - getLabel: jest.fn(() => mockGetLabel()), - getLabelForPercentile: jest.fn(() => mockGetLabelForPercentile()), -})); +jest.mock('../utils', () => { + const utils = jest.requireActual('../utils'); + return { + ...utils, + getFieldNameFromField: jest.fn(() => mockGetFieldNameFromField()), + getLabel: jest.fn(() => mockGetLabel()), + getLabelForPercentile: jest.fn(() => mockGetLabelForPercentile()), + }; +}); describe('convertToPercentileColumn', () => { const visType = 'heatmap'; diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts b/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts index 9989db1c5dda7b..43229a610b0413 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts @@ -9,7 +9,7 @@ import { METRIC_TYPES } from '@kbn/data-plugin/common'; import { SchemaConfig } from '../../..'; import { isFieldValid, PercentileParams } from '../..'; -import { getFieldNameFromField, getLabelForPercentile } from '../utils'; +import { getAggIdAndValue, getFieldNameFromField, getLabelForPercentile } from '../utils'; import { createColumn, getFormat } from './column'; import { PercentileColumn, CommonColumnConverterArgs } from './types'; import { SUPPORTED_METRICS } from './supported_metrics'; @@ -40,7 +40,7 @@ const getPercent = ( const { percents } = aggParams; - const [, percentStr] = aggId.split('.'); + const [, percentStr] = getAggIdAndValue(aggId); const percent = Number(percentStr); if (!percents || !percents.length || percentStr === '' || isNaN(percent)) { diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts index 72cd07ba03f7c8..2c36925b74d3b3 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts @@ -19,14 +19,18 @@ const mockIsStdDevAgg = jest.fn(); const mockGetFieldByName = jest.fn(); const originalGetFieldByName = stubLogstashDataView.getFieldByName; -jest.mock('../utils', () => ({ - getFieldNameFromField: jest.fn((field) => field), - getMetricFromParentPipelineAgg: jest.fn(() => mockGetMetricFromParentPipelineAgg()), - isPercentileAgg: jest.fn(() => mockIsPercentileAgg()), - isPercentileRankAgg: jest.fn(() => mockIsPercentileRankAgg()), - isPipeline: jest.fn(() => mockIsPipeline()), - isStdDevAgg: jest.fn(() => mockIsStdDevAgg()), -})); +jest.mock('../utils', () => { + const utils = jest.requireActual('../utils'); + return { + ...utils, + getFieldNameFromField: jest.fn((field) => field), + getMetricFromParentPipelineAgg: jest.fn(() => mockGetMetricFromParentPipelineAgg()), + isPercentileAgg: jest.fn(() => mockIsPercentileAgg()), + isPercentileRankAgg: jest.fn(() => mockIsPercentileRankAgg()), + isPipeline: jest.fn(() => mockIsPipeline()), + isStdDevAgg: jest.fn(() => mockIsStdDevAgg()), + }; +}); const dataView = stubLogstashDataView; const visType = 'heatmap'; diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts index 4492cd58ac2308..c2e30425e9488a 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts @@ -12,6 +12,7 @@ import { Operations } from '../../constants'; import { isMetricWithField, getStdDeviationFormula, ExtendedColumnConverterArgs } from '../convert'; import { getFormulaFromMetric, SUPPORTED_METRICS } from '../convert/supported_metrics'; import { + getAggIdAndValue, getFieldNameFromField, getMetricFromParentPipelineAgg, isPercentileAgg, @@ -125,7 +126,7 @@ const getFormulaForPercentile = ( selector: string, reducedTimeRange?: string ) => { - const percentile = Number(agg.aggId?.split('.')[1]); + const percentile = Number(getAggIdAndValue(agg.aggId)[1]); const op = SUPPORTED_METRICS[agg.aggType]; if (!isValidAgg(visType, agg, dataView) || !op) { return null; diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts b/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts index ce50312d92cf35..e323b2169f519a 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts @@ -199,3 +199,17 @@ export const getMetricFromParentPipelineAgg = ( return metric as SchemaConfig; }; + +const aggIdWithDecimalsRegexp = /^(\w)+\['([0-9]+\.[0-9]+)'\]$/; + +export const getAggIdAndValue = (aggId?: string) => { + if (!aggId) { + return []; + } + // agg value contains decimals + if (/\['/.test(aggId)) { + const [_, id, value] = aggId.match(aggIdWithDecimalsRegexp) || []; + return [id, value]; + } + return aggId.split('.'); +}; diff --git a/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts b/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts index aa338db367988e..9b4f9d718804ce 100644 --- a/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts +++ b/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts @@ -40,9 +40,13 @@ jest.mock('../../common/convert_to_lens/lib/buckets', () => ({ convertBucketToColumns: jest.fn(() => mockConvertBucketToColumns()), })); -jest.mock('../../common/convert_to_lens/lib/utils', () => ({ - getCustomBucketsFromSiblingAggs: jest.fn(() => mockGetCutomBucketsFromSiblingAggs()), -})); +jest.mock('../../common/convert_to_lens/lib/utils', () => { + const utils = jest.requireActual('../../common/convert_to_lens/lib/utils'); + return { + ...utils, + getCustomBucketsFromSiblingAggs: jest.fn(() => mockGetCutomBucketsFromSiblingAggs()), + }; +}); jest.mock('../vis_schemas', () => ({ getVisSchemas: jest.fn(() => mockGetVisSchemas()), diff --git a/src/plugins/visualizations/public/convert_to_lens/schemas.ts b/src/plugins/visualizations/public/convert_to_lens/schemas.ts index 1b44f7cdffda14..886be04bb654ac 100644 --- a/src/plugins/visualizations/public/convert_to_lens/schemas.ts +++ b/src/plugins/visualizations/public/convert_to_lens/schemas.ts @@ -10,7 +10,10 @@ import type { DataView } from '@kbn/data-views-plugin/common'; import { IAggConfig, METRIC_TYPES, TimefilterContract } from '@kbn/data-plugin/public'; import { AggBasedColumn, PercentageModeConfig, SchemaConfig } from '../../common'; import { convertMetricToColumns } from '../../common/convert_to_lens/lib/metrics'; -import { getCustomBucketsFromSiblingAggs } from '../../common/convert_to_lens/lib/utils'; +import { + getAggIdAndValue, + getCustomBucketsFromSiblingAggs, +} from '../../common/convert_to_lens/lib/utils'; import { BucketColumn } from '../../common/convert_to_lens/lib'; import type { Vis } from '../types'; import { getVisSchemas, Schemas } from '../vis_schemas'; @@ -178,11 +181,12 @@ export const getColumnsFromVis = ( if (series && series.length) { for (const { metrics: metricAggIds } of series) { + const metricAggIdsLookup = new Set(metricAggIds); const metrics = aggs.filter( - (agg) => agg.aggId && metricAggIds.includes(agg.aggId.split('.')[0]) + (agg) => agg.aggId && metricAggIdsLookup.has(getAggIdAndValue(agg.aggId)[0]) ); const customBucketsForLayer = customBucketsWithMetricIds.filter((c) => - c.metricIds.some((m) => metricAggIds.includes(m)) + c.metricIds.some((m) => metricAggIdsLookup.has(m)) ); const layer = createLayer( vis.type.name, diff --git a/test/functional/page_objects/visualize_editor_page.ts b/test/functional/page_objects/visualize_editor_page.ts index e85f560fec909d..f6f4f121ad11aa 100644 --- a/test/functional/page_objects/visualize_editor_page.ts +++ b/test/functional/page_objects/visualize_editor_page.ts @@ -211,10 +211,21 @@ export class VisualizeEditorPageObject extends FtrService { const input = await this.find.byCssSelector( '[data-test-subj="visEditorPercentileRanks"] input' ); + this.log.debug(`Setting percentile rank value of ${newValue}`); await input.clearValue(); await input.type(newValue); } + public async setPercentileValue(newValue: string, index: number = 0) { + const correctIndex = index * 2 + 1; + const input = await this.find.byCssSelector( + `[data-test-subj="visEditorPercentile"]>div:nth-child(2)>div:nth-child(${correctIndex}) input` + ); + this.log.debug(`Setting percentile value at ${index}th input of ${newValue}`); + await input.clearValueWithKeyboard(); + await input.type(newValue, { charByChar: true }); + } + public async clickEditorSidebarCollapse() { await this.testSubjects.click('collapseSideBarButton'); } diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx index 6cb2e1c7c80424..e64f951722ae99 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx @@ -66,6 +66,7 @@ import { DimensionEditorButtonGroups, CalloutWarning, DimensionEditorGroupsOptions, + isLayerChangingDueToDecimalsPercentile, } from './dimensions_editor_helpers'; import type { TemporaryState } from './dimensions_editor_helpers'; import { FieldInput } from './field_input'; @@ -124,11 +125,14 @@ export function DimensionEditor(props: DimensionEditorProps) { const [temporaryState, setTemporaryState] = useState('none'); const [isHelpOpen, setIsHelpOpen] = useState(false); + // If a layer has sampling disabled, assume the toast has already fired in the past const [hasRandomSamplingToastFired, setSamplingToastAsFired] = useState( !isSamplingValueEnabled(state.layers[layerId]) ); + const [hasRankingToastFired, setRankingToastAsFired] = useState(false); + const onHelpClick = () => setIsHelpOpen((prevIsHelpOpen) => !prevIsHelpOpen); const closeHelp = () => setIsHelpOpen(false); @@ -163,6 +167,32 @@ export function DimensionEditor(props: DimensionEditorProps) { [hasRandomSamplingToastFired, layerId, props.notifications.toasts, state.layers] ); + const fireOrResetRankingToast = useCallback( + (newLayer: FormBasedLayer) => { + if (isLayerChangingDueToDecimalsPercentile(state.layers[layerId], newLayer)) { + props.notifications.toasts.add({ + title: i18n.translate('xpack.lens.uiInfo.rankingResetTitle', { + defaultMessage: 'Ranking changed to alphabetical', + }), + text: i18n.translate('xpack.lens.uiInfo.rankingResetToAlphabetical', { + defaultMessage: 'To rank by percentile, use whole numbers only.', + }), + }); + } + // reset the flag if the user switches to another supported operation + setRankingToastAsFired(!hasRankingToastFired); + }, + [hasRankingToastFired, layerId, props.notifications.toasts, state.layers] + ); + + const fireOrResetToastChecks = useCallback( + (newLayer: FormBasedLayer) => { + fireOrResetRandomSamplingToast(newLayer); + fireOrResetRankingToast(newLayer); + }, + [fireOrResetRandomSamplingToast, fireOrResetRankingToast] + ); + const setStateWrapper = useCallback( ( setter: @@ -203,7 +233,7 @@ export function DimensionEditor(props: DimensionEditorProps) { } const newLayer = adjustColumnReferencesForChangedColumn(outputLayer, columnId); // Fire an info toast (eventually) on layer update - fireOrResetRandomSamplingToast(newLayer); + fireOrResetToastChecks(newLayer); return mergeLayer({ state: prevState, @@ -217,7 +247,7 @@ export function DimensionEditor(props: DimensionEditorProps) { } ); }, - [columnId, fireOrResetRandomSamplingToast, layerId, setState, state.layers] + [columnId, fireOrResetToastChecks, layerId, setState, state.layers] ); const incompleteInfo = (state.layers[layerId].incompleteColumns ?? {})[columnId]; @@ -811,7 +841,7 @@ export function DimensionEditor(props: DimensionEditorProps) { field, visualizationGroups: dimensionGroups, }); - fireOrResetRandomSamplingToast(newLayer); + fireOrResetToastChecks(newLayer); updateLayer(newLayer); }} onChooseField={(choice: FieldChoiceWithOperationType) => { @@ -846,7 +876,7 @@ export function DimensionEditor(props: DimensionEditorProps) { } else { newLayer = setter; } - fireOrResetRandomSamplingToast(newLayer); + fireOrResetToastChecks(newLayer); return updateLayer(adjustColumnReferencesForChangedColumn(newLayer, referenceId)); }} validation={validation} diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx index dc02232664ef60..9f2958c581688b 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx @@ -16,15 +16,71 @@ import './dimension_editor.scss'; import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiCallOut, EuiButtonGroup, EuiFormRow } from '@elastic/eui'; -import { operationDefinitionMap } from '../operations'; +import { nonNullable } from '../../../utils'; +import { + operationDefinitionMap, + type PercentileIndexPatternColumn, + type PercentileRanksIndexPatternColumn, + type TermsIndexPatternColumn, +} from '../operations'; +import { isColumnOfType } from '../operations/definitions/helpers'; +import { FormBasedLayer } from '../types'; export const formulaOperationName = 'formula'; export const staticValueOperationName = 'static_value'; export const quickFunctionsName = 'quickFunctions'; +export const termsOperationName = 'terms'; +export const optionallySortableOperationNames = ['percentile', 'percentile_ranks']; export const nonQuickFunctions = new Set([formulaOperationName, staticValueOperationName]); export type TemporaryState = typeof quickFunctionsName | typeof staticValueOperationName | 'none'; +export function isLayerChangingDueToDecimalsPercentile( + prevLayer: FormBasedLayer, + newLayer: FormBasedLayer +) { + // step 1: find the ranking column in prevState and return its value + const termsRiskyColumns = Object.entries(prevLayer.columns) + .map(([id, column]) => { + if ( + isColumnOfType('terms', column) && + column.params?.orderBy.type === 'column' && + column.params.orderBy.columnId != null + ) { + const rankingColumn = prevLayer.columns[column.params.orderBy.columnId]; + if (isColumnOfType('percentile', rankingColumn)) { + if (Number.isInteger(rankingColumn.params.percentile)) { + return { id, rankId: column.params.orderBy.columnId }; + } + } + if (isColumnOfType('percentile_rank', rankingColumn)) { + if (Number.isInteger(rankingColumn.params.value)) { + return { id, rankId: column.params.orderBy.columnId }; + } + } + } + }) + .filter(nonNullable); + // now check again the terms risky column in the new layer and verify that at + // least one changed due to decimals + const hasChangedDueToDecimals = termsRiskyColumns.some(({ id, rankId }) => { + const termsColumn = newLayer.columns[id]; + if (!isColumnOfType('terms', termsColumn)) { + return false; + } + if (termsColumn.params.orderBy.type === 'alphabetical') { + const rankingColumn = newLayer.columns[rankId]; + if (isColumnOfType('percentile', rankingColumn)) { + return !Number.isInteger(rankingColumn.params.percentile); + } + if (isColumnOfType('percentile_rank', rankingColumn)) { + return !Number.isInteger(rankingColumn.params.value); + } + } + }); + return hasChangedDueToDecimals; +} + export function isQuickFunction(operationType: string) { return !nonQuickFunctions.has(operationType); } diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts index 8424ea92ae931a..560c1e26c59aef 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts @@ -8,7 +8,7 @@ import { createMockedIndexPattern } from '../../mocks'; import type { FormBasedLayer } from '../../types'; import type { GenericIndexPatternColumn } from './column_types'; -import { getInvalidFieldMessage } from './helpers'; +import { getInvalidFieldMessage, isValidNumber } from './helpers'; import type { TermsIndexPatternColumn } from './terms'; describe('helpers', () => { @@ -248,4 +248,77 @@ describe('helpers', () => { expect(messages).toBeUndefined(); }); }); + + describe('isValidNumber', () => { + it('should work for integers', () => { + const number = 99; + for (const value of [number, `${number}`]) { + expect(isValidNumber(value)).toBeTruthy(); + expect(isValidNumber(value, true)).toBeTruthy(); + expect(isValidNumber(value, false)).toBeTruthy(); + expect(isValidNumber(value, true, number, 1)).toBeTruthy(); + expect(isValidNumber(value, true, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 2)).toBeTruthy(); + expect(isValidNumber(value, false, number - 1, number - 2)).toBeFalsy(); + } + }); + + it('should work correctly for numeric falsy values', () => { + expect(isValidNumber(0)).toBeTruthy(); + expect(isValidNumber(0, true)).toBeTruthy(); + expect(isValidNumber(0, false)).toBeTruthy(); + expect(isValidNumber(0, true, 1, 0)).toBeTruthy(); + }); + + it('should work for decimals', () => { + const number = 99.9; + for (const value of [number, `${number}`]) { + expect(isValidNumber(value)).toBeTruthy(); + expect(isValidNumber(value, true)).toBeFalsy(); + expect(isValidNumber(value, false)).toBeTruthy(); + expect(isValidNumber(value, true, number, 1)).toBeFalsy(); + expect(isValidNumber(value, true, number + 1, number)).toBeFalsy(); + expect(isValidNumber(value, false, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 0)).toBeFalsy(); + expect(isValidNumber(value, false, number + 1, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 2)).toBeTruthy(); + expect(isValidNumber(value, false, number - 1, number - 2)).toBeFalsy(); + } + }); + + it('should work for negative values', () => { + const number = -10.1; + for (const value of [number, `${number}`]) { + expect(isValidNumber(value)).toBeTruthy(); + expect(isValidNumber(value, true)).toBeFalsy(); + expect(isValidNumber(value, false)).toBeTruthy(); + expect(isValidNumber(value, true, number, -20)).toBeFalsy(); + expect(isValidNumber(value, true, number + 1, number)).toBeFalsy(); + expect(isValidNumber(value, false, number, -20)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 0)).toBeFalsy(); + expect(isValidNumber(value, false, number + 1, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 2)).toBeTruthy(); + expect(isValidNumber(value, false, number - 1, number - 2)).toBeFalsy(); + } + }); + + it('should spot invalid values', () => { + for (const value of [NaN, ``, undefined, null, Infinity, -Infinity]) { + expect(isValidNumber(value)).toBeFalsy(); + expect(isValidNumber(value, true)).toBeFalsy(); + expect(isValidNumber(value, false)).toBeFalsy(); + expect(isValidNumber(value, true, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, true, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1, 0)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1, 2)).toBeFalsy(); + } + }); + }); }); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx index 6dabd0dc07556f..11a4e16a39f444 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx @@ -138,11 +138,17 @@ export function getSafeName(name: string, indexPattern: IndexPattern | undefined }); } +function areDecimalsValid(inputValue: string | number, digits: number) { + const [, decimals = ''] = `${inputValue}`.split('.'); + return decimals.length <= digits; +} + export function isValidNumber( inputValue: string | number | null | undefined, integer?: boolean, upperBound?: number, - lowerBound?: number + lowerBound?: number, + digits: number = 2 ) { const inputValueAsNumber = Number(inputValue); return ( @@ -152,7 +158,8 @@ export function isValidNumber( Number.isFinite(inputValueAsNumber) && (!integer || Number.isInteger(inputValueAsNumber)) && (upperBound === undefined || inputValueAsNumber <= upperBound) && - (lowerBound === undefined || inputValueAsNumber >= lowerBound) + (lowerBound === undefined || inputValueAsNumber >= lowerBound) && + areDecimalsValid(inputValue, integer ? 0 : digits) ); } diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx index 71dc142742af29..3e999269c6d826 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx @@ -654,7 +654,7 @@ describe('percentile', () => { }); }); - it('should not update on invalid input, but show invalid value locally', () => { + it('should update on decimals input up to 2 digits', () => { const updateLayerSpy = jest.fn(); const instance = mount( { instance.update(); + expect(updateLayerSpy).toHaveBeenCalled(); + + expect( + instance + .find('[data-test-subj="lns-indexPattern-percentile-input"]') + .find(EuiRange) + .prop('value') + ).toEqual('12.12'); + }); + + it('should not update on invalid input, but show invalid value locally', () => { + const updateLayerSpy = jest.fn(); + const instance = mount( + + ); + + const input = instance + .find('[data-test-subj="lns-indexPattern-percentile-input"]') + .find(EuiRange); + + act(() => { + input.prop('onChange')!( + { currentTarget: { value: '12.1212312312312312' } } as ChangeEvent, + true + ); + }); + + instance.update(); + expect(updateLayerSpy).not.toHaveBeenCalled(); expect( @@ -692,7 +727,7 @@ describe('percentile', () => { .find('[data-test-subj="lns-indexPattern-percentile-input"]') .find(EuiRange) .prop('value') - ).toEqual('12.12'); + ).toEqual('12.1212312312312312'); }); }); }); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx index 1b98b7bc9b2aef..20e3083a8e717d 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx @@ -67,6 +67,40 @@ function ofName( } const DEFAULT_PERCENTILE_VALUE = 95; +const ALLOWED_DECIMAL_DIGITS = 4; + +function getInvalidErrorMessage( + value: string | undefined, + isInline: boolean | undefined, + max: number, + min: number +) { + if ( + !isInline && + isValidNumber( + value, + false, + max, + min, + 15 // max supported digits in JS + ) + ) { + return i18n.translate('xpack.lens.indexPattern.percentile.errorMessageTooManyDigits', { + defaultMessage: 'Only {digits} numbers allowed after the decimal point.', + values: { + digits: ALLOWED_DECIMAL_DIGITS, + }, + }); + } + + return i18n.translate('xpack.lens.indexPattern.percentile.errorMessage', { + defaultMessage: 'Percentile has to be an integer between {min} and {max}', + values: { + min, + max, + }, + }); +} const supportedFieldTypes = ['number', 'histogram']; @@ -309,10 +343,13 @@ export const percentileOperation: OperationDefinition< i18n.translate('xpack.lens.indexPattern.percentile.percentileValue', { defaultMessage: 'Percentile', }); + + const step = isInline ? 1 : 0.0001; + const upperBound = isInline ? 99 : 99.9999; const onChange = useCallback( (value) => { if ( - !isValidNumber(value, true, 99, 1) || + !isValidNumber(value, isInline, upperBound, step, ALLOWED_DECIMAL_DIGITS) || Number(value) === currentColumn.params.percentile ) { return; @@ -334,7 +371,7 @@ export const percentileOperation: OperationDefinition< }, } as PercentileIndexPatternColumn); }, - [paramEditorUpdater, currentColumn, indexPattern] + [isInline, upperBound, step, currentColumn, paramEditorUpdater, indexPattern] ); const { inputValue, handleInputChange: handleInputChangeWithoutValidation } = useDebouncedValue< string | undefined @@ -342,7 +379,13 @@ export const percentileOperation: OperationDefinition< onChange, value: String(currentColumn.params.percentile), }); - const inputValueIsValid = isValidNumber(inputValue, true, 99, 1); + const inputValueIsValid = isValidNumber( + inputValue, + isInline, + upperBound, + step, + ALLOWED_DECIMAL_DIGITS + ); const handleInputChange = useCallback( (e) => handleInputChangeWithoutValidation(String(e.currentTarget.value)), @@ -357,12 +400,7 @@ export const percentileOperation: OperationDefinition< display="rowCompressed" fullWidth isInvalid={!inputValueIsValid} - error={ - !inputValueIsValid && - i18n.translate('xpack.lens.indexPattern.percentile.errorMessage', { - defaultMessage: 'Percentile has to be an integer between 1 and 99', - }) - } + error={!inputValueIsValid && getInvalidErrorMessage(inputValue, isInline, upperBound, step)} > {isInline ? ( @@ -382,9 +420,9 @@ export const percentileOperation: OperationDefinition< data-test-subj="lns-indexPattern-percentile-input" compressed value={inputValue ?? ''} - min={1} - max={99} - step={1} + min={step} + max={upperBound} + step={step} onChange={handleInputChange} showInput aria-label={percentileLabel} diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts index d51bff3c21a66b..4f3e6c2217eb3d 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts @@ -22,6 +22,7 @@ import type { FiltersIndexPatternColumn } from '..'; import type { TermsIndexPatternColumn } from './types'; import type { LastValueIndexPatternColumn } from '../last_value'; import type { PercentileRanksIndexPatternColumn } from '../percentile_ranks'; +import type { PercentileIndexPatternColumn } from '../percentile'; import type { FormBasedLayer } from '../../../types'; import { MULTI_KEY_VISUAL_SEPARATOR, supportedTypes } from './constants'; @@ -231,13 +232,21 @@ function checkLastValue(column: GenericIndexPatternColumn) { ); } +// allow the rank by metric only if the percentile rank value is integer +// https://github.com/elastic/elasticsearch/issues/66677 + +export function isPercentileSortable(column: GenericIndexPatternColumn) { + const isPercentileColumn = isColumnOfType('percentile', column); + return !isPercentileColumn || (isPercentileColumn && Number.isInteger(column.params.percentile)); +} + export function isPercentileRankSortable(column: GenericIndexPatternColumn) { - // allow the rank by metric only if the percentile rank value is integer - // https://github.com/elastic/elasticsearch/issues/66677 + const isPercentileRankColumn = isColumnOfType( + 'percentile_rank', + column + ); return ( - column.operationType !== 'percentile_rank' || - (column.operationType === 'percentile_rank' && - Number.isInteger((column as PercentileRanksIndexPatternColumn).params.value)) + !isPercentileRankColumn || (isPercentileRankColumn && Number.isInteger(column.params.value)) ); } @@ -248,6 +257,7 @@ export function isSortableByColumn(layer: FormBasedLayer, columnId: string) { !column.isBucketed && checkLastValue(column) && isPercentileRankSortable(column) && + isPercentileSortable(column) && !('references' in column) && !isReferenced(layer, columnId) ); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx index 4aafe38ea39eee..4b8b5c23da6d19 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx @@ -45,6 +45,7 @@ import { getFieldsByValidationState, isSortableByColumn, isPercentileRankSortable, + isPercentileSortable, } from './helpers'; import { DEFAULT_MAX_DOC_COUNT, @@ -310,7 +311,11 @@ export const termsOperation: OperationDefinition< const orderColumn = layer.columns[column.params.orderBy.columnId]; orderBy = String(orderedColumnIds.indexOf(column.params.orderBy.columnId)); // percentile rank with non integer value should default to alphabetical order - if (!orderColumn || !isPercentileRankSortable(orderColumn)) { + if ( + !orderColumn || + !isPercentileRankSortable(orderColumn) || + !isPercentileSortable(orderColumn) + ) { orderBy = '_key'; } } diff --git a/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts b/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts index 33bec4c23a1bf6..6c216e52a2c331 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts @@ -47,11 +47,21 @@ declare global { // esAggs column ID manipulation functions export const extractAggId = (id: string) => id.split('.')[0].split('-')[2]; +// Need a more complex logic for decimals percentiles +function getAggIdPostFixForPercentile(percentile: string, decimals?: string) { + if (!percentile && !decimals) { + return ''; + } + if (!decimals) { + return `.${percentile}`; + } + return `['${percentile}.${decimals}']`; +} const updatePositionIndex = (currentId: string, newIndex: number) => { - const [fullId, percentile] = currentId.split('.'); + const [fullId, percentile, percentileDecimals] = currentId.split('.'); const idParts = fullId.split('-'); idParts[1] = String(newIndex); - return idParts.join('-') + (percentile ? `.${percentile}` : ''); + return idParts.join('-') + getAggIdPostFixForPercentile(percentile, percentileDecimals); }; function getExpressionForLayer( diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 2f8a2bad9d57b4..0ab39bd6ce4d2f 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -21050,7 +21050,6 @@ "xpack.lens.indexPattern.percentFormatLabel": "Pourcent", "xpack.lens.indexPattern.percentile": "Centile", "xpack.lens.indexPattern.percentile.documentation.quick": "\n La plus grande valeur qui est inférieure à n pour cent des valeurs présentes dans tous les documents.\n ", - "xpack.lens.indexPattern.percentile.errorMessage": "Le centile doit être un entier compris entre 1 et 99", "xpack.lens.indexPattern.percentile.percentileRanksValue": "Valeur des rangs centiles", "xpack.lens.indexPattern.percentile.percentileValue": "Centile", "xpack.lens.indexPattern.percentile.signature": "champ : chaîne, [percentile] : nombre", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index f9656c11788069..2c138f95319447 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -21065,7 +21065,6 @@ "xpack.lens.indexPattern.percentFormatLabel": "割合(%)", "xpack.lens.indexPattern.percentile": "パーセンタイル", "xpack.lens.indexPattern.percentile.documentation.quick": "\n すべてのドキュメントで発生する値のnパーセントよりも小さい最大値。\n ", - "xpack.lens.indexPattern.percentile.errorMessage": "パーセンタイルは1~99の範囲の整数でなければなりません。", "xpack.lens.indexPattern.percentile.percentileRanksValue": "パーセンタイル順位値", "xpack.lens.indexPattern.percentile.percentileValue": "パーセンタイル", "xpack.lens.indexPattern.percentile.signature": "フィールド:文字列、[percentile]:数値", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 3d1ae2ad2bcca9..4b32fb1565140c 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -21065,7 +21065,6 @@ "xpack.lens.indexPattern.percentFormatLabel": "百分比", "xpack.lens.indexPattern.percentile": "百分位数", "xpack.lens.indexPattern.percentile.documentation.quick": "\n 小于所有文档中出现值的 n% 的最大值。\n ", - "xpack.lens.indexPattern.percentile.errorMessage": "百分位数必须是介于 1 到 99 之间的整数", "xpack.lens.indexPattern.percentile.percentileRanksValue": "百分位等级值", "xpack.lens.indexPattern.percentile.percentileValue": "百分位数", "xpack.lens.indexPattern.percentile.signature": "field: string, [percentile]: number", diff --git a/x-pack/test/functional/apps/lens/group1/smokescreen.ts b/x-pack/test/functional/apps/lens/group1/smokescreen.ts index dbd734348ba7d0..4f167992a7e032 100644 --- a/x-pack/test/functional/apps/lens/group1/smokescreen.ts +++ b/x-pack/test/functional/apps/lens/group1/smokescreen.ts @@ -761,5 +761,36 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const hasVisualOptionsButton = await PageObjects.lens.hasVisualOptionsButton(); expect(hasVisualOptionsButton).to.be(false); }); + + it('should correctly optimize multiple percentile metrics', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + for (const percentileValue of [90, 95.5, 99.9]) { + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'percentile', + field: 'bytes', + keepOpen: true, + }); + + await retry.try(async () => { + const value = `${percentileValue}`; + // Can not use testSubjects because data-test-subj is placed range input and number input + const percentileInput = await PageObjects.lens.getNumericFieldReady( + 'lns-indexPattern-percentile-input' + ); + await percentileInput.type(value); + + const attrValue = await percentileInput.getAttribute('value'); + if (attrValue !== value) { + throw new Error(`layerPanelTopHitsSize not set to ${value}`); + } + }); + + await PageObjects.lens.closeDimensionEditor(); + } + await PageObjects.lens.waitForVisualization('xyVisChart'); + expect(await PageObjects.lens.getWorkspaceErrorCount()).to.eql(0); + }); }); } diff --git a/x-pack/test/functional/apps/lens/group3/terms.ts b/x-pack/test/functional/apps/lens/group3/terms.ts index f93df80d52589e..13b8492371405d 100644 --- a/x-pack/test/functional/apps/lens/group3/terms.ts +++ b/x-pack/test/functional/apps/lens/group3/terms.ts @@ -96,62 +96,128 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.lens.closeDimensionEditor(); }); }); - describe('sorting by custom metric', () => { - it('should allow sort by custom metric', async () => { - await PageObjects.visualize.navigateToNewVisualization(); - await PageObjects.visualize.clickVisType('lens'); - await elasticChart.setNewChartUiDebugFlag(true); - await PageObjects.lens.goToTimeRange(); - - await PageObjects.lens.configureDimension({ - dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', - operation: 'average', - field: 'bytes', - }); + describe('rank by', () => { + describe('reset rank on metric change', () => { + it('should reset the ranking when using decimals on percentile', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'terms', + field: 'geo.src', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'percentile', + field: 'bytes', + keepOpen: true, + }); + + await retry.try(async () => { + const value = '60.5'; + // Can not use testSubjects because data-test-subj is placed range input and number input + const percentileInput = await PageObjects.lens.getNumericFieldReady( + 'lns-indexPattern-percentile-input' + ); + await percentileInput.clearValueWithKeyboard(); + await percentileInput.type(value); + + const percentileValue = await percentileInput.getAttribute('value'); + if (percentileValue !== value) { + throw new Error( + `[date-test-subj="lns-indexPattern-percentile-input"] not set to ${value}` + ); + } + }); + + // close the toast about reset ranking + // note: this has also the side effect to close the dimension editor + await testSubjects.click('toastCloseButton'); + + await PageObjects.lens.openDimensionEditor( + 'lnsXY_yDimensionPanel > lns-dimensionTrigger' + ); - await PageObjects.lens.configureDimension({ - dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', - operation: 'terms', - field: 'geo.src', - keepOpen: true, + await PageObjects.lens.selectOperation('percentile_rank'); + + await retry.try(async () => { + const value = '600.5'; + const percentileRankInput = await testSubjects.find( + 'lns-indexPattern-percentile_ranks-input' + ); + await percentileRankInput.clearValueWithKeyboard(); + await percentileRankInput.type(value); + + const percentileRankValue = await percentileRankInput.getAttribute('value'); + if (percentileRankValue !== value) { + throw new Error( + `[date-test-subj="lns-indexPattern-percentile_ranks-input"] not set to ${value}` + ); + } + }); + // note: this has also the side effect to close the dimension editor + await testSubjects.click('toastCloseButton'); }); - await find.clickByCssSelector( - 'select[data-test-subj="indexPattern-terms-orderBy"] > option[value="custom"]' - ); - - const fnTarget = await testSubjects.find('indexPattern-reference-function'); - await comboBox.openOptionsList(fnTarget); - await comboBox.setElement(fnTarget, 'percentile'); + }); + describe('sorting by custom metric', () => { + it('should allow sort by custom metric', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + await elasticChart.setNewChartUiDebugFlag(true); + await PageObjects.lens.goToTimeRange(); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'average', + field: 'bytes', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'terms', + field: 'geo.src', + keepOpen: true, + }); + await find.clickByCssSelector( + 'select[data-test-subj="indexPattern-terms-orderBy"] > option[value="custom"]' + ); - const fieldTarget = await testSubjects.find( - 'indexPattern-reference-field-selection-row>indexPattern-dimension-field' - ); - await comboBox.openOptionsList(fieldTarget); - await comboBox.setElement(fieldTarget, 'bytes'); + const fnTarget = await testSubjects.find('indexPattern-reference-function'); + await comboBox.openOptionsList(fnTarget); + await comboBox.setElement(fnTarget, 'percentile'); - await retry.try(async () => { - // Can not use testSubjects because data-test-subj is placed range input and number input - const percentileInput = await PageObjects.lens.getNumericFieldReady( - 'lns-indexPattern-percentile-input' + const fieldTarget = await testSubjects.find( + 'indexPattern-reference-field-selection-row>indexPattern-dimension-field' + ); + await comboBox.openOptionsList(fieldTarget); + await comboBox.setElement(fieldTarget, 'bytes'); + + await retry.try(async () => { + // Can not use testSubjects because data-test-subj is placed range input and number input + const percentileInput = await PageObjects.lens.getNumericFieldReady( + 'lns-indexPattern-percentile-input' + ); + await percentileInput.type('60'); + + const percentileValue = await percentileInput.getAttribute('value'); + if (percentileValue !== '60') { + throw new Error('layerPanelTopHitsSize not set to 60'); + } + }); + + await PageObjects.lens.waitForVisualization('xyVisChart'); + await PageObjects.lens.closeDimensionEditor(); + + expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_xDimensionPanel', 0)).to.eql( + 'Top 5 values of geo.src' ); - await percentileInput.type('60'); - const percentileValue = await percentileInput.getAttribute('value'); - if (percentileValue !== '60') { - throw new Error('layerPanelTopHitsSize not set to 60'); - } + const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); + expect(data!.bars![0].bars[0].x).to.eql('BN'); + expect(data!.bars![0].bars[0].y).to.eql(19265); }); - - await PageObjects.lens.waitForVisualization('xyVisChart'); - await PageObjects.lens.closeDimensionEditor(); - - expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_xDimensionPanel', 0)).to.eql( - 'Top 5 values of geo.src' - ); - - const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); - expect(data!.bars![0].bars[0].x).to.eql('BN'); - expect(data!.bars![0].bars[0].y).to.eql(19265); }); }); diff --git a/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts b/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts index bc3451a32fb6d8..7d912221e2b158 100644 --- a/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts +++ b/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts @@ -357,5 +357,17 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); expect(data?.legend?.items.map((item) => item.name)).to.eql(expectedData); }); + + it('should convert correctly percentiles with decimals', async () => { + await visEditor.clickBucket('Y-axis', 'metrics'); + await visEditor.selectAggregation('Percentiles', 'metrics'); + await visEditor.selectField('memory', 'metrics'); + await visEditor.setPercentileValue('99.99', 6); + await visEditor.clickGo(); + await header.waitUntilLoadingHasFinished(); + await visualize.navigateToLensFromAnotherVisulization(); + await lens.waitForVisualization('xyVisChart'); + expect(await lens.getWorkspaceErrorCount()).to.eql(0); + }); }); } diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts index 5d3f316b7a83a8..6880a3ab46ff5a 100644 --- a/x-pack/test/functional/page_objects/lens_page.ts +++ b/x-pack/test/functional/page_objects/lens_page.ts @@ -691,7 +691,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont }, async getNumericFieldReady(testSubj: string) { const numericInput = await find.byCssSelector( - `input[data-test-subj=${testSubj}][type='number']` + `input[data-test-subj="${testSubj}"][type='number']` ); await numericInput.click(); await numericInput.clearValue(); From 0f07497d2096d3133acac90439fa5009cd88bbdb Mon Sep 17 00:00:00 2001 From: Julia Rechkunova Date: Tue, 12 Sep 2023 13:27:08 +0200 Subject: [PATCH 28/39] [Discover] Set data table row height to auto-fit by default (#164218) - Closes https://github.com/elastic/kibana/issues/164285 This PR changes the default value of "rowHeight" setting to be "Auto-fit". Screenshot 2023-08-17 at 19 46 03 When testing, make sure to delete "discover:dataGridRowHeight" from the browser localStorage, refresh the page and press "New" in Discover. Partially addresses https://github.com/elastic/kibana/issues/131130 (it can still hide "Reset" after page reload) --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../kbn-unified-data-table/src/constants.ts | 2 +- .../hooks/use_row_heights_options.test.tsx | 14 ++- .../src/hooks/use_row_heights_options.ts | 11 ++- src/plugins/discover/server/ui_settings.ts | 2 +- .../apps/discover/classic/_doc_table.ts | 4 +- .../discover/group2/_data_grid_context.ts | 5 +- .../discover/group2/_data_grid_doc_table.ts | 1 + .../discover/group2/_data_grid_pagination.ts | 5 +- .../discover/group2/_data_grid_row_height.ts | 89 +++++++++++++++++++ test/functional/apps/discover/group2/index.ts | 1 + test/functional/services/data_grid.ts | 21 +++++ 11 files changed, 136 insertions(+), 19 deletions(-) create mode 100644 test/functional/apps/discover/group2/_data_grid_row_height.ts diff --git a/packages/kbn-unified-data-table/src/constants.ts b/packages/kbn-unified-data-table/src/constants.ts index c1272cf00c8a30..6b5dda5ca54b83 100644 --- a/packages/kbn-unified-data-table/src/constants.ts +++ b/packages/kbn-unified-data-table/src/constants.ts @@ -20,7 +20,7 @@ export const ROWS_PER_PAGE_OPTIONS = [10, 25, 50, DEFAULT_ROWS_PER_PAGE, 250, 50 export const ROWS_HEIGHT_OPTIONS = { auto: -1, single: 0, - default: 3, + default: -1, }; export const defaultMonacoEditorWidth = 370; diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx index 2da08c178720a0..1ef0d9c70d1391 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx @@ -11,8 +11,6 @@ import { Storage } from '@kbn/kibana-utils-plugin/public'; import { LocalStorageMock } from '../../__mocks__/local_storage_mock'; import { useRowHeightsOptions } from './use_row_heights_options'; -const CONFIG_ROW_HEIGHT = 3; - describe('useRowHeightsOptions', () => { test('should apply rowHeight from savedSearch', () => { const { result } = renderHook(() => { @@ -32,7 +30,7 @@ describe('useRowHeightsOptions', () => { storage: new LocalStorageMock({ ['discover:dataGridRowHeight']: { previousRowHeight: 5, - previousConfigRowHeight: 3, + previousConfigRowHeight: -1, }, }) as unknown as Storage, consumer: 'discover', @@ -52,7 +50,7 @@ describe('useRowHeightsOptions', () => { }); expect(result.current.defaultHeight).toEqual({ - lineCount: CONFIG_ROW_HEIGHT, + lineCount: 3, }); }); @@ -61,8 +59,8 @@ describe('useRowHeightsOptions', () => { return useRowHeightsOptions({ storage: new LocalStorageMock({ ['discover:dataGridRowHeight']: { - previousRowHeight: 4, - // different from uiSettings (config), now user changed it to 3, but prev was 4 + previousRowHeight: 5, + // different from uiSettings (config), now user changed it to -1, but prev was 4 previousConfigRowHeight: 4, }, }) as unknown as Storage, @@ -70,8 +68,6 @@ describe('useRowHeightsOptions', () => { }); }); - expect(result.current.defaultHeight).toEqual({ - lineCount: CONFIG_ROW_HEIGHT, - }); + expect(result.current.defaultHeight).toEqual('auto'); }); }); diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts index 4be574db9e3966..727677a42e7dfc 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts @@ -29,7 +29,7 @@ interface UseRowHeightProps { * Converts rowHeight of EuiDataGrid to rowHeight number (-1 to 20) */ const serializeRowHeight = (rowHeight?: EuiDataGridRowHeightOption): number => { - if (rowHeight === 'auto') { + if (rowHeight === 'auto' || rowHeight === ROWS_HEIGHT_OPTIONS.auto) { return ROWS_HEIGHT_OPTIONS.auto; } else if (typeof rowHeight === 'object' && rowHeight.lineCount) { return rowHeight.lineCount; // custom @@ -75,11 +75,16 @@ export const useRowHeightsOptions = ({ rowHeight = configRowHeight; } + const defaultHeight = deserializeRowHeight(rowHeight); + return { - defaultHeight: deserializeRowHeight(rowHeight), + defaultHeight, lineHeight: '1.6em', onChange: ({ defaultHeight: newRowHeight }: EuiDataGridRowHeightsOptions) => { - const newSerializedRowHeight = serializeRowHeight(newRowHeight); + const newSerializedRowHeight = serializeRowHeight( + // pressing "Reset to default" triggers onChange with the same value + newRowHeight === defaultHeight ? configRowHeight : newRowHeight + ); updateStoredRowHeight(newSerializedRowHeight, configRowHeight, storage, consumer); onUpdateRowHeight?.(newSerializedRowHeight); }, diff --git a/src/plugins/discover/server/ui_settings.ts b/src/plugins/discover/server/ui_settings.ts index d6bbbd0eed9f0e..bc5ad09d260c48 100644 --- a/src/plugins/discover/server/ui_settings.ts +++ b/src/plugins/discover/server/ui_settings.ts @@ -287,7 +287,7 @@ export const getUiSettings: (docLinks: DocLinksServiceSetup) => Record { - await kibanaServer.uiSettings.update({ 'doc_table:legacy': true }); await browser.setWindowSize(900, 700); await PageObjects.common.navigateToApp('discover'); await PageObjects.discover.waitUntilSearchingHasFinished(); @@ -95,7 +95,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('classic table in window 600x700', async function () { before(async () => { - await kibanaServer.uiSettings.update({ 'doc_table:legacy': true }); await browser.setWindowSize(600, 700); await PageObjects.common.navigateToApp('discover'); await PageObjects.discover.waitUntilSearchingHasFinished(); @@ -115,7 +114,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('legacy', async function () { before(async () => { - await kibanaServer.uiSettings.update({ 'doc_table:legacy': true }); await PageObjects.common.navigateToApp('discover'); await PageObjects.discover.waitUntilSearchingHasFinished(); }); diff --git a/test/functional/apps/discover/group2/_data_grid_context.ts b/test/functional/apps/discover/group2/_data_grid_context.ts index 1b43de8a72353e..4d90acab5eebbf 100644 --- a/test/functional/apps/discover/group2/_data_grid_context.ts +++ b/test/functional/apps/discover/group2/_data_grid_context.ts @@ -30,7 +30,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'header', 'unifiedFieldList', ]); - const defaultSettings = { defaultIndex: 'logstash-*' }; + const defaultSettings = { + defaultIndex: 'logstash-*', + 'discover:rowHeightOption': 0, // single line + }; const kibanaServer = getService('kibanaServer'); const esArchiver = getService('esArchiver'); const dashboardAddPanel = getService('dashboardAddPanel'); diff --git a/test/functional/apps/discover/group2/_data_grid_doc_table.ts b/test/functional/apps/discover/group2/_data_grid_doc_table.ts index dd2481b13ad9f0..5a60d6cf1f98ca 100644 --- a/test/functional/apps/discover/group2/_data_grid_doc_table.ts +++ b/test/functional/apps/discover/group2/_data_grid_doc_table.ts @@ -28,6 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ]); const defaultSettings = { defaultIndex: 'logstash-*', + 'discover:rowHeightOption': 0, // single line }; const testSubjects = getService('testSubjects'); const security = getService('security'); diff --git a/test/functional/apps/discover/group2/_data_grid_pagination.ts b/test/functional/apps/discover/group2/_data_grid_pagination.ts index 4d0c81c4cfebc0..4c0a3aa53759ef 100644 --- a/test/functional/apps/discover/group2/_data_grid_pagination.ts +++ b/test/functional/apps/discover/group2/_data_grid_pagination.ts @@ -15,7 +15,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); const dataGrid = getService('dataGrid'); const PageObjects = getPageObjects(['settings', 'common', 'discover', 'header', 'timePicker']); - const defaultSettings = { defaultIndex: 'logstash-*' }; + const defaultSettings = { + defaultIndex: 'logstash-*', + 'discover:rowHeightOption': 0, // single line + }; const testSubjects = getService('testSubjects'); const retry = getService('retry'); const security = getService('security'); diff --git a/test/functional/apps/discover/group2/_data_grid_row_height.ts b/test/functional/apps/discover/group2/_data_grid_row_height.ts new file mode 100644 index 00000000000000..2c385b67aaa028 --- /dev/null +++ b/test/functional/apps/discover/group2/_data_grid_row_height.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const browser = getService('browser'); + const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); + const dataGrid = getService('dataGrid'); + const PageObjects = getPageObjects(['settings', 'common', 'discover', 'header', 'timePicker']); + const defaultSettings = { defaultIndex: 'logstash-*' }; + const security = getService('security'); + + describe('discover data grid row height', function describeIndexTests() { + before(async () => { + await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader']); + await browser.setWindowSize(1200, 2000); + await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); + await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); + }); + + after(async () => { + await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/discover'); + await kibanaServer.uiSettings.replace({}); + await kibanaServer.savedObjects.cleanStandardList(); + }); + + beforeEach(async function () { + await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); + await kibanaServer.uiSettings.update(defaultSettings); + await PageObjects.common.navigateToApp('discover'); + await PageObjects.discover.waitUntilSearchingHasFinished(); + }); + + it('should use the default row height', async () => { + const rows = await dataGrid.getDocTableRows(); + expect(rows.length).to.be.above(0); + + await dataGrid.clickGridSettings(); + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + }); + + it('should allow to change row height and reset it', async () => { + await dataGrid.clickGridSettings(); + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + + await dataGrid.changeRowHeightValue('Single'); + + // toggle the popover + await dataGrid.clickGridSettings(); + await dataGrid.clickGridSettings(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Single'); + + await dataGrid.resetRowHeightValue(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + + await dataGrid.changeRowHeightValue('Custom'); + + await dataGrid.resetRowHeightValue(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + }); + + it('should persist the selection after reloading the page', async () => { + await dataGrid.clickGridSettings(); + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + + await dataGrid.changeRowHeightValue('Single'); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Single'); + + await browser.refresh(); + + await PageObjects.discover.waitUntilSearchingHasFinished(); + await dataGrid.clickGridSettings(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Single'); + }); + }); +} diff --git a/test/functional/apps/discover/group2/index.ts b/test/functional/apps/discover/group2/index.ts index 163c6b1a9f205a..3d4103c6de85b8 100644 --- a/test/functional/apps/discover/group2/index.ts +++ b/test/functional/apps/discover/group2/index.ts @@ -29,6 +29,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./_data_grid_row_navigation')); loadTestFile(require.resolve('./_data_grid_doc_table')); loadTestFile(require.resolve('./_data_grid_copy_to_clipboard')); + loadTestFile(require.resolve('./_data_grid_row_height')); loadTestFile(require.resolve('./_data_grid_pagination')); loadTestFile(require.resolve('./_data_grid_footer')); loadTestFile(require.resolve('./_adhoc_data_views')); diff --git a/test/functional/services/data_grid.ts b/test/functional/services/data_grid.ts index 1f022c890b7240..1bdc1b070dc336 100644 --- a/test/functional/services/data_grid.ts +++ b/test/functional/services/data_grid.ts @@ -304,6 +304,27 @@ export class DataGridService extends FtrService { await this.testSubjects.click('gridEditFieldButton'); } + public async clickGridSettings() { + await this.testSubjects.click('dataGridDisplaySelectorButton'); + } + + public async getCurrentRowHeightValue() { + const buttonGroup = await this.testSubjects.find('rowHeightButtonGroup'); + return ( + await buttonGroup.findByCssSelector('.euiButtonGroupButton-isSelected') + ).getVisibleText(); + } + + public async changeRowHeightValue(newValue: string) { + const buttonGroup = await this.testSubjects.find('rowHeightButtonGroup'); + const option = await buttonGroup.findByCssSelector(`[data-text="${newValue}"]`); + await option.click(); + } + + public async resetRowHeightValue() { + await this.testSubjects.click('resetDisplaySelector'); + } + public async getDetailsRow(): Promise { const detailRows = await this.getDetailsRows(); return detailRows[0]; From 2dd480085e89e0f8f7b5a9464a3a757339318f14 Mon Sep 17 00:00:00 2001 From: Kurt Date: Tue, 12 Sep 2023 08:43:56 -0400 Subject: [PATCH 29/39] Upgrade adobe css-tools from 4.0.1 to 4.3.1 (#165528) ## Summary upgrade `@adobe/css-tools` from `4.0.1` to `4.3.1` No change logs or semver compare available --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 09c5a75781f142..5d0e443661e33e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,9 +23,9 @@ tunnel "^0.0.6" "@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28" + integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg== "@ampproject/remapping@^2.2.0": version "2.2.0" From 2e38daf343b13bbd7c58be8eef2d4b8f012b4f76 Mon Sep 17 00:00:00 2001 From: Yngrid Coello Date: Tue, 12 Sep 2023 15:10:21 +0200 Subject: [PATCH 30/39] Fixing Kibana developer guide (#156970) While reading [Kibana developer guide](https://docs-elastic-dev-staging.vercel.app/kibana-dev-docs/contributing/repo-structure#srcdev) I found ``` Maintained by the Operations team, this code contains build and development tooling related code. This folder existed before `packages`, so contains mostly older code that hasn't been migrated to packages. Prefer creating a `package` if possible. Can be ignored for the most part if you are not on the Ops team. Prefer ``` Also in [Standards and guidelines](https://docs-elastic-dev-staging.vercel.app/kibana-dev-docs/standards#backward-compatibility-and-breaking-changes) the table formatting is off image --- dev_docs/contributing/code_walkthrough.mdx | 2 +- dev_docs/contributing/standards.mdx | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dev_docs/contributing/code_walkthrough.mdx b/dev_docs/contributing/code_walkthrough.mdx index 617b54e519f139..139ac4df930701 100644 --- a/dev_docs/contributing/code_walkthrough.mdx +++ b/dev_docs/contributing/code_walkthrough.mdx @@ -86,7 +86,7 @@ This code primarily belongs to the Core team and contains the plugin infrastruct ### [src/dev](https://github.com/elastic/kibana/tree/main/src/dev) -Maintained by the Operations team, this code contains build and development tooling related code. This folder existed before `packages`, so contains mostly older code that hasn't been migrated to packages. Prefer creating a `package` if possible. Can be ignored for the most part if you are not on the Ops team. Prefer +Maintained by the Operations team, this code contains build and development tooling related code. This folder existed before `packages`, so contains mostly older code that hasn't been migrated to packages. Prefer creating a `package` if possible. Can be ignored for the most part if you are not on the Ops team. ### [src/plugins](https://github.com/elastic/kibana/tree/main/src/plugins) diff --git a/dev_docs/contributing/standards.mdx b/dev_docs/contributing/standards.mdx index aba29e5fab2f28..80df5f4752131b 100644 --- a/dev_docs/contributing/standards.mdx +++ b/dev_docs/contributing/standards.mdx @@ -91,11 +91,12 @@ Every public API should have a release tag specified at the top of it’s docume #### Release tags | Type | Description | Documentation | Asciidoc Tag | -| Undocumented | Every public API should be documented, but if it isn’t, we make no guarantees about it. These need to be eliminated and should become internal or documented. | -| Experimental | A public API that may break or be removed at any time. | experimental[] | -| Beta | A public API that we make a best effort not to break or remove. However, there are no guarantees. | beta[] | -| Stable | No breaking changes outside of a Major\* | stable[] | -| Deprecated | Do not use, will be removed. | deprecated[] | +| -----| ------------| ------------- | ------------ | +| Undocumented | Every public API should be documented, but if it isn’t, we make no guarantees about it. These need to be eliminated and should become internal or documented. | | | +| Experimental | A public API that may break or be removed at any time. | experimental[] | | +| Beta | A public API that we make a best effort not to break or remove. However, there are no guarantees. | beta[] | | +| Stable | No breaking changes outside of a Major\* | stable[] | | +| Deprecated | Do not use, will be removed. | deprecated[] | | \*This is likely to change with Make it Minor as we move towards a calendar based rolling deprecation and removal policy. From 46ac8b24a2bb1ae5f7e74a813a6f5a2ed3e563eb Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski Date: Tue, 12 Sep 2023 15:21:44 +0200 Subject: [PATCH 31/39] [EDR Workflows] Fix Osquery Metrics cypress (#166237) --- x-pack/plugins/osquery/cypress/tasks/inventory.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/osquery/cypress/tasks/inventory.ts b/x-pack/plugins/osquery/cypress/tasks/inventory.ts index 30ffdede7a3473..8ba6fc0702d21d 100644 --- a/x-pack/plugins/osquery/cypress/tasks/inventory.ts +++ b/x-pack/plugins/osquery/cypress/tasks/inventory.ts @@ -9,7 +9,7 @@ export const triggerLoadData = () => { cy.getBySel('infraWaffleTimeControlsAutoRefreshButton').should('exist'); cy.wait(1000); cy.getBySel('infraWaffleTimeControlsAutoRefreshButton').click(); - cy.getBySel('nodeContainer').eq(2).should('exist'); + cy.getBySel('nodeContainer').last().should('exist'); cy.getBySel('infraWaffleTimeControlsStopRefreshingButton').click(); - cy.getBySel('nodeContainer').eq(2).click(); + cy.getBySel('nodeContainer').last().click(); }; From 6fc5c806ed7a3590c1dc5130f921995bf77669a7 Mon Sep 17 00:00:00 2001 From: Antonio Date: Tue, 12 Sep 2023 15:57:40 +0200 Subject: [PATCH 32/39] [ResponseOps] Migrate all usages of EuiPage*_Deprecated (#166188) Fixes #161421 ## Summary As mentioned in the linked issue, I migrated all usages of `EuiPage*_Deprecated` components listed below: [x-pack/triggers_actions_ui](https://github.com/search?q=repo%3Aelastic%2Fkibana+%2FEuiPage%5Ba-zA-Z%5D%2B_Deprecated%2F+path%3A%2F%5Ex-pack%5C%2Fplugins%5C%2Ftriggers_actions_ui%2F&type=code) [x-pack/examples/triggers_actions_ui_examples](https://github.com/search?q=repo%3Aelastic%2Fkibana+%2FEuiPage%5Ba-zA-Z%5D%2B_Deprecated%2F+path%3A%2F%5Ex-pack%5C%2Fexamples%5C%2Ftriggers_actions_ui_example%2F&type=code) [x-pack/examples/alerting_example](https://github.com/search?q=repo%3Aelastic%2Fkibana+%2FEuiPage%5Ba-zA-Z%5D%2B_Deprecated%2F+path%3Ax-pack%2Fexamples%2Falerting_example&type=code) [x-pack/test/functional_with_es_ssl/plugins/cases](https://github.com/search?q=repo%3Aelastic%2Fkibana+%2FEuiPage%5Ba-zA-Z%5D%2B_Deprecated%2F+path%3Ax-pack%2Ftest%2Ffunctional_with_es_ssl%2Fplugins%2Fcases&type=code) The majority of these were in test environments and examples. The only one actually in `x-pack/triggers_actions_ui` had to do with the rule detail page. It looked basically the same after the change but a `Pager` that was there became unnecessary. I removed it. --- .../public/components/page.tsx | 7 ++-- .../public/components/page.tsx | 34 ++++++------------- .../rule_details/components/rule_details.tsx | 7 ++-- .../plugins/cases/public/application.tsx | 2 +- 4 files changed, 16 insertions(+), 34 deletions(-) diff --git a/x-pack/examples/alerting_example/public/components/page.tsx b/x-pack/examples/alerting_example/public/components/page.tsx index 2e27e6db000149..da20349a2a879a 100644 --- a/x-pack/examples/alerting_example/public/components/page.tsx +++ b/x-pack/examples/alerting_example/public/components/page.tsx @@ -10,13 +10,12 @@ import { withRouter, RouteComponentProps } from 'react-router-dom'; import { EuiPageBody, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, EuiPageHeader, EuiPageHeaderSection, EuiTitle, EuiBreadcrumbs, EuiSpacer, + EuiPageSection, } from '@elastic/eui'; type PageProps = RouteComponentProps & { @@ -54,9 +53,7 @@ export const Page = withRouter(({ title, crumb, children, isHome = false, histor - - {children} - + {children} ); }); diff --git a/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx b/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx index e59d04ffe085e7..4a16528bc2d061 100644 --- a/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx +++ b/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx @@ -8,16 +8,7 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; -import { - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, - EuiPageBody, - EuiPageHeader, - EuiPageHeaderSection, - EuiTitle, - EuiBreadcrumbs, - EuiSpacer, -} from '@elastic/eui'; +import { EuiPageTemplate, EuiTitle, EuiBreadcrumbs } from '@elastic/eui'; interface PageProps { title: string; @@ -48,19 +39,14 @@ export const Page: React.FC = (props) => { } return ( - - - - -

    {title}

    - - - - - - - {children} - - + + + +

    {title}

    +
    + +
    + {children} +
    ); }; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx index d672fc3287fcd0..6bae4f720c0328 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx @@ -14,7 +14,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiBadge, - EuiPageContentBody_Deprecated as EuiPageContentBody, + EuiPageSection, EuiCallOut, EuiSpacer, EuiButtonEmpty, @@ -426,8 +426,7 @@ export const RuleDetails: React.FunctionComponent = ({ , ]} /> - - + {rule.enabled && rule.executionStatus.error?.reason === RuleExecutionStatusErrorReasons.License ? ( @@ -519,7 +518,7 @@ export const RuleDetails: React.FunctionComponent = ({ />
    - + ); }; diff --git a/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx b/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx index afc7860303db50..851134d346d9a6 100644 --- a/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx +++ b/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx @@ -8,7 +8,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { - EuiPageTemplate_Deprecated as EuiPageTemplate, + EuiPageTemplate, EuiFlexGrid, EuiFlexItem, EuiPanel, From 5a3a3c80390791ff8fef71e52c5689c55ae3a205 Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:06:10 -0400 Subject: [PATCH 33/39] [Security Solution][Endpoint] Allow `apiKey` to be used when creating KBN/ES clients for use in scripts (#166187) ## Summary - Adds support for `apiKey` to the CLI service methods: `createKbnClient()`, `createEsClient()` and `createRuntimeServices()` - Note: no existing CLI tools have been changed with this PR to support `apiKey`. Only adding support to the above service methods so that they can be used by existing or new CLI utilities --- .github/CODEOWNERS | 3 +- .../scripts/endpoint/common/fleet_services.ts | 3 +- .../scripts/endpoint/common/stack_services.ts | 83 +++++++++++++++---- 3 files changed, 72 insertions(+), 17 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5ae8101da74fea..f86c8ae14fe58b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1304,8 +1304,7 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /x-pack/plugins/security_solution/server/lists_integration/endpoint/ @elastic/security-defend-workflows /x-pack/plugins/security_solution/server/lib/license/ @elastic/security-defend-workflows /x-pack/plugins/security_solution/server/fleet_integration/ @elastic/security-defend-workflows -/x-pack/plugins/security_solution/scripts/endpoint/event_filters/ @elastic/security-defend-workflows -/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/ @elastic/security-defend-workflows +/x-pack/plugins/security_solution/scripts/endpoint/ @elastic/security-defend-workflows /x-pack/test/security_solution_endpoint/ @elastic/security-defend-workflows /x-pack/test/security_solution_endpoint_api_int/ @elastic/security-defend-workflows /x-pack/test_serverless/shared/lib/security/kibana_roles/ @elastic/security-defend-workflows diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts index 95f000fd003555..aff700948b3448 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts @@ -37,6 +37,7 @@ import type { import nodeFetch from 'node-fetch'; import semver from 'semver'; import axios from 'axios'; +import { fetchKibanaStatus } from './stack_services'; import { catchAxiosErrorFormatAndThrow } from './format_axios_error'; import { FleetAgentGenerator } from '../../../common/endpoint/data_generators/fleet_agent_generator'; @@ -249,7 +250,7 @@ export const fetchAgentPolicyList = async ( export const getAgentVersionMatchingCurrentStack = async ( kbnClient: KbnClient ): Promise => { - const kbnStatus = await kbnClient.status.get(); + const kbnStatus = await fetchKibanaStatus(kbnClient); const agentVersions = await axios .get('https://artifacts-api.elastic.co/v1/versions') .then((response) => map(response.data.versions, (version) => version.split('-SNAPSHOT')[0])); diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts index a3ad237fc3bcb4..366b2a81cefcb7 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts @@ -7,10 +7,14 @@ import { Client } from '@elastic/elasticsearch'; import { ToolingLog } from '@kbn/tooling-log'; +import type { KbnClientOptions } from '@kbn/test'; import { KbnClient } from '@kbn/test'; import type { StatusResponse } from '@kbn/core-status-common-internal'; import pRetry from 'p-retry'; import nodeFetch from 'node-fetch'; +import type { ReqOptions } from '@kbn/test/src/kbn_client/kbn_client_requester'; +import { type AxiosResponse } from 'axios'; +import type { ClientOptions } from '@elastic/elasticsearch/lib/client'; import { catchAxiosErrorFormatAndThrow } from './format_axios_error'; import { isLocalhost } from './is_localhost'; import { getLocalhostRealIp } from './localhost_services'; @@ -24,6 +28,7 @@ export interface RuntimeServices { username: string; password: string; }>; + apiKey: string; localhostRealIp: string; kibana: { url: string; @@ -51,6 +56,8 @@ interface CreateRuntimeServicesOptions { fleetServerUrl?: string; username: string; password: string; + /** If defined, both `username` and `password` will be ignored */ + apiKey?: string; /** If undefined, ES username defaults to `username` */ esUsername?: string; /** If undefined, ES password defaults to `password` */ @@ -59,12 +66,41 @@ interface CreateRuntimeServicesOptions { asSuperuser?: boolean; } +class KbnClientExtended extends KbnClient { + private readonly apiKey: string | undefined; + + constructor({ apiKey, url, ...options }: KbnClientOptions & { apiKey?: string }) { + super({ + ...options, + url: apiKey ? buildUrlWithCredentials(url, '', '') : url, + }); + + this.apiKey = apiKey; + } + + async request(options: ReqOptions): Promise> { + const headers: ReqOptions['headers'] = { + ...(options.headers ?? {}), + }; + + if (this.apiKey) { + headers.Authorization = `ApiKey ${this.apiKey}`; + } + + return super.request({ + ...options, + headers, + }); + } +} + export const createRuntimeServices = async ({ kibanaUrl, elasticsearchUrl, fleetServerUrl = 'https://localhost:8220', username: _username, password: _password, + apiKey, esUsername, esPassword, log = new ToolingLog({ level: 'info', writeTo: process.stdout }), @@ -97,15 +133,17 @@ export const createRuntimeServices = async ({ const fleetURL = new URL(fleetServerUrl); return { - kbnClient: createKbnClient({ log, url: kibanaUrl, username, password }), + kbnClient: createKbnClient({ log, url: kibanaUrl, username, password, apiKey }), esClient: createEsClient({ log, url: elasticsearchUrl, username: esUsername ?? username, password: esPassword ?? password, + apiKey, }), log, localhostRealIp: await getLocalhostRealIp(), + apiKey: apiKey ?? '', user: { username, password, @@ -148,40 +186,54 @@ export const createEsClient = ({ url, username, password, + apiKey, log, }: { url: string; username: string; password: string; + /** If defined, both `username` and `password` will be ignored */ + apiKey?: string; log?: ToolingLog; }): Client => { - const esUrl = buildUrlWithCredentials(url, username, password); + const clientOptions: ClientOptions = { + node: buildUrlWithCredentials(url, apiKey ? '' : username, apiKey ? '' : password), + }; + + if (apiKey) { + clientOptions.auth = { apiKey }; + } if (log) { - log.verbose(`Creating Elasticsearch client with URL: ${esUrl}`); + log.verbose(`Creating Elasticsearch client options: ${JSON.stringify(clientOptions)}`); } - return new Client({ node: esUrl }); + return new Client(clientOptions); }; export const createKbnClient = ({ url, username, password, + apiKey, log = new ToolingLog(), }: { url: string; username: string; password: string; + /** If defined, both `username` and `password` will be ignored */ + apiKey?: string; log?: ToolingLog; }): KbnClient => { const kbnUrl = buildUrlWithCredentials(url, username, password); if (log) { - log.verbose(`Creating Kibana client with URL: ${kbnUrl}`); + log.verbose( + `Creating Kibana client with URL: ${kbnUrl} ${apiKey ? ` + ApiKey: ${apiKey}` : ''}` + ); } - return new KbnClient({ log, url: kbnUrl }); + return new KbnClientExtended({ log, url: kbnUrl, apiKey }); }; /** @@ -189,14 +241,7 @@ export const createKbnClient = ({ * @param kbnClient */ export const fetchStackVersion = async (kbnClient: KbnClient): Promise => { - const status = ( - await kbnClient - .request({ - method: 'GET', - path: '/api/status', - }) - .catch(catchAxiosErrorFormatAndThrow) - ).data; + const status = await fetchKibanaStatus(kbnClient); if (!status?.version?.number) { throw new Error( @@ -207,6 +252,16 @@ export const fetchStackVersion = async (kbnClient: KbnClient): Promise = return status.version.number; }; +export const fetchKibanaStatus = async (kbnClient: KbnClient): Promise => { + return kbnClient + .request({ + method: 'GET', + path: '/api/status', + }) + .catch(catchAxiosErrorFormatAndThrow) + .then((response) => response.data); +}; + /** * Checks to ensure Kibana is up and running * @param kbnUrl From bfa334c50086d3c8775a693115e2a3b413873c2b Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Tue, 12 Sep 2023 07:35:34 -0700 Subject: [PATCH 34/39] Automate serverless screenshots (#165524) Co-authored-by: Robert Oskamp --- .buildkite/ftr_configs.yml | 1 + .../test/functional/services/actions/api.ts | 14 +++-- x-pack/test/functional/services/rules/api.ts | 4 +- .../services/sample_data/test_resources.ts | 33 ++++++---- .../api_integration/services/index.ts | 2 - .../test_serverless/functional/config.base.ts | 3 + .../functional/services/index.ts | 2 + .../services/svl_common_screenshots.ts | 46 ++++++++++++++ .../test_suites/search/config.screenshots.ts | 19 ++++++ .../search/screenshot_creation/index.ts | 14 +++++ .../response_ops_docs/index.ts | 42 +++++++++++++ .../stack_connectors/connectors.ts | 52 +++++++++++++++ .../stack_connectors/index.ts | 63 +++++++++++++++++++ .../test_serverless/shared/services/index.ts | 3 + .../services/svl_common_api.ts | 2 +- 15 files changed, 277 insertions(+), 23 deletions(-) create mode 100644 x-pack/test_serverless/functional/services/svl_common_screenshots.ts create mode 100644 x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts create mode 100644 x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts create mode 100644 x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.ts create mode 100644 x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts create mode 100644 x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts rename x-pack/test_serverless/{api_integration => shared}/services/svl_common_api.ts (94%) diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml index 8d7b3fee29006c..8e6f0b556ec511 100644 --- a/.buildkite/ftr_configs.yml +++ b/.buildkite/ftr_configs.yml @@ -94,6 +94,7 @@ disabled: - x-pack/test_serverless/functional/test_suites/search/config.ts - x-pack/test_serverless/functional/test_suites/search/config.feature_flags.ts - x-pack/test_serverless/functional/test_suites/search/config.examples.ts + - x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts - x-pack/test_serverless/functional/test_suites/security/config.ts - x-pack/test_serverless/functional/test_suites/security/config.feature_flags.ts - x-pack/test_serverless/functional/test_suites/security/config.examples.ts diff --git a/x-pack/test/functional/services/actions/api.ts b/x-pack/test/functional/services/actions/api.ts index 89eef12cb3370b..0506bf451ae848 100644 --- a/x-pack/test/functional/services/actions/api.ts +++ b/x-pack/test/functional/services/actions/api.ts @@ -17,15 +17,17 @@ export function ActionsAPIServiceProvider({ getService }: FtrProviderContext) { config, secrets, connectorTypeId, + additionalRequestHeaders, }: { name: string; config: Record; secrets: Record; connectorTypeId: string; + additionalRequestHeaders?: object; }) { const { body: createdAction } = await kbnSupertest .post(`/api/actions/connector`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .send({ name, config, @@ -37,24 +39,24 @@ export function ActionsAPIServiceProvider({ getService }: FtrProviderContext) { return createdAction; }, - async deleteConnector(id: string) { + async deleteConnector(id: string, additionalRequestHeaders?: object) { log.debug(`Deleting connector with id '${id}'...`); const rsp = kbnSupertest .delete(`/api/actions/connector/${id}`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .expect(204, ''); log.debug('> Connector deleted.'); return rsp; }, - async deleteAllConnectors() { + async deleteAllConnectors(additionalRequestHeaders?: object) { const { body } = await kbnSupertest .get(`/api/actions/connectors`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .expect(200); for (const connector of body) { - await this.deleteConnector(connector.id); + await this.deleteConnector(connector.id, additionalRequestHeaders); } }, }; diff --git a/x-pack/test/functional/services/rules/api.ts b/x-pack/test/functional/services/rules/api.ts index 3697756ef0da48..8ad6e45ee8572a 100644 --- a/x-pack/test/functional/services/rules/api.ts +++ b/x-pack/test/functional/services/rules/api.ts @@ -56,11 +56,11 @@ export function RulesAPIServiceProvider({ getService }: FtrProviderContext) { return rsp; }, - async deleteAllRules() { + async deleteAllRules(additionalRequestHeaders?: object) { log.debug(`Deleting all rules...`); const { body } = await kbnSupertest .get(`/api/alerting/rules/_find`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .expect(200); for (const rule of body.data) { diff --git a/x-pack/test/functional/services/sample_data/test_resources.ts b/x-pack/test/functional/services/sample_data/test_resources.ts index bdf1c7ff93e42b..5e5b5947464c64 100644 --- a/x-pack/test/functional/services/sample_data/test_resources.ts +++ b/x-pack/test/functional/services/sample_data/test_resources.ts @@ -13,21 +13,30 @@ export function SampleDataTestResourcesServiceProvider({ getService }: FtrProvid const kibanaServer = getService('kibanaServer'); return { - async installKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { - await supertest.post(`/api/sample_data/${sampleDataId}`).set('kbn-xsrf', 'true').expect(200); + async installKibanaSampleData( + sampleDataId: 'ecommerce' | 'flights' | 'logs', + additionalRequestHeaders?: object + ) { + await supertest + .post(`/api/sample_data/${sampleDataId}`) + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'true' }) + .expect(200); }, - async removeKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { + async removeKibanaSampleData( + sampleDataId: 'ecommerce' | 'flights' | 'logs', + additionalRequestHeaders?: object + ) { await supertest .delete(`/api/sample_data/${sampleDataId}`) - .set('kbn-xsrf', 'true') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'true' }) .expect(204); }, - async installAllKibanaSampleData() { - await this.installKibanaSampleData('ecommerce'); - await this.installKibanaSampleData('flights'); - await this.installKibanaSampleData('logs'); + async installAllKibanaSampleData(additionalRequestHeaders?: object) { + await this.installKibanaSampleData('ecommerce', additionalRequestHeaders); + await this.installKibanaSampleData('flights', additionalRequestHeaders); + await this.installKibanaSampleData('logs', additionalRequestHeaders); // Sample data is shifted to be relative to current time // This means that a static timerange will return different documents @@ -46,10 +55,10 @@ export function SampleDataTestResourcesServiceProvider({ getService }: FtrProvid }); }, - async removeAllKibanaSampleData() { - await this.removeKibanaSampleData('ecommerce'); - await this.removeKibanaSampleData('flights'); - await this.removeKibanaSampleData('logs'); + async removeAllKibanaSampleData(additionalRequestHeaders?: object) { + await this.removeKibanaSampleData('ecommerce', additionalRequestHeaders); + await this.removeKibanaSampleData('flights', additionalRequestHeaders); + await this.removeKibanaSampleData('logs', additionalRequestHeaders); }, }; } diff --git a/x-pack/test_serverless/api_integration/services/index.ts b/x-pack/test_serverless/api_integration/services/index.ts index 14ecca6d1f768a..6cdf47d857aa06 100644 --- a/x-pack/test_serverless/api_integration/services/index.ts +++ b/x-pack/test_serverless/api_integration/services/index.ts @@ -10,7 +10,6 @@ import { GenericFtrProviderContext } from '@kbn/test'; import { services as xpackApiIntegrationServices } from '../../../test/api_integration/services'; import { services as svlSharedServices } from '../../shared/services'; -import { SvlCommonApiServiceProvider } from './svl_common_api'; import { AlertingApiProvider } from './alerting_api'; import { SamlToolsProvider } from './saml_tools'; import { DataViewApiProvider } from './data_view_api'; @@ -20,7 +19,6 @@ export const services = { ...xpackApiIntegrationServices, ...svlSharedServices, - svlCommonApi: SvlCommonApiServiceProvider, alertingApi: AlertingApiProvider, samlTools: SamlToolsProvider, dataViewApi: DataViewApiProvider, diff --git a/x-pack/test_serverless/functional/config.base.ts b/x-pack/test_serverless/functional/config.base.ts index 0f1eb73bbe2c73..75b8ea7154b9b2 100644 --- a/x-pack/test_serverless/functional/config.base.ts +++ b/x-pack/test_serverless/functional/config.base.ts @@ -62,6 +62,9 @@ export function createTestConfig(options: CreateTestConfigOptions) { indexManagement: { pathname: '/app/management/data/index_management', }, + connectors: { + pathname: '/app/management/insightsAndAlerting/triggersActionsConnectors/', + }, advancedSettings: { pathname: '/app/management/kibana/settings', }, diff --git a/x-pack/test_serverless/functional/services/index.ts b/x-pack/test_serverless/functional/services/index.ts index 2c1ace79bc197e..238a5ad110069b 100644 --- a/x-pack/test_serverless/functional/services/index.ts +++ b/x-pack/test_serverless/functional/services/index.ts @@ -13,6 +13,7 @@ import { SvlCommonNavigationServiceProvider } from './svl_common_navigation'; import { SvlObltNavigationServiceProvider } from './svl_oblt_navigation'; import { SvlSearchNavigationServiceProvider } from './svl_search_navigation'; import { SvlSecNavigationServiceProvider } from './svl_sec_navigation'; +import { SvlCommonScreenshotsProvider } from './svl_common_screenshots'; export const services = { ...xpackFunctionalServices, @@ -22,4 +23,5 @@ export const services = { svlObltNavigation: SvlObltNavigationServiceProvider, svlSearchNavigation: SvlSearchNavigationServiceProvider, svlSecNavigation: SvlSecNavigationServiceProvider, + svlCommonScreenshots: SvlCommonScreenshotsProvider, }; diff --git a/x-pack/test_serverless/functional/services/svl_common_screenshots.ts b/x-pack/test_serverless/functional/services/svl_common_screenshots.ts new file mode 100644 index 00000000000000..20b0c8dba223ef --- /dev/null +++ b/x-pack/test_serverless/functional/services/svl_common_screenshots.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../ftr_provider_context'; + +export function SvlCommonScreenshotsProvider({ getService }: FtrProviderContext) { + const browser = getService('browser'); + const screenshot = getService('screenshots'); + const testSubjects = getService('testSubjects'); + + const DEFAULT_WIDTH = 1920; + const DEFAULT_HEIGHT = 1080; + + return { + async takeScreenshot(name: string, subDirectories: string[], width?: number, height?: number) { + await browser.setWindowSize(width ?? DEFAULT_WIDTH, height ?? DEFAULT_HEIGHT); + await new Promise((resolve) => setTimeout(resolve, 1000)); // give components time to resize + await screenshot.take(`${name}_new`, undefined, subDirectories); + await browser.setWindowSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + }, + + async openKibanaNav() { + if (!(await testSubjects.exists('collapsibleNav'))) { + await testSubjects.click('toggleNavButton'); + } + await testSubjects.existOrFail('collapsibleNav'); + }, + + async closeKibanaNav() { + if (await testSubjects.exists('collapsibleNav')) { + await testSubjects.click('toggleNavButton'); + } + await testSubjects.missingOrFail('collapsibleNav'); + }, + + async removeFocusFromElement() { + // open and close the Kibana nav to un-focus the last used element + await this.openKibanaNav(); + await this.closeKibanaNav(); + }, + }; +} diff --git a/x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts b/x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts new file mode 100644 index 00000000000000..fd53eda92aa5e6 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { createTestConfig } from '../../config.base'; + +const enabledActionTypes = ['.index', '.server-log']; + +export default createTestConfig({ + serverlessProject: 'es', + testFiles: [require.resolve('./screenshot_creation')], + kbnServerArgs: [`--xpack.actions.enabledActionTypes=${JSON.stringify(enabledActionTypes)}`], + junit: { + reportName: 'Serverless Search Screenshot Creation', + }, +}); diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts new file mode 100644 index 00000000000000..90e905735c3070 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ loadTestFile }: FtrProviderContext) { + describe('Screenshots - serverless search UI', function () { + loadTestFile(require.resolve('./response_ops_docs')); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.ts new file mode 100644 index 00000000000000..3df3eaa1939b49 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../../ftr_provider_context'; + +export const ECOMMERCE_INDEX_PATTERN = 'kibana_sample_data_ecommerce'; +export const FLIGHTS_INDEX_PATTERN = 'kibana_sample_data_flights'; +export const LOGS_INDEX_PATTERN = 'kibana_sample_data_logs'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const browser = getService('browser'); + const ml = getService('ml'); + const sampleData = getService('sampleData'); + const svlCommonApi = getService('svlCommonApi'); + + describe('response ops docs', function () { + this.tags(['responseOps']); + + before(async () => { + await sampleData.testResources.installAllKibanaSampleData( + svlCommonApi.getInternalRequestHeader() + ); + await ml.testResources.setKibanaTimeZoneToUTC(); + await ml.testResources.disableKibanaAnnouncements(); + await browser.setWindowSize(1920, 1080); + }); + + after(async () => { + await sampleData.testResources.removeAllKibanaSampleData( + svlCommonApi.getInternalRequestHeader() + ); + await ml.testResources.resetKibanaTimeZone(); + await ml.testResources.resetKibanaAnnouncements(); + }); + + loadTestFile(require.resolve('./stack_connectors')); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts new file mode 100644 index 00000000000000..13b35429f748b4 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../../../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const svlCommonScreenshots = getService('svlCommonScreenshots'); + // const browser = getService('browser'); + // const find = getService('find'); + // const testSubjects = getService('testSubjects'); + const screenshotDirectories = ['response_ops_docs', 'stack_connectors']; + const pageObjects = getPageObjects(['common', 'header']); + + describe('connectors', function () { + it('connectors list screenshot', async () => { + await pageObjects.common.navigateToApp('connectors'); + await pageObjects.header.waitUntilLoadingHasFinished(); + await svlCommonScreenshots.takeScreenshot( + 'connector-listing', + screenshotDirectories, + 1400, + 1024 + ); + + // const searchBox = await find.byCssSelector('[data-test-subj="actionsList"] .euiFieldSearch'); + // await searchBox.click(); + // await searchBox.clearValue(); + // await searchBox.type('my actionTypeId:(.index)'); + // await searchBox.pressKeys(browser.keys.ENTER); + // const typeFilter = await find.byCssSelector( + // '[data-test-subj="actionsList"] .euiFilterButton' + // ); + // await typeFilter.click(); + // await commonScreenshots.takeScreenshot( + // 'connector-filter-by-type', + // screenshotDirectories, + // 1400, + // 1024 + // ); + + // const clearSearchButton = await testSubjects.find('clearSearchButton'); + // await clearSearchButton.click(); + // const checkAllButton = await testSubjects.find('checkboxSelectAll'); + // await checkAllButton.click(); + // await commonScreenshots.takeScreenshot('connector-delete', screenshotDirectories, 1400, 1024); + }); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts new file mode 100644 index 00000000000000..f5f06e36d3ca70 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts @@ -0,0 +1,63 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../../../ftr_provider_context'; + +export default function ({ loadTestFile, getService }: FtrProviderContext) { + const actions = getService('actions'); + const browser = getService('browser'); + const es = getService('es'); + const rules = getService('rules'); + const testIndex = `test-index`; + const svlCommonApi = getService('svlCommonApi'); + + describe('stack connectors', function () { + before(async () => { + await browser.setWindowSize(1920, 1080); + await actions.api.createConnector({ + name: 'server-log-connector', + config: {}, + secrets: {}, + connectorTypeId: '.server-log', + additionalRequestHeaders: svlCommonApi.getInternalRequestHeader(), + }); + + await es.indices.create({ + index: testIndex, + body: { + mappings: { + properties: { + date_updated: { + type: 'date', + format: 'epoch_millis', + }, + }, + }, + }, + }); + + await actions.api.createConnector({ + name: 'my-index-connector', + config: { + index: testIndex, + }, + secrets: {}, + connectorTypeId: '.index', + additionalRequestHeaders: svlCommonApi.getInternalRequestHeader(), + }); + }); + + after(async () => { + await rules.api.deleteAllRules(svlCommonApi.getInternalRequestHeader()); + await actions.api.deleteAllConnectors(svlCommonApi.getInternalRequestHeader()); + await es.indices.delete({ index: testIndex }); + }); + + loadTestFile(require.resolve('./connectors')); + // loadTestFile(require.resolve('./connector_types')); + }); +} diff --git a/x-pack/test_serverless/shared/services/index.ts b/x-pack/test_serverless/shared/services/index.ts index 02a03229b83836..1072bcda09ce4a 100644 --- a/x-pack/test_serverless/shared/services/index.ts +++ b/x-pack/test_serverless/shared/services/index.ts @@ -6,7 +6,10 @@ */ import { SupertestProvider, SupertestWithoutAuthProvider } from './supertest'; +import { SvlCommonApiServiceProvider } from './svl_common_api'; + export const services = { supertest: SupertestProvider, supertestWithoutAuth: SupertestWithoutAuthProvider, + svlCommonApi: SvlCommonApiServiceProvider, }; diff --git a/x-pack/test_serverless/api_integration/services/svl_common_api.ts b/x-pack/test_serverless/shared/services/svl_common_api.ts similarity index 94% rename from x-pack/test_serverless/api_integration/services/svl_common_api.ts rename to x-pack/test_serverless/shared/services/svl_common_api.ts index b23c8f70a30924..74a69839132806 100644 --- a/x-pack/test_serverless/api_integration/services/svl_common_api.ts +++ b/x-pack/test_serverless/shared/services/svl_common_api.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; -import { FtrProviderContext } from '../ftr_provider_context'; +import { FtrProviderContext } from '../../functional/ftr_provider_context'; const COMMON_REQUEST_HEADERS = { 'kbn-xsrf': 'some-xsrf-token', From 5e5e4cfc0a2d338549d6072df01e86db5f9c163d Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Tue, 12 Sep 2023 08:20:43 -0700 Subject: [PATCH 35/39] [DOCS] Move preconfigured Slack connector details (#166212) --- .../connectors/action-types/slack.asciidoc | 35 +++---------------- .../pre-configured-connectors.asciidoc | 32 +++++++++++++++++ docs/settings/alert-action-settings.asciidoc | 12 +++++++ .../plugins/actions/docs/openapi/bundled.json | 1 + .../plugins/actions/docs/openapi/bundled.yaml | 1 + .../components/schemas/connector_types.yaml | 1 + 6 files changed, 51 insertions(+), 31 deletions(-) diff --git a/docs/management/connectors/action-types/slack.asciidoc b/docs/management/connectors/action-types/slack.asciidoc index c5db456fc56a67..c4f1ea6799fb8c 100644 --- a/docs/management/connectors/action-types/slack.asciidoc +++ b/docs/management/connectors/action-types/slack.asciidoc @@ -3,6 +3,10 @@ ++++ Slack ++++ +:frontmatter-description: Add a connector that can send Slack messages. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The Slack connector uses incoming webhooks or an API method to send Slack messages. @@ -28,37 +32,6 @@ Thus a connector can be used in multiple rules and actions to communicate with d For Slack setup details, go to <>. -[float] -[[preconfigured-slack-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. - -.Example Slack connector with webhook -[source,text] --- -xpack.actions.preconfigured: - my-slack: - name: preconfigured-slack-webhook-connector-type - actionTypeId: .slack - secrets: - webhookUrl: 'https://hooks.slack.com/services/xxxx/xxxx/xxxx' <1> --- -<1> To obtain this value, go to <>. - -.Example Slack connector with web API -[source,text] --- -xpack.actions.preconfigured: - my-slack: - name: preconfigured-slack-api-connector-type - actionTypeId: .slack_api - secrets: - token: 'xoxb-xxxx-xxxx-xxxx' <1> --- -<1> To obtain this value, go to <>. - [float] [[slack-action-configuration]] === Test connectors diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index d271653d7aa28e..0f7c644f3d19de 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -111,6 +111,7 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre * <> * <> * <> +* <> * <> * <> * <> @@ -229,6 +230,37 @@ xpack.actions.preconfigured: actionTypeId: .server-log -- + +[float] +[[preconfigured-slack-configuration]] +==== Slack connectors + +The following example creates a <> with webhook: + +[source,text] +-- +xpack.actions.preconfigured: + my-slack: + name: preconfigured-slack-webhook-connector-type + actionTypeId: .slack + secrets: + webhookUrl: 'https://hooks.slack.com/services/xxxx/xxxx/xxxx' <1> +-- +<1> The Slack webhook URL. + +The following example creates a Slack connector with web API: + +[source,text] +-- +xpack.actions.preconfigured: + my-slack: + name: preconfigured-slack-api-connector-type + actionTypeId: .slack_api + secrets: + token: 'xoxb-xxxx-xxxx-xxxx' <1> +-- +<1> The Slack bot user OAuth token. + [float] [[preconfigured-webhook-configuration]] ==== Webhook connectors diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index ba4332c6eb756e..e1885386e83a87 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -383,6 +383,13 @@ It is used only when `xpack.actions.preconfigured..config.usesBasi + NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure this hostname is added to the allowed hosts. +`xpack.actions.preconfigured..secrets.token`:: +A token secret that varies by connector: ++ +-- +For a <>, specifies the Slack bot user OAuth token. +-- + `xpack.actions.preconfigured..secrets.user`:: A user name secret that varies by connector: + @@ -396,6 +403,11 @@ For a <>, specifies the URL of the incoming w NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname is added to the allowed hosts. +`xpack.actions.preconfigured..secrets.webhookUrl`:: +For a <>, specifies the Slack webhook URL. ++ +NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname is added to the allowed hosts. + [float] [[alert-settings]] === Alerting settings diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index 6027a53092de1b..11f7d67abd9248 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -3986,6 +3986,7 @@ ".servicenow-sir", ".server-log", ".slack", + ".slack_api", ".swimlane", ".teams", ".tines", diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index ee987ebed15685..d5e4ce0dedc95e 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -2754,6 +2754,7 @@ components: - .servicenow-sir - .server-log - .slack + - .slack_api - .swimlane - .teams - .tines diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml index 8b08285f9a0e83..09d301b1cee08d 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml @@ -15,6 +15,7 @@ enum: - .servicenow-sir - .server-log - .slack + - .slack_api - .swimlane - .teams - .tines From aeb26bd19d9e528791a2b4cc8a568307aa15eae6 Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Tue, 12 Sep 2023 08:21:22 -0700 Subject: [PATCH 36/39] [ResponseOps][Alerting] Add summary alerts to alerting serverless tests (#164349) Resolves https://github.com/elastic/kibana/issues/163947 ## Summary Adds AAD summary tests to the alerting serverless tests --- .../common/alerting/alert_documents.ts | 2 - .../alerting/helpers/alerting_api_helper.ts | 37 +- .../helpers/alerting_wait_for_helpers.ts | 5 +- .../test_suites/common/alerting/index.ts | 1 + .../test_suites/common/alerting/rules.ts | 45 +- .../common/alerting/summary_actions.ts | 543 ++++++++++++++++++ 6 files changed, 587 insertions(+), 46 deletions(-) create mode 100644 x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts index fbb2b2498d92de..12d23a3c6d78ea 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts @@ -48,7 +48,6 @@ export default function ({ getService }: FtrProviderContext) { }, }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); objectRemover.add('default', ruleId, 'rule', 'alerting'); // get the first alert document written @@ -176,7 +175,6 @@ export default function ({ getService }: FtrProviderContext) { }, }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); objectRemover.add('default', ruleId, 'rule', 'alerting'); // get the first alert document written diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts index 1ba17b77aca10f..cd378ab98035be 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts @@ -46,8 +46,9 @@ export async function createIndexConnector({ refresh: true, }, connector_type_id: '.index', - }); - return body.id as string; + }) + .expect(200); + return body; } export async function createSlackConnector({ @@ -68,8 +69,9 @@ export async function createSlackConnector({ webhookUrl: 'http://test', }, connector_type_id: '.slack', - }); - return body.id as string; + }) + .expect(200); + return body; } export async function createEsQueryRule({ @@ -111,7 +113,8 @@ export async function createEsQueryRule({ rule_type_id: ruleTypeId, actions, ...(notifyWhen ? { notify_when: notifyWhen, throttle: '5m' } : {}), - }); + }) + .expect(200); return body; } @@ -125,7 +128,8 @@ export async function disableRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_disable`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -141,7 +145,8 @@ export async function updateEsQueryRule({ const { body: r } = await supertest .get(`/api/alerting/rule/${ruleId}`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(200); const body = await supertest .put(`/api/alerting/rule/${ruleId}`) .set('kbn-xsrf', 'foo') @@ -162,7 +167,8 @@ export async function updateEsQueryRule({ })), }, ...updates, - }); + }) + .expect(200); return body; } @@ -176,7 +182,8 @@ export async function runRule({ const response = await supertest .post(`/internal/alerting/rule/${ruleId}/_run_soon`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return response; } @@ -190,7 +197,8 @@ export async function muteRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_mute_all`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -204,7 +212,8 @@ export async function enableRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_enable`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -220,7 +229,8 @@ export async function muteAlert({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/alert/${alertId}/_mute`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -234,6 +244,7 @@ export async function unmuteRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_unmute_all`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts index bdca0ee15040a2..7b86988e879c36 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts @@ -344,10 +344,7 @@ export async function waitForNumRuleRuns({ for (let i = 0; i < numOfRuns; i++) { await pRetry( async () => { - const resp = await runRule({ supertest, ruleId }); - if (resp.status !== 204) { - throw new Error(`Expected ${resp.status} to equal 204`); - } + await runRule({ supertest, ruleId }); await waitForExecutionEventLog({ esClient, filter: testStart, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts index 3225ecb4f71ce7..4367656feae609 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts @@ -11,5 +11,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { describe('Alerting APIs', function () { loadTestFile(require.resolve('./rules')); loadTestFile(require.resolve('./alert_documents')); + loadTestFile(require.resolve('./summary_actions')); }); } diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts index 64c8fda9d60890..dd6060a397059f 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts @@ -61,12 +61,12 @@ export default function ({ getService }: FtrProviderContext) { it('should schedule task, run rule and schedule actions when appropriate', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -111,7 +111,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait for the action to index a document before disabling the alert and waiting for tasks to finish const resp = await waitForDocumentInIndex({ @@ -170,12 +169,12 @@ export default function ({ getService }: FtrProviderContext) { it('should pass updated rule params to executor', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -220,7 +219,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait for the action to index a document before disabling the alert and waiting for tasks to finish const resp = await waitForDocumentInIndex({ @@ -289,11 +287,11 @@ export default function ({ getService }: FtrProviderContext) { const testStart = new Date(); // Should fail - actionId = await createSlackConnector({ + const createdAction = await createSlackConnector({ supertest, name: 'Slack Connector: Alerting API test', }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -326,7 +324,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Should retry when the the action fails const resp = await waitForAllTasks({ @@ -341,12 +338,12 @@ export default function ({ getService }: FtrProviderContext) { it('should throttle alerts when appropriate', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -388,7 +385,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait until alerts ran at least 3 times before disabling the alert and waiting for tasks to finish await waitForNumRuleRuns({ supertest, numOfRuns: 3, ruleId, esClient, testStart }); @@ -415,12 +411,12 @@ export default function ({ getService }: FtrProviderContext) { it('should throttle alerts with throttled action when appropriate', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -466,7 +462,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait until alerts ran at least 3 times before disabling the alert and waiting for tasks to finish await waitForNumRuleRuns({ supertest, numOfRuns: 3, ruleId, esClient, testStart }); @@ -493,12 +488,12 @@ export default function ({ getService }: FtrProviderContext) { it('should reset throttle window when not firing and should not throttle when changing groups', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -568,7 +563,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait for the action to index a document const resp = await waitForDocumentInIndex({ @@ -638,12 +632,12 @@ export default function ({ getService }: FtrProviderContext) { const testStart = new Date(); await createIndex({ esClient, indexName: ALERT_ACTION_INDEX }); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -689,7 +683,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); await muteRule({ supertest, @@ -728,12 +721,12 @@ export default function ({ getService }: FtrProviderContext) { const testStart = new Date(); await createIndex({ esClient, indexName: ALERT_ACTION_INDEX }); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -779,7 +772,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); await muteAlert({ supertest, @@ -816,12 +808,12 @@ export default function ({ getService }: FtrProviderContext) { }); it(`should unmute all instances when unmuting an alert`, async () => { - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -867,7 +859,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); await muteAlert({ supertest, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts new file mode 100644 index 00000000000000..63e34eefae79dd --- /dev/null +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts @@ -0,0 +1,543 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { omit, padStart } from 'lodash'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { createIndexConnector, createEsQueryRule } from './helpers/alerting_api_helper'; +import { + createIndex, + getDocumentsInIndex, + waitForAlertInIndex, + waitForDocumentInIndex, +} from './helpers/alerting_wait_for_helpers'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const esClient = getService('es'); + const esDeleteAllIndices = getService('esDeleteAllIndices'); + + describe('Summary actions', () => { + const RULE_TYPE_ID = '.es-query'; + const ALERT_ACTION_INDEX = 'alert-action-es-query'; + const ALERT_INDEX = '.alerts-stack.alerts-default'; + let actionId: string; + let ruleId: string; + const fields = [ + '@timestamp', + 'event.action', + 'kibana.alert.duration.us', + 'kibana.alert.flapping_history', + 'kibana.alert.maintenance_window_ids', + 'kibana.alert.reason', + 'kibana.alert.rule.execution.uuid', + 'kibana.alert.rule.duration', + 'kibana.alert.start', + 'kibana.alert.time_range', + 'kibana.alert.uuid', + 'kibana.alert.url', + 'kibana.version', + ]; + + afterEach(async () => { + await supertest + .delete(`/api/actions/connector/${actionId}`) + .set('kbn-xsrf', 'foo') + .set('x-elastic-internal-origin', 'foo') + .expect(204); + await supertest + .delete(`/api/alerting/rule/${ruleId}`) + .set('kbn-xsrf', 'foo') + .set('x-elastic-internal-origin', 'foo') + .expect(204); + await esDeleteAllIndices([ALERT_ACTION_INDEX]); + }); + + it('should schedule actions for summary of alerts per rule run', async () => { + const testStart = new Date(); + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onActiveAlert', + throttle: null, + summary: true, + }, + alerts_filter: { + query: { kql: 'kibana.alert.rule.name:always fire', filters: [] }, + }, + }, + ], + }); + ruleId = createdRule.id; + + const resp = await waitForDocumentInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + }); + expect(resp.hits.hits.length).to.be(1); + + const resp2 = await waitForAlertInIndex({ + esClient, + filter: testStart, + indexName: ALERT_INDEX, + ruleId, + num: 1, + }); + expect(resp2.hits.hits.length).to.be(1); + + const document = resp.hits.hits[0]; + expect(document._source).to.eql({ + all: '1', + new: '1', + newIds: '[query matched,]', + ongoing: '0', + ongoingIds: '[]', + recovered: '0', + recoveredIds: '[]', + }); + + const alertDocument = resp2.hits.hits[0]._source as Record; + expect(omit(alertDocument, fields)).to.eql({ + event: { + kind: 'signal', + }, + tags: [], + kibana: { + space_ids: ['default'], + alert: { + title: "rule 'always fire' matched query", + evaluation: { + conditions: 'Number of matching documents is greater than -1', + value: 0, + }, + action_group: 'query matched', + flapping: false, + duration: {}, + instance: { id: 'query matched' }, + status: 'active', + workflow_status: 'open', + rule: { + category: 'Elasticsearch query', + consumer: 'alerts', + name: 'always fire', + execution: {}, + parameters: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: '{\n "query":{\n "match_all" : {}\n }\n}', + timeWindowSize: 20, + timeWindowUnit: 's', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'all', + searchType: 'esQuery', + }, + producer: 'stackAlerts', + revision: 0, + rule_type_id: '.es-query', + tags: [], + uuid: ruleId, + }, + }, + }, + }); + }); + + it('should filter alerts by kql', async () => { + const testStart = new Date(); + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onActiveAlert', + throttle: null, + summary: true, + }, + alerts_filter: { + query: { kql: 'kibana.alert.instance.id:query matched', filters: [] }, + }, + }, + ], + }); + ruleId = createdRule.id; + + const resp = await waitForDocumentInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + }); + expect(resp.hits.hits.length).to.be(1); + + const resp2 = await waitForAlertInIndex({ + esClient, + filter: testStart, + indexName: ALERT_INDEX, + ruleId, + num: 1, + }); + expect(resp2.hits.hits.length).to.be(1); + + const document = resp.hits.hits[0]; + expect(document._source).to.eql({ + all: '1', + new: '1', + newIds: '[query matched,]', + ongoing: '0', + ongoingIds: '[]', + recovered: '0', + recoveredIds: '[]', + }); + + const alertDocument = resp2.hits.hits[0]._source as Record; + expect(omit(alertDocument, fields)).to.eql({ + event: { + kind: 'signal', + }, + tags: [], + kibana: { + space_ids: ['default'], + alert: { + title: "rule 'always fire' matched query", + evaluation: { + conditions: 'Number of matching documents is greater than -1', + value: 0, + }, + action_group: 'query matched', + flapping: false, + duration: {}, + instance: { id: 'query matched' }, + status: 'active', + workflow_status: 'open', + rule: { + category: 'Elasticsearch query', + consumer: 'alerts', + name: 'always fire', + execution: {}, + parameters: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: '{\n "query":{\n "match_all" : {}\n }\n}', + timeWindowSize: 20, + timeWindowUnit: 's', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'all', + searchType: 'esQuery', + }, + producer: 'stackAlerts', + revision: 0, + rule_type_id: '.es-query', + tags: [], + uuid: ruleId, + }, + }, + }, + }); + }); + + it('should filter alerts by hours', async () => { + const now = new Date(); + now.setHours(now.getHours() + 1); + const hour = padStart(now.getUTCHours().toString(), 2, '0'); + const minutes = padStart(now.getUTCMinutes().toString(), 2, '0'); + + const start = `${hour}:${minutes}`; + const end = `${hour}:${minutes}`; + + await createIndex({ esClient, indexName: ALERT_ACTION_INDEX }); + + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + schedule: { interval: '1m' }, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onActiveAlert', + throttle: null, + summary: true, + }, + alerts_filter: { + timeframe: { + days: [1, 2, 3, 4, 5, 6, 7], + timezone: 'UTC', + hours: { start, end }, + }, + }, + }, + ], + }); + ruleId = createdRule.id; + + // Should not have executed any action + const resp = await getDocumentsInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + }); + expect(resp.hits.hits.length).to.be(0); + }); + + it('should schedule actions for summary of alerts on a custom interval', async () => { + const testStart = new Date(); + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + schedule: { interval: '1m' }, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onThrottleInterval', + throttle: '1m', + summary: true, + }, + }, + ], + }); + ruleId = createdRule.id; + + const resp = await waitForDocumentInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + num: 2, + }); + + const resp2 = await waitForAlertInIndex({ + esClient, + filter: testStart, + indexName: ALERT_INDEX, + ruleId, + num: 1, + }); + expect(resp2.hits.hits.length).to.be(1); + + const document = resp.hits.hits[0]; + expect(document._source).to.eql({ + all: '1', + new: '1', + newIds: '[query matched,]', + ongoing: '0', + ongoingIds: '[]', + recovered: '0', + recoveredIds: '[]', + }); + + const document1 = resp.hits.hits[1]; + expect(document1._source).to.eql({ + all: '1', + new: '0', + newIds: '[]', + ongoing: '1', + ongoingIds: '[query matched,]', + recovered: '0', + recoveredIds: '[]', + }); + + const alertDocument = resp2.hits.hits[0]._source as Record; + expect(omit(alertDocument, fields)).to.eql({ + event: { + kind: 'signal', + }, + tags: [], + kibana: { + space_ids: ['default'], + alert: { + title: "rule 'always fire' matched query", + evaluation: { + conditions: 'Number of matching documents is greater than -1', + value: 0, + }, + action_group: 'query matched', + flapping: false, + duration: {}, + instance: { id: 'query matched' }, + status: 'active', + workflow_status: 'open', + rule: { + category: 'Elasticsearch query', + consumer: 'alerts', + name: 'always fire', + execution: {}, + parameters: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: '{\n "query":{\n "match_all" : {}\n }\n}', + timeWindowSize: 20, + timeWindowUnit: 's', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'all', + searchType: 'esQuery', + }, + producer: 'stackAlerts', + revision: 0, + rule_type_id: '.es-query', + tags: [], + uuid: ruleId, + }, + }, + }, + }); + }); + }); +} From ddf1db09f90b45c363fcd875fc7363a245aca969 Mon Sep 17 00:00:00 2001 From: Brandon Morelli Date: Tue, 12 Sep 2023 08:22:08 -0700 Subject: [PATCH 37/39] [docs] Explain max payload size in RUM source map docs (#165732) ## Summary Closes https://github.com/elastic/observability-docs/issues/3021. --- docs/apm/api.asciidoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/apm/api.asciidoc b/docs/apm/api.asciidoc index fb672b2884af20..341e75bbb835cd 100644 --- a/docs/apm/api.asciidoc +++ b/docs/apm/api.asciidoc @@ -503,6 +503,16 @@ The following APIs are available: * <> * <> +[float] +[[limit-sourcemap-api]] +==== Max payload size + +{kib}'s maximum payload size is 1mb. +If you attempt to upload a source map that exceeds the max payload size, you will get a `413` error. + +Before uploading source maps that exceed this default, change the maximum payload size allowed by {kib} +with the <> variable. + [float] [[use-sourcemap-api]] ==== How to use APM APIs From 982b2c86bd322c04c4b956f14db97697f85938cc Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Tue, 12 Sep 2023 08:22:35 -0700 Subject: [PATCH 38/39] [DOCS] Move preconfigured IBM Resilient connector details (#166020) --- .../action-types/resilient.asciidoc | 40 +++---------------- .../pre-configured-connectors.asciidoc | 25 ++++++++++++ docs/settings/alert-action-settings.asciidoc | 10 +++++ 3 files changed, 41 insertions(+), 34 deletions(-) diff --git a/docs/management/connectors/action-types/resilient.asciidoc b/docs/management/connectors/action-types/resilient.asciidoc index a317adf3bfe3e6..04531a71dee624 100644 --- a/docs/management/connectors/action-types/resilient.asciidoc +++ b/docs/management/connectors/action-types/resilient.asciidoc @@ -1,8 +1,12 @@ [[resilient-action-type]] -== IBM Resilient connector and action +== {ibm-r} connector and action ++++ -IBM Resilient +{ibm-r} ++++ +:frontmatter-description: Add a connector that can create {ibm-r} incidents. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The IBM Resilient connector uses the https://developer.ibm.com/security/resilient/rest/[RESILIENT REST v2] to create IBM Resilient incidents. @@ -28,38 +32,6 @@ Organization ID:: IBM Resilient organization ID. API key ID:: The authentication key ID for HTTP Basic authentication. API key secret:: The authentication key secret for HTTP Basic authentication. -[float] -[[preconfigured-resilient-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-resilient: - name: preconfigured-resilient-connector-type - actionTypeId: .resilient - config: - apiUrl: https://elastic.resilient.net - orgId: ES - secrets: - apiKeyId: testuser - apiKeySecret: tokenkeystorevalue --- - -Config defines information for the connector type. - -`apiUrl`:: An address that corresponds to *URL*. -`orgId`:: An ID that corresponds to *Organization ID*. - -Secrets defines sensitive information for the connector type. - -`apiKeyId`:: A string that corresponds to *API key ID*. -`apiKeySecret`:: A string that corresponds to *API Key secret*. Should be stored in the <>. - [float] [[resilient-action-configuration]] === Test connectors diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 0f7c644f3d19de..5808bde4be9ea0 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -106,6 +106,7 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre [float] === Examples +* <> * <> * <> * <> @@ -116,6 +117,30 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre * <> * <> +[float] +[[preconfigured-resilient-configuration]] +==== {ibm-r} connectors + +The following example creates a <>: + +[source,text] +-- +xpack.actions.preconfigured: + my-resilient: + name: preconfigured-resilient-connector-type + actionTypeId: .resilient + config: + apiUrl: https://elastic.resilient.net <1> + orgId: ES <2> + secrets: + apiKeyId: testuser <3> + apiKeySecret: tokenkeystorevalue <4> +-- +<1> The {ibm-r} instance URL. +<2> The {ibm-r} organization identifier. +<3> The authentication key ID for HTTP basic authentication. +<4> The authentication key secret for HTTP basic authentication. NOTE: This value should be stored in the <>. + [float] [[preconfigured-index-configuration]] ==== Index connectors diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index e1885386e83a87..a7d446a19c7930 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -262,6 +262,7 @@ The configuration details, which are specific to the type of preconfigured conne A configuration URL that varies by connector: + -- +* For a <>, specifies the {ibm-r} instance URL. * For a <>, specifies the Jira instance URL. * For an <>, specifies the {opsgenie} URL. For example, `https://api.opsgenie.com` or `https://api.eu.opsgenie.com`. * For a <>, specifies the PagerDuty event URL. Defaults to `https://events.pagerduty.com/v2/enqueue`. @@ -322,6 +323,9 @@ For a <>, specifies a set of k `xpack.actions.preconfigured..config.index`:: For an <>, specifies the {es} index. +`xpack.actions.preconfigured..config.orgId`:: +For an <>, specifies the {ibm-r} organization identifier. + `xpack.actions.preconfigured..config.projectKey`:: For a <>, specifies the Jira project key. @@ -360,6 +364,12 @@ An API key secret that varies by connector: * For an <>, specifies the {opsgenie} API authentication key for HTTP basic authentication. -- +`xpack.actions.preconfigured..secrets.apiKeyId`:: +For an <>, specifies the authentication key ID for HTTP basic authentication. + +`xpack.actions.preconfigured..secrets.apiKeySecret`:: +For an <>, specifies the authentication key secret for HTTP basic authentication. + `xpack.actions.preconfigured..secrets.apiToken`:: For a <>, specifies the API authentication token for HTTP basic authentication. From fb5f8e379b5f91f7b9a53e4f394bdf862dbfddcc Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski Date: Tue, 12 Sep 2023 17:26:16 +0200 Subject: [PATCH 39/39] [EDR Workflows] Change Osquery shards schema (#166178) --- x-pack/plugins/osquery/common/api/packs/create_pack_route.ts | 2 +- x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts b/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts index 9205668d6f73d2..b4f89e7701dd82 100644 --- a/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts +++ b/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts @@ -13,7 +13,7 @@ export const createPackRequestBodySchema = t.type({ description: t.union([t.string, t.undefined]), enabled: t.union([t.boolean, t.undefined]), policy_ids: t.union([t.array(t.string), t.undefined]), - shards: t.record(t.string, toNumberRt), + shards: t.union([t.record(t.string, toNumberRt), t.undefined]), queries: t.record( t.string, t.type({ diff --git a/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts b/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts index 8429e7a91f68bc..ea94b8783bd451 100644 --- a/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts +++ b/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts @@ -67,7 +67,7 @@ export const createPackRoute = (router: IRouter, osqueryContext: OsqueryAppConte const currentUser = await osqueryContext.security.authc.getCurrentUser(request)?.username; // eslint-disable-next-line @typescript-eslint/naming-convention - const { name, description, queries, enabled, policy_ids, shards } = request.body; + const { name, description, queries, enabled, policy_ids, shards = {} } = request.body; const conflictingEntries = await savedObjectsClient.find({ type: packSavedObjectType, filter: `${packSavedObjectType}.attributes.name: "${name}"`,

    + ); + } + + if (content) { + content = ( + + {content} + + ); + } + + return ( +
    + + {content} + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/description/index.ts b/packages/kbn-management/settings/components/field_row/description/index.ts new file mode 100644 index 00000000000000..e0b513037b6d16 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { FieldDescription, type FieldDescriptionProps } from './description'; diff --git a/packages/kbn-management/settings/components/field_row/field_row.styles.ts b/packages/kbn-management/settings/components/field_row/field_row.styles.ts new file mode 100644 index 00000000000000..ece92a9fbd1aa0 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/field_row.styles.ts @@ -0,0 +1,56 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useEuiTheme } from '@elastic/eui'; +import { css } from '@emotion/react'; +import { UnsavedFieldChange, FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; + +/** + * Parameters for the {@link useFieldStyles} hook. + */ +export interface Params { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'savedValue'>; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * A React hook that provides stateful `css` classes for the {@link FieldRow} component. + */ +export const useFieldStyles = ({ field, unsavedChange }: Params) => { + const { + euiTheme: { size, colors }, + } = useEuiTheme(); + + const unsaved = hasUnsavedChange(field, unsavedChange); + const error = unsavedChange?.error; + + return { + cssFieldFormGroup: css` + + * { + margin-top: ${size.base}; + } + `, + cssFieldTitle: css` + font-weight: bold; + padding-left: ${size.s}; + margin-left: -${size.s}; + + ${unsaved ? `box-shadow: -${size.xs} 0 ${colors.warning};` : ''} + + ${error ? `box-shadow: -${size.xs} 0 ${colors.danger};` : ''} + `, + cssDescription: css` + & > div { + margin-bottom: ${size.s}; + } + `, + }; +}; diff --git a/packages/kbn-management/settings/components/field_row/field_row.test.tsx b/packages/kbn-management/settings/components/field_row/field_row.test.tsx new file mode 100644 index 00000000000000..481cb43b6fcf9a --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/field_row.test.tsx @@ -0,0 +1,481 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { fireEvent, render, waitFor } from '@testing-library/react'; + +import { SettingType } from '@kbn/management-settings-types'; +import { getFieldDefinition } from '@kbn/management-settings-field-definition'; +import { KnownTypeToMetadata } from '@kbn/management-settings-types/metadata'; + +import { DATA_TEST_SUBJ_SCREEN_READER_MESSAGE, FieldRow } from './field_row'; +import { wrap } from './mocks'; + +import { TEST_SUBJ_PREFIX_FIELD } from '@kbn/management-settings-components-field-input/input'; +import { DATA_TEST_SUBJ_OVERRIDDEN_PREFIX } from './input_footer/overridden_message'; +import { DATA_TEST_SUBJ_RESET_PREFIX } from './input_footer/reset_link'; + +const defaults = { + requiresPageReload: false, + readonly: false, + category: ['category'], +}; + +const defaultValues: Record = { + array: ['example_value'], + boolean: true, + color: '#FF00CC', + image: '', + json: "{ foo: 'bar2' }", + markdown: 'Hello World', + number: 1, + select: 'apple', + string: 'hello world', + undefined: 'undefined', +}; + +const defaultInputValues: Record = { + array: 'example_value', + boolean: true, + color: '#FF00CC', + image: '', + json: '{"hello": "world"}', + markdown: '**bold**', + number: 1, + select: 'apple', + string: 'hello world', + undefined: 'undefined', +}; + +const userValues: Record = { + array: ['user', 'value'], + boolean: false, + image: 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', + json: '{"hello": "world"}', + markdown: '**bold**', + number: 10, + select: 'banana', + string: 'foo', + color: '#FACF0C', + undefined: 'something', +}; + +const userInputValues: Record = { + array: 'user, value', + boolean: false, + image: 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', + json: '{"hello": "world"}', + markdown: '**bold**', + number: 10, + select: 'banana', + string: 'foo', + color: '#FACF0C', + undefined: 'something', +}; + +type Settings = { + [key in SettingType]: KnownTypeToMetadata; +}; + +const settings: Omit = { + array: { + description: 'Description for Array test setting', + name: 'array:test:setting', + type: 'array', + userValue: undefined, + value: defaultValues.array, + ...defaults, + }, + boolean: { + description: 'Description for Boolean test setting', + name: 'boolean:test:setting', + type: 'boolean', + userValue: undefined, + value: defaultValues.boolean, + ...defaults, + }, + color: { + description: 'Description for Color test setting', + name: 'color:test:setting', + type: 'color', + userValue: undefined, + value: defaultValues.color, + ...defaults, + }, + image: { + description: 'Description for Image test setting', + name: 'image:test:setting', + type: 'image', + userValue: undefined, + value: defaultValues.image, + ...defaults, + }, + // This is going to take a lot of mocks to test. + // + // json: { + // name: 'json:test:setting', + // description: 'Description for Json test setting', + // type: 'json', + // userValue: '{"foo": "bar"}', + // value: '{}', + // ...defaults, + // }, + // + // This is going to take a lot of mocks to test. + // + // markdown: { + // name: 'markdown:test:setting', + // description: 'Description for Markdown test setting', + // type: 'markdown', + // userValue: undefined, + // value: '', + // ...defaults, + // }, + number: { + description: 'Description for Number test setting', + name: 'number:test:setting', + type: 'number', + userValue: undefined, + value: defaultValues.number, + ...defaults, + }, + select: { + description: 'Description for Select test setting', + name: 'select:test:setting', + options: ['apple', 'orange', 'banana'], + optionLabels: { + apple: 'Apple', + orange: 'Orange', + banana: 'Banana', + }, + type: 'select', + userValue: undefined, + value: defaultValues.select, + ...defaults, + }, + string: { + description: 'Description for String test setting', + name: 'string:test:setting', + type: 'string', + userValue: undefined, + value: defaultValues.string, + ...defaults, + }, + undefined: { + description: 'Description for Undefined test setting', + name: 'undefined:test:setting', + type: 'undefined', + userValue: undefined, + value: defaultValues.undefined, + ...defaults, + }, +}; + +const handleChange = jest.fn(); + +describe('Field', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + (Object.keys(settings) as SettingType[]).forEach((type) => { + if (type === 'json' || type === 'markdown') { + return; + } + + const setting = settings[type]; + const id = settings[type].name || type; + const inputTestSubj = `${TEST_SUBJ_PREFIX_FIELD}-${id}`; + + describe(`for ${type} setting`, () => { + it('should render', () => { + const { container } = render( + wrap( + + ) + ); + + expect(container).toBeInTheDocument(); + }); + + it('should render default value if there is no user value set', () => { + const { getByTestId } = render( + wrap( + + ) + ); + + if (type === 'boolean') { + expect(getByTestId(inputTestSubj)).toHaveAttribute('aria-checked', 'true'); + } else if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toHaveValue( + defaultInputValues[type] + ); + } else if (type === 'number') { + expect(getByTestId(inputTestSubj)).toHaveValue(defaultInputValues[type]); + } else if (type === 'image') { + expect(getByTestId(inputTestSubj)).toBeInTheDocument(); + expect(getByTestId(inputTestSubj)).toHaveAttribute('type', 'file'); + } else { + expect(getByTestId(inputTestSubj)).toHaveValue(String(defaultInputValues[type]) as any); + } + }); + + it('should render as read only with help text if overridden', async () => { + const { getByTestId } = render( + wrap( + + ) + ); + if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toBeDisabled(); + } else { + expect(getByTestId(inputTestSubj)).toBeDisabled(); + } + + expect(getByTestId(`${DATA_TEST_SUBJ_OVERRIDDEN_PREFIX}-${id}`)).toBeInTheDocument(); + }); + + it('should render as read only if saving is disabled', () => { + const { getByTestId } = render( + wrap( + + ) + ); + if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toBeDisabled(); + } else { + expect(getByTestId(inputTestSubj)).toBeDisabled(); + } + }); + + it('should render user value if there is user value is set', async () => { + const { getByTestId, getByAltText } = render( + wrap( + + ) + ); + + if (type === 'boolean') { + expect(getByTestId(inputTestSubj)).toHaveAttribute('aria-checked', 'false'); + } else if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toHaveValue( + userValues[type] + ); + } else if (type === 'number') { + expect(getByTestId(inputTestSubj)).toHaveValue(userValues[type]); + } else if (type === 'image') { + expect(getByAltText(id)).toBeInTheDocument(); + expect(getByAltText(id)).toHaveAttribute('src', userValues[type]); + } else { + expect(getByTestId(inputTestSubj)).toHaveValue(String(userInputValues[type]) as any); + } + }); + + it('should render custom setting icon if it is custom', () => { + const { getByText } = render( + wrap( + + ) + ); + + expect(getByText('Custom setting')).toBeInTheDocument(); + }); + + it('should render unsaved value if there are unsaved changes', () => { + const { getByTestId, getByAltText } = render( + wrap( + + ) + ); + + if (type === 'boolean') { + expect(getByTestId(inputTestSubj)).toHaveAttribute('aria-checked', 'false'); + } else if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toHaveValue( + userInputValues[type] + ); + } else if (type === 'number') { + expect(getByTestId(inputTestSubj)).toHaveValue(userInputValues[type]); + } else if (type === 'image') { + expect(getByAltText(id)).toBeInTheDocument(); + expect(getByAltText(id)).toHaveAttribute('src', userValues[type]); + } else { + expect(getByTestId(inputTestSubj)).toHaveValue(String(userInputValues[type]) as any); + } + }); + + it('should reset when reset link is clicked', () => { + const field = getFieldDefinition({ + id, + setting: { + ...setting, + userValue: userValues[type], + }, + }); + + const { getByTestId } = render( + wrap() + ); + + const input = getByTestId(`${DATA_TEST_SUBJ_RESET_PREFIX}-${field.id}`); + fireEvent.click(input); + expect(handleChange).toHaveBeenCalledWith(field.id, { + type, + unsavedValue: field.defaultValue, + }); + }); + }); + }); + + it('should fire onChange when input changes', () => { + const setting = settings.string; + const field = getFieldDefinition({ id: setting.name || setting.type, setting }); + + const { getByTestId } = render( + wrap() + ); + + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: 'new value' } }); + expect(handleChange).toHaveBeenCalledWith(field.id, { + type: 'string', + unsavedValue: 'new value', + }); + }); + + it('should fire onChange with an error when input changes with invalid value', () => { + const setting = settings.color; + const field = getFieldDefinition({ id: setting.name || setting.type, setting }); + + const { getByTestId } = render( + wrap() + ); + + const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: '#1234' } }); + + expect(handleChange).toHaveBeenCalledWith(field.id, { + type: 'color', + error: 'Provide a valid color value', + isInvalid: true, + unsavedValue: '#1234', + }); + }); + + it('should show screen reader content with an unsaved change.', () => { + const setting = settings.color; + const field = getFieldDefinition({ id: setting.name || setting.type, setting }); + + const { getByText, getByTestId } = render( + wrap( + + ) + ); + + expect(getByText('Setting is currently not saved.')).toBeInTheDocument(); + const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: '#1235' } }); + waitFor(() => expect(input).toHaveValue('#1235')); + waitFor(() => + expect(getByTestId(`${DATA_TEST_SUBJ_SCREEN_READER_MESSAGE}-${field.id}`)).toBe( + 'Provide a valid color value' + ) + ); + }); + + it('should clear the unsaved value if the new value matches the saved value', () => { + const setting = settings.string; + const field = getFieldDefinition({ + id: setting.name || setting.type, + setting: { + ...setting, + userValue: 'saved value', + }, + }); + + const unsavedChange = { + type: 'string' as const, + unsavedValue: 'new value', + }; + + const { getByTestId } = render( + wrap( + + ) + ); + + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: field.savedValue } }); + expect(handleChange).toHaveBeenCalledWith(field.id, { + type: 'string', + unsavedValue: undefined, + }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/field_row.tsx b/packages/kbn-management/settings/components/field_row/field_row.tsx new file mode 100644 index 00000000000000..c7f90af8c90fdc --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/field_row.tsx @@ -0,0 +1,160 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import { + EuiScreenReaderOnly, + EuiDescribedFormGroup, + EuiFormRow, + EuiErrorBoundary, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; +import { isImageFieldDefinition } from '@kbn/management-settings-field-definition'; +import { FieldInput, type OnChangeParams } from '@kbn/management-settings-components-field-input'; +import { isUnsavedValue } from '@kbn/management-settings-utilities'; + +import { FieldDescription } from './description'; +import { FieldTitle } from './title'; +import { FieldInputFooter } from './input_footer'; +import { useFieldStyles } from './field_row.styles'; +import { OnChangeFn } from './types'; + +export const DATA_TEST_SUBJ_SCREEN_READER_MESSAGE = 'fieldRowScreenReaderMessage'; + +/** + * Props for a {@link FieldRow} component. + */ +export interface FieldRowProps { + /** True if saving settings is enabled, false otherwise. */ + isSavingEnabled: boolean; + /** The {@link OnChangeFn} handler. */ + onChange: OnChangeFn; + /** + * The onClear handler, if a value is cleared to an empty or default state. + * @param id The id relating to the field to clear. + */ + onClear?: (id: string) => void; + /** The {@link FieldDefinition} corresponding the setting. */ + field: FieldDefinition; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for displaying a {@link FieldDefinition} in a form row, using a {@link FieldInput}. + * @param props The {@link FieldRowProps} for the {@link FieldRow} component. + */ +export const FieldRow = (props: FieldRowProps) => { + const { isSavingEnabled, onChange: onChangeProp, field, unsavedChange } = props; + const { id, name, groupId, isOverridden, type, unsavedFieldId } = field; + const { cssFieldFormGroup } = useFieldStyles({ + field, + unsavedChange, + }); + + const onChange = (changes: UnsavedFieldChange) => { + onChangeProp(name, changes); + }; + + const resetField = () => { + const { defaultValue: unsavedValue } = field; + return onChange({ type, unsavedValue }); + }; + + const onFieldChange = ({ isInvalid, error, value: unsavedValue }: OnChangeParams) => { + if (error) { + isInvalid = true; + } + + const change = { + type, + isInvalid, + error, + }; + + if (!isUnsavedValue(field, unsavedValue)) { + onChange(change); + } else { + onChange({ + ...change, + unsavedValue, + }); + } + }; + + const title = ; + const description = ; + const error = unsavedChange?.error; + const isInvalid = unsavedChange?.isInvalid; + let unsavedScreenReaderMessage = null; + + const helpText = ( + + ); + + if (unsavedChange) { + unsavedScreenReaderMessage = ( + +

    + {error + ? error + : i18n.translate('management.settings.field.settingIsUnsaved', { + defaultMessage: 'Setting is currently not saved.', + })} +

    +
    + ); + } + + return ( + + + + <> + + {unsavedScreenReaderMessage} + + + + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/index.ts b/packages/kbn-management/settings/components/field_row/index.ts new file mode 100644 index 00000000000000..f54eadd4467edc --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { FieldRow, type FieldRowProps as FieldProps } from './field_row'; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx new file mode 100644 index 00000000000000..3c01240a9e9ea8 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import React from 'react'; +import { render } from '@testing-library/react'; +import { ChangeImageLink } from './change_image_link'; +import { ImageFieldDefinition } from '@kbn/management-settings-types'; +import { wrap } from '../mocks'; +import { IMAGE } from '@kbn/management-settings-field-definition/storybook'; + +describe('ChangeImageLink', () => { + const defaultProps = { + field: { + name: 'test', + type: 'image', + ariaAttributes: { + ariaLabel: 'test', + }, + } as ImageFieldDefinition, + onChange: jest.fn(), + onCancel: jest.fn(), + onReset: jest.fn(), + unsavedChange: undefined, + }; + + it('does not render no saved value and no unsaved change', () => { + const { container } = render( + wrap() + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders with a saved value and no unsaved change', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).not.toBeNull(); + }); + + it('renders if there is a saved value and the unsaved value is undefined', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).not.toBeNull(); + }); + + it('renders nothing when there is an unsaved change', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders an aria-label', () => { + const { getByLabelText } = render( + wrap( + + ) + ); + const link = getByLabelText('Change test'); + expect(link).not.toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx new file mode 100644 index 00000000000000..c4e6df6b4521b4 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx @@ -0,0 +1,86 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiLink } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; +import { OnChangeFn } from '@kbn/management-settings-components-field-input'; +import { + isImageFieldDefinition, + isImageFieldUnsavedChange, +} from '@kbn/management-settings-field-definition'; + +type Field = Pick< + FieldDefinition, + 'name' | 'defaultValue' | 'type' | 'savedValue' | 'savedValue' | 'ariaAttributes' +>; +/** + * Props for a {@link ChangeImageLink} component. + */ +export interface ChangeImageLinkProps { + /** The {@link ImageFieldDefinition} corresponding the setting. */ + field: Field; + /** The {@link OnChangeFn} event handler. */ + onChange: OnChangeFn; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for rendering a link to change the image in a {@link FieldRow} of + * an {@link ImageFieldDefinition}. + */ +export const ChangeImageLink = ({ + field, + onChange, + unsavedChange, +}: ChangeImageLinkProps) => { + if (hasUnsavedChange(field, unsavedChange)) { + return null; + } + + const { unsavedValue } = unsavedChange || {}; + const { + savedValue, + ariaAttributes: { ariaLabel }, + name, + defaultValue, + } = field; + + if (unsavedValue || !savedValue) { + return null; + } + + if (isImageFieldDefinition(field) && isImageFieldUnsavedChange(unsavedChange)) { + return ( + + onChange({ value: defaultValue })} + data-test-subj={`management-settings-changeImage-${name}`} + > + + + + ); + } + + return null; +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/index.ts b/packages/kbn-management/settings/components/field_row/input_footer/index.ts new file mode 100644 index 00000000000000..d840b892b9bd8f --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { FieldInputFooter, type FieldInputFooterProps } from './input_footer'; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx b/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx new file mode 100644 index 00000000000000..5a2e12f39f6b2d --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +import { OnChangeFn } from '@kbn/management-settings-components-field-input'; + +import { FieldResetLink } from './reset_link'; +import { ChangeImageLink } from './change_image_link'; +import { FieldOverriddenMessage } from './overridden_message'; + +export const DATA_TEST_SUBJ_FOOTER_PREFIX = 'field-row-input-footer'; + +type Field = Pick< + FieldDefinition, + 'id' | 'name' | 'isOverridden' | 'type' | 'ariaAttributes' | 'isDefaultValue' +>; + +/** + * Props for a {@link FieldInputFooter} component. + */ +export interface FieldInputFooterProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Field; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; + /** The {@link OnChangeFn} handler. */ + onChange: OnChangeFn; + /** A handler for when a field is reset to its default or saved value. */ + onReset: () => void; + /** True if saving this setting is enabled, false otherwise. */ + isSavingEnabled: boolean; +} + +export const FieldInputFooter = ({ + isSavingEnabled, + field, + onReset, + ...props +}: FieldInputFooterProps) => { + if (field.isOverridden) { + return ; + } + + if (isSavingEnabled) { + return ( + + + + + ); + } + + return null; +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx new file mode 100644 index 00000000000000..ab894cf013174e --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { FieldOverriddenMessage } from './overridden_message'; +import { FieldDefinition } from '@kbn/management-settings-types'; + +describe('FieldOverriddenMessage', () => { + const defaultProps = { + field: { + name: 'test', + type: 'string', + isOverridden: false, + } as FieldDefinition<'string'>, + }; + + it('renders without errors', () => { + const { container } = render( + + ); + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if the field is not overridden', () => { + const { container } = render(); + expect(container.firstChild).toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx new file mode 100644 index 00000000000000..bff68afb370c2f --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiText } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import type { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +type Field = Pick, 'id' | 'isOverridden' | 'name'>; + +export const DATA_TEST_SUBJ_OVERRIDDEN_PREFIX = 'field-row-input-overridden-message'; + +/** + * Props for a {@link FieldOverriddenMessage} component. + */ +export interface FieldOverriddenMessageProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Field; +} + +export const FieldOverriddenMessage = ({ + field, +}: FieldOverriddenMessageProps) => { + if (!field.isOverridden) { + return null; + } + + return ( + + + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx new file mode 100644 index 00000000000000..52cf165ab9b9fe --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render, fireEvent } from '@testing-library/react'; + +import { FieldDefinition } from '@kbn/management-settings-types'; + +import { wrap } from '../mocks'; +import { FieldResetLink } from './reset_link'; + +describe('FieldResetLink', () => { + const defaultProps = { + field: { + name: 'test', + type: 'string', + isDefaultValue: false, + ariaAttributes: {}, + } as FieldDefinition<'string'>, + onReset: jest.fn(), + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if the field is already at its default value', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders a link to reset the field if it is not at its default value', () => { + const { getByText } = render(wrap()); + const link = getByText('Reset to default'); + expect(link).toBeInTheDocument(); + }); + + it('calls the onReset prop when the link is clicked', () => { + const { getByText } = render(wrap()); + const link = getByText('Reset to default'); + fireEvent.click(link); + expect(defaultProps.onReset).toHaveBeenCalled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx new file mode 100644 index 00000000000000..2703a4121107d7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiLink } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +/** + * Props for a {@link FieldResetLink} component. + */ +export interface FieldResetLinkProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'id' | 'isDefaultValue' | 'ariaAttributes'>; + /** A handler for when a field is reset to its default or saved value. */ + onReset: () => void; +} + +export const DATA_TEST_SUBJ_RESET_PREFIX = 'management-settings-resetField'; +/** + * Component for rendering a link to reset a {@link FieldDefinition} to its default + * or saved value. + */ +export const FieldResetLink = ({ + onReset, + field, +}: FieldResetLinkProps) => { + if (field.isDefaultValue) { + return null; + } + + const { + id, + ariaAttributes: { ariaLabel }, + } = field; + + return ( + + + + +     + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/kibana.jsonc b/packages/kbn-management/settings/components/field_row/kibana.jsonc new file mode 100644 index 00000000000000..ceec221d6a2d2a --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-components-field-row", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/components/field_row/mocks/context.tsx b/packages/kbn-management/settings/components/field_row/mocks/context.tsx new file mode 100644 index 00000000000000..f8109b6dd08b10 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/mocks/context.tsx @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { ReactChild } from 'react'; +import { I18nProvider } from '@kbn/i18n-react'; + +import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; +import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { I18nStart } from '@kbn/core-i18n-browser'; + +import { createFieldInputServicesMock } from '@kbn/management-settings-components-field-input/mocks'; +import { FieldInputServices } from '@kbn/management-settings-components-field-input/mocks'; +import { FieldRowProvider } from '../services'; +import { FieldRowServices } from '../types'; + +const createRootMock = () => { + const i18n: I18nStart = { + Context: ({ children }) => {children}, + }; + const theme = themeServiceMock.createStartContract(); + return { + i18n, + theme, + }; +}; + +export const createFieldRowServicesMock = (): FieldRowServices => ({ + ...createFieldInputServicesMock(), + links: { deprecationKey: 'link/to/deprecation/docs' }, +}); + +export const TestWrapper = ({ + children, + services = createFieldRowServicesMock(), +}: { + children: ReactChild; + services?: FieldRowServices; +}) => { + return ( + + {children} + + ); +}; + +export const wrap = ( + component: JSX.Element, + services: FieldInputServices = createFieldRowServicesMock() +) => {component}; diff --git a/packages/kbn-management/settings/components/field_row/mocks/index.ts b/packages/kbn-management/settings/components/field_row/mocks/index.ts new file mode 100644 index 00000000000000..2fbe57cd371083 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/mocks/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { TestWrapper, createFieldRowServicesMock, wrap } from './context'; diff --git a/packages/kbn-management/settings/components/field_row/package.json b/packages/kbn-management/settings/components/field_row/package.json new file mode 100644 index 00000000000000..aa5daf8a30cd71 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-components-field-row", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_row/services.tsx b/packages/kbn-management/settings/components/field_row/services.tsx new file mode 100644 index 00000000000000..7d9fab6d870351 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/services.tsx @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + FieldInputKibanaProvider, + FieldInputProvider, +} from '@kbn/management-settings-components-field-input/services'; +import React, { FC, useContext } from 'react'; + +import type { FieldRowServices, FieldRowKibanaDependencies, Services } from './types'; + +const FieldRowContext = React.createContext(null); + +/** + * React Provider that provides services to a {@link FieldRow} component and its dependents. + */ +export const FieldRowProvider: FC = ({ children, ...services }) => { + // Typescript types are widened to accept more than what is needed. Take only what is necessary + // so the context remains clean. + const { links, showDanger } = services; + + return ( + + {children} + + ); +}; + +/** + * Kibana-specific Provider that maps Kibana plugins and services to a {@link FieldRowProvider}. + */ +export const FieldRowKibanaProvider: FC = ({ + children, + docLinks, + toasts, +}) => { + return ( + + {children} + + ); +}; + +/** + * React hook for accessing pre-wired services. + */ +export const useServices = () => { + const context = useContext(FieldRowContext); + + if (!context) { + throw new Error( + 'FieldRowContext is missing. Ensure your component or React root is wrapped with FieldRowProvider.' + ); + } + + return context; +}; diff --git a/packages/kbn-management/settings/components/field_row/setup_tests.ts b/packages/kbn-management/settings/components/field_row/setup_tests.ts new file mode 100644 index 00000000000000..8d1acb92329341 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/setup_tests.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-extraneous-dependencies +import '@testing-library/jest-dom'; diff --git a/packages/kbn-management/settings/components/field_row/title/icon_custom.tsx b/packages/kbn-management/settings/components/field_row/title/icon_custom.tsx new file mode 100644 index 00000000000000..d773eb136b3b0c --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/icon_custom.tsx @@ -0,0 +1,48 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import { EuiIconTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +/** + * Props for a {@link FieldTitle} component. + */ +export interface TitleProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'isCustom'>; +} + +/** + * + */ +export const FieldTitleCustomIcon = ({ field }: TitleProps) => { + if (!field.isCustom) { + return null; + } + + return ( + + } + /> + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx b/packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx new file mode 100644 index 00000000000000..bf44a0686d60ec --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +import { EuiIconTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { FieldDefinition, UnsavedFieldChange, SettingType } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; + +/** + * Props for a {@link FieldTitle} component. + */ +export interface TitleProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'id' | 'type' | 'isOverridden' | 'savedValue'>; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * + */ +export const FieldTitleUnsavedIcon = ({ + field, + unsavedChange, +}: TitleProps) => { + if (!unsavedChange || !hasUnsavedChange(field, unsavedChange)) { + return null; + } + + const { isInvalid } = unsavedChange; + + const invalidLabel = i18n.translate('management.settings.field.invalidIconLabel', { + defaultMessage: 'Invalid', + }); + + const unsavedLabel = i18n.translate('management.settings.field.unsavedIconLabel', { + defaultMessage: 'Unsaved', + }); + + const unsavedIconLabel = unsavedChange.isInvalid ? invalidLabel : unsavedLabel; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/title/index.ts b/packages/kbn-management/settings/components/field_row/title/index.ts new file mode 100644 index 00000000000000..f2a757252e6994 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { FieldTitle, type TitleProps } from './title'; diff --git a/packages/kbn-management/settings/components/field_row/title/title.tsx b/packages/kbn-management/settings/components/field_row/title/title.tsx new file mode 100644 index 00000000000000..36c60423942876 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/title.tsx @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import type { Interpolation, Theme } from '@emotion/react'; + +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; + +import { FieldDefinition, UnsavedFieldChange, SettingType } from '@kbn/management-settings-types'; + +import { useFieldStyles } from '../field_row.styles'; +import { FieldTitleCustomIcon } from './icon_custom'; +import { FieldTitleUnsavedIcon } from './icon_unsaved'; + +/** + * Props for a {@link FieldTitle} component. + */ +export interface TitleProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: FieldDefinition; + /** Emotion-based `css` for the root React element. */ + css?: Interpolation; + /** Classname for the root React element. */ + className?: string; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for displaying the `displayName` and status of a {@link FieldDefinition} in + * the {@link FieldRow}. + */ +export const FieldTitle = ({ + field, + unsavedChange, + ...props +}: TitleProps) => { + const { cssFieldTitle } = useFieldStyles({ + field, + unsavedChange, + }); + + return ( + + +

    {field.displayName}

    +
    + + + + + + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/tsconfig.json b/packages/kbn-management/settings/components/field_row/tsconfig.json new file mode 100644 index 00000000000000..173fbd57d08b60 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/tsconfig.json @@ -0,0 +1,33 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react", + "@kbn/ambient-ui-types", + "@kbn/ambient-storybook-types", + "@emotion/react/types/css-prop" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + "@kbn/management-settings-field-definition", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/management-settings-utilities", + "@kbn/management-settings-components-field-input", + "@kbn/core-doc-links-browser", + "@kbn/react-kibana-context-root", + "@kbn/core-theme-browser-mocks", + "@kbn/core-i18n-browser", + ] +} diff --git a/packages/kbn-management/settings/components/field_row/types.ts b/packages/kbn-management/settings/components/field_row/types.ts new file mode 100644 index 00000000000000..9eec1eb234f2c7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/types.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { DocLinksStart } from '@kbn/core-doc-links-browser'; + +import type { + FieldInputServices, + FieldInputKibanaDependencies, +} from '@kbn/management-settings-components-field-input'; +import { SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; + +/** + * Contextual services used by a {@link FieldRow} component. + */ +export interface Services { + links: { [key: string]: string }; +} + +/** + * Contextual services used by a {@link FieldRow} component and its dependents. + */ +export type FieldRowServices = FieldInputServices & Services; + +/** + * An interface containing a collection of Kibana plugins and services required to + * render a {@link FieldRow} component. + */ +export interface KibanaDependencies { + docLinks: { + links: { + management: DocLinksStart['links']['management']; + }; + }; +} + +/** + * An interface containing a collection of Kibana plugins and services required to + * render a {@link FieldRow} component and its dependents. + */ +export type FieldRowKibanaDependencies = KibanaDependencies & FieldInputKibanaDependencies; + +/** + * An `onChange` handler for a {@link FieldRow} component. + * @param id A unique id corresponding to the particular setting being changed. + * @param change The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. + */ +export type OnChangeFn = (id: string, change: UnsavedFieldChange) => void; diff --git a/packages/kbn-management/settings/field_definition/README.mdx b/packages/kbn-management/settings/field_definition/README.mdx new file mode 100644 index 00000000000000..c26b5d850358c8 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/README.mdx @@ -0,0 +1,14 @@ +--- +id: management/settings/fieldDefinition +slug: /management/settings/field-definition +title: Management Settings Field Definition +description: A package containing utilities for creating and examining Field Definitions from Advanced Settings. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains utilities for creating and examining Field Definitions from Advanced Settings. + +Since a raw `UiSetting` is not type-safe and can be difficult to work with in the UX, this `FieldDefinition` provides a type-safe abstraction over the raw `UiSetting` _and_ provides additional UI-centric information derived from the setting. diff --git a/packages/kbn-management/settings/field_definition/get_definition.ts b/packages/kbn-management/settings/field_definition/get_definition.ts new file mode 100644 index 00000000000000..e6b29e6f437cad --- /dev/null +++ b/packages/kbn-management/settings/field_definition/get_definition.ts @@ -0,0 +1,151 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import words from 'lodash/words'; +import isEqual from 'lodash/isEqual'; + +import { Query } from '@elastic/eui'; +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { UiSettingMetadata } from '@kbn/management-settings-types/metadata'; + +/** + * The portion of the setting name that defines the category of the setting. + */ +export const CATEGORY_FIELD = 'category'; + +/** + * The default category for a setting, if not supplied. + */ +export const DEFAULT_CATEGORY = 'general'; + +const mapWords = (name?: string): string => + words(name ?? '') + .map((word) => word.toLowerCase()) + .join(' '); + +/** + * Derive the aria-label for a given setting based on its name and category. + */ +const getAriaLabel = (name: string = '') => { + const query = Query.parse(name); + + if (query.hasOrFieldClause(CATEGORY_FIELD)) { + const categories = query.getOrFieldClause(CATEGORY_FIELD); + const termValue = mapWords(query.removeOrFieldClauses(CATEGORY_FIELD).text); + + if (!categories || !Array.isArray(categories.value)) { + return termValue; + } + + let categoriesQuery = Query.parse(''); + categories.value.forEach((v) => { + categoriesQuery = categoriesQuery.addOrFieldValue(CATEGORY_FIELD, v); + }); + + return `${termValue} ${categoriesQuery.text}`; + } + + return mapWords(name); +}; + +/** + * Parameters for converting a {@link UiSettingMetadata} object into a {@link FieldDefinition} + * for use in the UI. + * @internal + */ +interface GetDefinitionParams { + /** The id of the field. */ + id: string; + /** The source setting from Kibana. */ + setting: UiSettingMetadata; + /** Optional parameters */ + params?: { + /** True if the setting it custom, false otherwise */ + isCustom?: boolean; + /** True if the setting is overridden in Kibana, false otherwise. */ + isOverridden?: boolean; + }; +} + +/** + * Create a {@link FieldDefinition} from a {@link UiSettingMetadata} object for use + * in the UI. + * + * @param parameters The {@link GetDefinitionParams} for creating the {@link FieldDefinition}. + */ +export const getFieldDefinition = ( + parameters: GetDefinitionParams +): FieldDefinition => { + const { id, setting, params = { isCustom: false, isOverridden: false } } = parameters; + + const { + category, + deprecation, + description, + metric, + name, + optionLabels, + options: optionValues, + order, + readonly, + requiresPageReload, + type, + userValue: savedValue, + value: defaultValue, + } = setting; + + const { isCustom, isOverridden } = params; + const categories = category && category.length ? category : [DEFAULT_CATEGORY]; + + const options = { + values: optionValues || [], + labels: optionLabels || {}, + }; + + const defaultValueDisplay = + defaultValue === undefined || defaultValue === null || defaultValue === '' + ? 'null' + : String(defaultValue); + + const definition: FieldDefinition = { + ariaAttributes: { + ariaLabel: getAriaLabel(name), + // ariaDescribedBy: unsavedChange.value ? `${groupId} ${unsavedId}` : undefined, + }, + categories, + defaultValue, + defaultValueDisplay, + deprecation, + description, + displayName: name || id, + groupId: `${name || id}-group`, + id, + isCustom: isCustom || false, + isDefaultValue: isEqual(defaultValue, setting.userValue), + isOverridden: isOverridden || false, + isReadOnly: !!readonly, + metric, + name: name || id, + options, + order, + requiresPageReload: !!requiresPageReload, + savedValue, + type, + unsavedFieldId: `${id}-unsaved`, + }; + + // TODO: clintandrewhall - add validation (e.g. `select` contains non-empty `options`) + return definition; +}; diff --git a/packages/kbn-management/settings/field_definition/index.ts b/packages/kbn-management/settings/field_definition/index.ts new file mode 100644 index 00000000000000..2cd44db7df3b46 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/index.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { + isArrayFieldDefinition, + isArrayFieldUnsavedChange, + isBooleanFieldDefinition, + isBooleanFieldUnsavedChange, + isColorFieldDefinition, + isColorFieldUnsavedChange, + isImageFieldDefinition, + isImageFieldUnsavedChange, + isJsonFieldDefinition, + isJsonFieldUnsavedChange, + isMarkdownFieldDefinition, + isMarkdownFieldUnsavedChange, + isNumberFieldDefinition, + isNumberFieldUnsavedChange, + isSelectFieldDefinition, + isSelectFieldUnsavedChange, + isStringFieldDefinition, + isStringFieldUnsavedChange, + isUndefinedFieldDefinition, + isUndefinedFieldUnsavedChange, +} from './is'; + +export { getFieldDefinition } from './get_definition'; diff --git a/packages/kbn-management/settings/field_definition/is/field_definition.ts b/packages/kbn-management/settings/field_definition/is/field_definition.ts new file mode 100644 index 00000000000000..52c6e83468177d --- /dev/null +++ b/packages/kbn-management/settings/field_definition/is/field_definition.ts @@ -0,0 +1,114 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// This file is enormous and looks a bit excessive, but it's actually a collection +// of type guards. +// +// In the past, the UI would key off of the `type` property of a UISetting to do +// its work. This was not at all type-safe, and it was easy to make mistakes. +// +// These type guards narrow a given {@link FieldDefinition} to its correct Typescript +// interface. What's interesting is that these guards compile to checking the `type` +// property of the object-- just as we did before-- but with the benefit of Typescript. + +import { + ArrayFieldDefinition, + BooleanFieldDefinition, + ColorFieldDefinition, + FieldDefinition, + ImageFieldDefinition, + JsonFieldDefinition, + MarkdownFieldDefinition, + NumberFieldDefinition, + SelectFieldDefinition, + SettingType, + StringFieldDefinition, + UndefinedFieldDefinition, +} from '@kbn/management-settings-types'; + +/** Simplifed type for a {@link FieldDefinition} */ +type Definition = Pick, 'type'>; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link ArrayFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isArrayFieldDefinition = (d: Definition): d is ArrayFieldDefinition => + d.type === 'array'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link BooleanFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isBooleanFieldDefinition = (d: Definition): d is BooleanFieldDefinition => + d.type === 'boolean'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link ColorFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isColorFieldDefinition = (d: Definition): d is ColorFieldDefinition => + d.type === 'color'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link ImageFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isImageFieldDefinition = (d: Definition): d is ImageFieldDefinition => + d.type === 'image'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link JsonFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isJsonFieldDefinition = (d: Definition): d is JsonFieldDefinition => d.type === 'json'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link MarkdownFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isMarkdownFieldDefinition = (d: Definition): d is MarkdownFieldDefinition => + d.type === 'markdown'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link NumberFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isNumberFieldDefinition = (d: Definition): d is NumberFieldDefinition => + d.type === 'number'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link SelectFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isSelectFieldDefinition = (d: Definition): d is SelectFieldDefinition => + d.type === 'select'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link StringFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isStringFieldDefinition = (d: Definition): d is StringFieldDefinition => + d.type === 'string'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link UndefinedFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isUndefinedFieldDefinition = (d: Definition): d is UndefinedFieldDefinition => + d.type === 'undefined'; diff --git a/packages/kbn-management/settings/field_definition/is/index.ts b/packages/kbn-management/settings/field_definition/is/index.ts new file mode 100644 index 00000000000000..ad5eb46cd3f535 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/is/index.ts @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { + isArrayFieldUnsavedChange, + isBooleanFieldUnsavedChange, + isColorFieldUnsavedChange, + isImageFieldUnsavedChange, + isJsonFieldUnsavedChange, + isMarkdownFieldUnsavedChange, + isNumberFieldUnsavedChange, + isSelectFieldUnsavedChange, + isStringFieldUnsavedChange, + isUndefinedFieldUnsavedChange, +} from './unsaved_change'; + +export { + isArrayFieldDefinition, + isBooleanFieldDefinition, + isColorFieldDefinition, + isImageFieldDefinition, + isJsonFieldDefinition, + isMarkdownFieldDefinition, + isNumberFieldDefinition, + isSelectFieldDefinition, + isStringFieldDefinition, + isUndefinedFieldDefinition, +} from './field_definition'; diff --git a/packages/kbn-management/settings/field_definition/is/unsaved_change.ts b/packages/kbn-management/settings/field_definition/is/unsaved_change.ts new file mode 100644 index 00000000000000..6af63db17e36a4 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/is/unsaved_change.ts @@ -0,0 +1,115 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// This file is enormous and looks a bit excessive, but it's actually a collection +// of type guards. +// +// In the past, the UI would key off of the `type` property of a UISetting to do +// its work. This was not at all type-safe, and it was easy to make mistakes. +// +// These type guards narrow a given {@link UnsavedFieldChange} to its correct Typescript +// interface. What's interesting is that these guards compile to checking the `type` +// property of the object-- just as we did before-- but with the benefit of Typescript. + +import { + ArrayUnsavedFieldChange, + BooleanUnsavedFieldChange, + ColorUnsavedFieldChange, + ImageUnsavedFieldChange, + JsonUnsavedFieldChange, + MarkdownUnsavedFieldChange, + NumberUnsavedFieldChange, + SelectUnsavedFieldChange, + StringUnsavedFieldChange, + UndefinedUnsavedFieldChange, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +/** Simplifed type for a {@link UnsavedFieldChange} */ +type Change = UnsavedFieldChange; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link ArrayUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isArrayFieldUnsavedChange = (c?: Change): c is ArrayUnsavedFieldChange => + !c || c.type === undefined || c.type === 'array'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link BooleanUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isBooleanFieldUnsavedChange = (c?: Change): c is BooleanUnsavedFieldChange => + !c || c.type === undefined || c.type === 'boolean'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link ColorUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isColorFieldUnsavedChange = (c?: Change): c is ColorUnsavedFieldChange => + !c || c.type === undefined || c.type === 'color'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link ImageUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isImageFieldUnsavedChange = (c?: Change): c is ImageUnsavedFieldChange => + !c || c.type === undefined || c.type === 'image'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link JsonUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isJsonFieldUnsavedChange = (c?: Change): c is JsonUnsavedFieldChange => + !c || c.type === undefined || c.type === 'json'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link MarkdownUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isMarkdownFieldUnsavedChange = (c?: Change): c is MarkdownUnsavedFieldChange => + !c || c.type === undefined || c.type === 'markdown'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link NumberUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isNumberFieldUnsavedChange = (c?: Change): c is NumberUnsavedFieldChange => + !c || c.type === undefined || c.type === 'number'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link SelectUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isSelectFieldUnsavedChange = (c?: Change): c is SelectUnsavedFieldChange => + !c || c.type === undefined || c.type === 'select'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link StringUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isStringFieldUnsavedChange = (c?: Change): c is StringUnsavedFieldChange => + !c || c.type === undefined || c.type === 'string'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link UndefinedUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isUndefinedFieldUnsavedChange = (c?: Change): c is UndefinedUnsavedFieldChange => + !c || c.type === undefined || c.type === 'undefined'; diff --git a/packages/kbn-management/settings/field_definition/kibana.jsonc b/packages/kbn-management/settings/field_definition/kibana.jsonc new file mode 100644 index 00000000000000..687f04662bbe40 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-field-definition", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/field_definition/package.json b/packages/kbn-management/settings/field_definition/package.json new file mode 100644 index 00000000000000..63a4f90a3ee16c --- /dev/null +++ b/packages/kbn-management/settings/field_definition/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-field-definition", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/field_definition/storybook/field_definition.ts b/packages/kbn-management/settings/field_definition/storybook/field_definition.ts new file mode 100644 index 00000000000000..022b2e3e98050f --- /dev/null +++ b/packages/kbn-management/settings/field_definition/storybook/field_definition.ts @@ -0,0 +1,100 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useState } from 'react'; +import isEqual from 'lodash/isEqual'; + +import { action } from '@storybook/addon-actions'; + +import type { + FieldDefinition, + KnownTypeToValue, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +import { UiSettingMetadata } from '@kbn/management-settings-types/metadata'; +import { getFieldDefinition } from '../get_definition'; + +/** + * Expand a typed {@link UiSettingMetadata} object with common {@link UiSettingMetadata} properties. + */ +const expandSetting = ( + setting: UiSettingMetadata +): UiSettingMetadata => { + const { type } = setting; + return { + ...setting, + category: ['categoryOne', 'categoryTwo'], + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu odio velit. Integer et mauris quis ligula elementum commodo. Morbi eu ipsum diam. Nulla auctor orci eget egestas vehicula. Aliquam gravida, dolor eu posuere vulputate, neque enim viverra odio, id viverra ipsum quam et ipsum.', + name: `Some ${type} setting`, + requiresPageReload: false, + }; +}; + +interface OnChangeParams { + value?: KnownTypeToValue | null; + isInvalid?: boolean; + error?: string; +} + +type OnChangeFn = (params: OnChangeParams | null) => void; + +/** + * Hook to build and maintain a {@link FieldDefinition} for a given {@link UiSettingMetadata} object + * for use in Storybook. It provides the {@link FieldDefinition}, a stateful + * {@link UnsavedFieldChange} object, and an {@link OnChangeFn} to update the unsaved change based + * on the action taken within a {@link FieldInput} or {@link FieldRow}. + */ +export const useFieldDefinition = ( + baseSetting: UiSettingMetadata, + params: { isCustom?: boolean; isOverridden?: boolean; isDeprecated?: boolean } = {} +): [FieldDefinition, UnsavedFieldChange, OnChangeFn] => { + const setting = { + ...expandSetting(baseSetting), + deprecation: params.isDeprecated + ? { message: 'This setting is deprecated', docLinksKey: 'storybook' } + : undefined, + }; + + const field = getFieldDefinition({ + id: setting.name?.split(' ').join(':').toLowerCase() || setting.type, + setting, + params, + }); + + const { type, savedValue } = field; + + const [unsavedChange, setUnsavedChange] = useState>({ type }); + + const onChange: OnChangeFn = (change) => { + if (!change) { + return; + } + + const { value, error, isInvalid } = change; + + if (isEqual(value, savedValue)) { + setUnsavedChange({ type }); + } else { + setUnsavedChange({ type, unsavedValue: value, error, isInvalid }); + } + + const formattedSavedValue = type === 'image' ? String(savedValue).slice(0, 25) : savedValue; + const formattedUnsavedValue = type === 'image' ? String(value).slice(0, 25) : value; + + action('onChange')({ + type, + unsavedValue: formattedUnsavedValue, + savedValue: formattedSavedValue, + }); + }; + + return [field, unsavedChange, onChange]; +}; diff --git a/packages/kbn-management/settings/field_definition/storybook/index.ts b/packages/kbn-management/settings/field_definition/storybook/index.ts new file mode 100644 index 00000000000000..b372e1db1cf1b3 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/storybook/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { getDefaultValue, getUserValue, IMAGE } from './values'; +export { useFieldDefinition } from './field_definition'; diff --git a/packages/kbn-management/settings/field_definition/storybook/values.ts b/packages/kbn-management/settings/field_definition/storybook/values.ts new file mode 100644 index 00000000000000..875f3eb11205af --- /dev/null +++ b/packages/kbn-management/settings/field_definition/storybook/values.ts @@ -0,0 +1,88 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SettingType } from '@kbn/management-settings-types'; + +const LOREM = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu odio velit. Integer et mauris quis ligula elementum commodo. Morbi eu ipsum diam. Nulla auctor orci eget egestas vehicula. Aliquam gravida, dolor eu posuere vulputate, neque enim viverra odio, id viverra ipsum quam et ipsum.'; + +const JSON_DEFAULT = `{ + "foo": "bar" +}`; + +const JSON_USER = `{ + "foo": "baz", + "bar": "qux" +}`; + +const MARKDOWN = `# Heading 1 + +${LOREM.split('. ') + .map((sentence) => `- ${sentence}.`) + .join('\n')} +`; + +/** + * A predefined Image as a Base64 string. + */ +export const IMAGE = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAADMElEQVR4nOzVwQnAIBQFQYXff81RUkQCOyDj1YOPnbXWPmeTRef+/3O/OyBjzh3CD95BfqICMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMO0TAAD//2Anhf4QtqobAAAAAElFTkSuQmCC +`; + +/** + * Given a {@link SettingType}, returns a compatible user-defined value. + */ +export const getUserValue = (type: SettingType) => { + switch (type) { + case 'array': + return ['foo', 'bar']; + case 'boolean': + return true; + case 'color': + return '#654321'; + case 'image': + return IMAGE; + case 'json': + return JSON_USER; + case 'markdown': + return MARKDOWN; + case 'number': + return 54321; + case 'select': + return 'option2'; + case 'string': + default: + return 'some user value'; + } +}; + +/** + * Given a {@link SettingType}, returns a compatible default value. + */ +export const getDefaultValue = (type: SettingType) => { + switch (type) { + case 'array': + return ['foo', 'bar', 'baz']; + case 'boolean': + return false; + case 'color': + return '#123456'; + case 'image': + return ''; + case 'json': + return JSON_DEFAULT; + case 'markdown': + return ''; + case 'number': + return 12345; + case 'select': + return 'option1'; + case 'string': + default: + return 'some default'; + } +}; diff --git a/packages/kbn-management/settings/field_definition/tsconfig.json b/packages/kbn-management/settings/field_definition/tsconfig.json new file mode 100644 index 00000000000000..4b85716365f5ae --- /dev/null +++ b/packages/kbn-management/settings/field_definition/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + ] +} diff --git a/packages/kbn-management/settings/section_registry/jest.config.js b/packages/kbn-management/settings/jest.config.js similarity index 55% rename from packages/kbn-management/settings/section_registry/jest.config.js rename to packages/kbn-management/settings/jest.config.js index f183446f77bc63..f9df4c078fa83d 100644 --- a/packages/kbn-management/settings/section_registry/jest.config.js +++ b/packages/kbn-management/settings/jest.config.js @@ -8,12 +8,10 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/packages/kbn-management/settings/section_registry'], - coverageDirectory: - '/target/kibana-coverage/jest/packages/kbn-management/settings/section_registry', + rootDir: '../../..', + roots: ['/packages/kbn-management/settings'], + coverageDirectory: '/target/kibana-coverage/jest/packages/kbn-management/settings', coverageReporters: ['text', 'html'], - collectCoverageFrom: [ - '/packages/kbn-management/settings/section_registry/**/*.{ts,tsx}', - ], + collectCoverageFrom: ['/packages/kbn-management/settings/**/*.{ts,tsx}'], + coveragePathIgnorePatterns: ['__stories__', '.stories.tsx', 'storybook', 'mocks'], }; diff --git a/packages/kbn-management/settings/types/README.mdx b/packages/kbn-management/settings/types/README.mdx new file mode 100644 index 00000000000000..be258389beefee --- /dev/null +++ b/packages/kbn-management/settings/types/README.mdx @@ -0,0 +1,12 @@ +--- +id: management/settings/types +slug: /management/settings/types +title: Management Settings Typescript Types +description: Common types for objects and functions for Advanced Settings in Stack Management. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains common types used throughout the `@kbn/management-settings-*` packages. diff --git a/packages/kbn-management/settings/types/field_definition.ts b/packages/kbn-management/settings/types/field_definition.ts new file mode 100644 index 00000000000000..eb34df3b67868f --- /dev/null +++ b/packages/kbn-management/settings/types/field_definition.ts @@ -0,0 +1,155 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ReactElement } from 'react'; + +import { UiCounterMetricType } from '@kbn/analytics'; +import { DeprecationSettings } from '@kbn/core-ui-settings-common'; + +import { KnownTypeToValue, SettingType } from './setting_type'; + +/** + * A {@link FieldDefinition} adapts a {@link UiSettingMetadata} object to be more + * easily consumed by the UI. It contains additional information about the field + * that is determined from a given UiSettingMetadata object, (which is a type + * representing a UiSetting). + * @public + */ +export interface FieldDefinition | null> { + /** UX ARIA attributes derived from the setting. */ + ariaAttributes: { + /** The `aria-label` attribute for the field input. */ + ariaLabel: string; + /** The `aria-describedby` attribute for the field input. */ + ariaDescribedBy?: string; + }; + /** A list of categories related to the field. */ + categories: string[]; + /** The default value of the field from Kibana. */ + defaultValue?: V; + /** The text-based display of the default value, for use in the UI. */ + defaultValueDisplay: string; + /** + * Deprecation information for the field + * @see {@link DeprecationSettings} + */ + deprecation?: DeprecationSettings; + /** A description of the field. */ + description?: string | ReactElement; + /** The name of the field suitable for display in the UX. */ + displayName: string; + /** The grouping identifier for the field. */ + groupId: string; + /** The unique identifier of the field, typically separated by `:` */ + id: string; + /** True if the field is a custom setting, false otherwise. */ + isCustom: boolean; + /** True if the current saved setting matches the default setting. */ + isDefaultValue: boolean; + /** True if the setting is overridden in Kibana, false otherwise. */ + isOverridden: boolean; + /** True if the setting is read-only, false otherwise. */ + isReadOnly: boolean; + /** Metric information when one interacts with the field. */ + metric?: { + /** The metric name. */ + name?: string; + /** The metric type. */ + type?: UiCounterMetricType; + }; + /** The name of the field suitable for use in the UX. */ + name: string; + /** Option information if the field represents a `select` setting. */ + options?: { + /** Option values for the field. */ + values: string[] | number[]; + /** Option labels organized by value. */ + labels: Record; + }; + /** A rank order for the field relative to other fields. */ + order: number | undefined; + /** True if the browser must be reloaded for the setting to take effect, false otherwise. */ + requiresPageReload: boolean; + /** The current saved value of the setting. */ + savedValue?: V; + /** + * The type of setting the field represents. + * @see {@link SettingType} + */ + type: T; + /** An identifier of the field when it has an unsaved change. */ + unsavedFieldId: string; +} + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `array` type + * for use in the UI. + */ +export type ArrayFieldDefinition = FieldDefinition<'array'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `boolean` type + * for use in the UI. + */ +export type BooleanFieldDefinition = FieldDefinition<'boolean'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `color` type + * for use in the UI. + */ +export type ColorFieldDefinition = FieldDefinition<'color'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `image` type + * for use in the UI. + */ +export type ImageFieldDefinition = FieldDefinition<'image'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `json` type + * for use in the UI. + */ +export type JsonFieldDefinition = FieldDefinition<'json'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `markdown` type + * for use in the UI. + */ +export type MarkdownFieldDefinition = FieldDefinition<'markdown'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `number` type + * for use in the UI. + */ +export type NumberFieldDefinition = FieldDefinition<'number'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `select` type + * for use in the UI. + */ +export interface SelectFieldDefinition extends FieldDefinition<'select'> { + /** Options are required when this definition is used. */ + options: { + /** Option values for the field. */ + values: string[] | number[]; + /** Option labels organized by value. */ + labels: Record; + }; +} + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `string` type + * for use in the UI. + */ +export type StringFieldDefinition = FieldDefinition<'string'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `undefined` type + * for use in the UI. + */ +export type UndefinedFieldDefinition = FieldDefinition<'undefined'>; diff --git a/packages/kbn-management/settings/types/index.ts b/packages/kbn-management/settings/types/index.ts new file mode 100644 index 00000000000000..cc4d1738997a60 --- /dev/null +++ b/packages/kbn-management/settings/types/index.ts @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export type { + ArrayFieldDefinition, + BooleanFieldDefinition, + ColorFieldDefinition, + ImageFieldDefinition, + JsonFieldDefinition, + FieldDefinition, + MarkdownFieldDefinition, + NumberFieldDefinition, + SelectFieldDefinition, + StringFieldDefinition, + UndefinedFieldDefinition, +} from './field_definition'; + +export type { + ArrayUiSettingMetadata, + BooleanUiSettingMetadata, + ColorUiSettingMetadata, + ImageUiSettingMetadata, + JsonUiSettingMetadata, + MarkdownUiSettingMetadata, + NumberUiSettingMetadata, + SelectUiSettingMetadata, + StringUiSettingMetadata, + UndefinedUiSettingMetadata, + UiSettingMetadata, + KnownTypeToMetadata, +} from './metadata'; + +export type { + ArrayUnsavedFieldChange, + BooleanUnsavedFieldChange, + ColorUnsavedFieldChange, + ImageUnsavedFieldChange, + JsonUnsavedFieldChange, + MarkdownUnsavedFieldChange, + NumberUnsavedFieldChange, + SelectUnsavedFieldChange, + StringUnsavedFieldChange, + UndefinedUnsavedFieldChange, + UnsavedFieldChange, +} from './unsaved_change'; + +export type { + ArraySettingType, + BooleanSettingType, + KnownTypeToValue, + NumberSettingType, + SettingType, + StringSettingType, + UndefinedSettingType, + Value, +} from './setting_type'; diff --git a/packages/kbn-management/settings/types/kibana.jsonc b/packages/kbn-management/settings/types/kibana.jsonc new file mode 100644 index 00000000000000..9482b2bb0f15fa --- /dev/null +++ b/packages/kbn-management/settings/types/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-types", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/types/metadata.ts b/packages/kbn-management/settings/types/metadata.ts new file mode 100644 index 00000000000000..8e191310b943df --- /dev/null +++ b/packages/kbn-management/settings/types/metadata.ts @@ -0,0 +1,114 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { PublicUiSettingsParams, UserProvidedValues } from '@kbn/core/public'; +import { KnownTypeToValue, SettingType } from './setting_type'; + +/** + * Creating this type based on {@link UiSettingsClientCommon} and exporting for ease. + */ +type UiSetting = PublicUiSettingsParams & UserProvidedValues; + +/** + * This is an type-safe abstraction over the {@link UiSetting} type, whose fields + * are not only optional, but also not strongly typed to + * {@link @kbn/core-ui-settings-common#UiSettingsType}. + * + * @public + */ +export interface UiSettingMetadata | null> + extends UiSetting { + /** + * The type of setting being represented. + * @see{@link SettingType} + */ + type: T; + /** The default value in Kibana for the setting. */ + value?: V; + /** The value saved by the user. */ + userValue?: V; +} + +/** + * This is an type-safe abstraction over the {@link UiSetting} `array` type. + * @public + */ +export type ArrayUiSettingMetadata = UiSettingMetadata<'array'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `boolean` type. + * @public + */ +export type BooleanUiSettingMetadata = UiSettingMetadata<'boolean'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `color` type. + * @public + */ +export type ColorUiSettingMetadata = UiSettingMetadata<'color'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `image` type. + * @public + */ +export type ImageUiSettingMetadata = UiSettingMetadata<'image'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `json` type. + * @public + */ +export type JsonUiSettingMetadata = UiSettingMetadata<'json'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `markdown` type. + * @public + */ +export type MarkdownUiSettingMetadata = UiSettingMetadata<'markdown'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `number` type. + * @public + */ +export type NumberUiSettingMetadata = UiSettingMetadata<'number'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `select` type. + * @public + */ +export type SelectUiSettingMetadata = UiSettingMetadata<'select'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `string` type. + * @public + */ +export type StringUiSettingMetadata = UiSettingMetadata<'string'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `undefined` type. + * @public + */ +export type UndefinedUiSettingMetadata = UiSettingMetadata<'undefined'>; + +// prettier-ignore +/** + * This is a narrowing type, which finds the correct {@link UiSettingMetadata} + * type based on a given {@link SettingType}. + * @public + */ +export type KnownTypeToMetadata = + T extends 'array' ? ArrayUiSettingMetadata + : T extends 'boolean' ? BooleanUiSettingMetadata + : T extends 'color' ? ColorUiSettingMetadata + : T extends 'image' ? ImageUiSettingMetadata + : T extends 'json' ? JsonUiSettingMetadata + : T extends 'markdown' ? MarkdownUiSettingMetadata + : T extends 'number' ? NumberUiSettingMetadata + : T extends 'select' ? SelectUiSettingMetadata + : T extends 'string' ? StringUiSettingMetadata + : T extends 'undefined' ? UndefinedUiSettingMetadata + : never; diff --git a/packages/kbn-management/settings/types/package.json b/packages/kbn-management/settings/types/package.json new file mode 100644 index 00000000000000..43ed71ecaca839 --- /dev/null +++ b/packages/kbn-management/settings/types/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-types", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/types/setting_type.ts b/packages/kbn-management/settings/types/setting_type.ts new file mode 100644 index 00000000000000..da297c6d941714 --- /dev/null +++ b/packages/kbn-management/settings/types/setting_type.ts @@ -0,0 +1,72 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { UiSettingsType } from '@kbn/core-ui-settings-common'; + +/** + * This is a local type equivalent to {@link UiSettingsType} for flexibility. + * @public + */ +export type SettingType = UiSettingsType; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `array` primitive type value. + * @public + */ +export type ArraySettingType = Extract; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `boolean` primitive type value. + * @public + */ +export type BooleanSettingType = Extract; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `number` primitive type value. + * @public + */ +export type NumberSettingType = Extract; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `string` primitive type value. + * @public + */ +export type StringSettingType = Extract< + SettingType, + 'color' | 'image' | 'json' | 'markdown' | 'select' | 'string' +>; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `undefined` type value. + * @public + */ +export type UndefinedSettingType = Extract; + +/** + * A type representing all possible values corresponding to a given {@link SettingType}. + */ +export type Value = string | boolean | number | Array | undefined | null; + +// prettier-ignore +/** + * This is a narrowing type, which finds the correct primitive type based on a + * given {@link SettingType}. + * @public + */ +export type KnownTypeToValue = + T extends 'color' | 'image' | 'json' | 'markdown' | 'select' | 'string' ? string : + T extends 'boolean' ? boolean : + T extends 'number' | 'bigint' ? number : + T extends 'array' ? Array : + T extends 'undefined' ? undefined: + never; diff --git a/packages/kbn-management/settings/types/tsconfig.json b/packages/kbn-management/settings/types/tsconfig.json new file mode 100644 index 00000000000000..345fbe3125a798 --- /dev/null +++ b/packages/kbn-management/settings/types/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/analytics", + "@kbn/core", + "@kbn/core-ui-settings-common", + ] +} diff --git a/packages/kbn-management/settings/types/unsaved_change.ts b/packages/kbn-management/settings/types/unsaved_change.ts new file mode 100644 index 00000000000000..3bd815187f70a2 --- /dev/null +++ b/packages/kbn-management/settings/types/unsaved_change.ts @@ -0,0 +1,127 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { KnownTypeToValue, SettingType } from './setting_type'; + +/** + * A {@link UnsavedFieldChange} represents local changes to a field that have not + * yet been saved. + * @public + */ +export interface UnsavedFieldChange { + /** + * The type of setting. + * @see {@link SettingType} + */ + type: T; + /** An error message, if any, from the change. */ + error?: string | null; + /** True if the change is invalid for the field, false otherwise. */ + isInvalid?: boolean; + /** The current unsaved value stored in the field. */ + unsavedValue?: KnownTypeToValue | null; +} + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `number` value + * for use in the UI. + * @public + */ +export type ArrayUnsavedFieldChange = UnsavedFieldChange<'array'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `boolean` value + * for use in the UI. + * @public + */ +export type BooleanUnsavedFieldChange = UnsavedFieldChange<'boolean'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `color` value + * for use in the UI. + * @public + */ +export type ColorUnsavedFieldChange = UnsavedFieldChange<'color'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `image` value + * for use in the UI. + * @public + */ +export type ImageUnsavedFieldChange = UnsavedFieldChange<'image'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `json` value + * for use in the UI. + * @public + */ +export type JsonUnsavedFieldChange = UnsavedFieldChange<'json'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `markdown` value + * for use in the UI. + * @public + */ +export type MarkdownUnsavedFieldChange = UnsavedFieldChange<'markdown'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `number` value + * for use in the UI. + * @public + */ +export type NumberUnsavedFieldChange = UnsavedFieldChange<'number'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `select` value + * for use in the UI. + * @public + */ +export type SelectUnsavedFieldChange = UnsavedFieldChange<'select'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `string` value + * for use in the UI. + * @public + */ +export type StringUnsavedFieldChange = UnsavedFieldChange<'string'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `undefined` value + * for use in the UI. + * @public + */ +export type UndefinedUnsavedFieldChange = UnsavedFieldChange<'undefined'>; + +// prettier-ignore +/** + * This is a narrowing type, which finds the correct primitive type based on a + * given {@link SettingType}. + * @public + */ +export type KnownTypeToUnsavedChange = + T extends 'array' ? ArrayUnsavedFieldChange : + T extends 'boolean' ? BooleanUnsavedFieldChange : + T extends 'color' ? ColorUnsavedFieldChange : + T extends 'image' ? ImageUnsavedFieldChange : + T extends 'json' ? JsonUnsavedFieldChange : + T extends 'markdown' ? MarkdownUnsavedFieldChange : + T extends 'number' | 'bigint' ? NumberUnsavedFieldChange : + T extends 'select' ? SelectUnsavedFieldChange : + T extends 'string' ? StringUnsavedFieldChange: + T extends 'undefined' ? UndefinedUnsavedFieldChange : + never; diff --git a/packages/kbn-management/settings/utilities/README.mdx b/packages/kbn-management/settings/utilities/README.mdx new file mode 100644 index 00000000000000..ef147d2fac2525 --- /dev/null +++ b/packages/kbn-management/settings/utilities/README.mdx @@ -0,0 +1,12 @@ +--- +id: management/settings/utilities +slug: /management/settings/utilities +title: Management Settings Utilities +description: Utilities for working with Advanced Settings in Stack Management. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains common utility functions for working with Advanced Settings in Stack Management. diff --git a/packages/kbn-management/settings/utilities/get_input_value.ts b/packages/kbn-management/settings/utilities/get_input_value.ts new file mode 100644 index 00000000000000..17ae6833fdb817 --- /dev/null +++ b/packages/kbn-management/settings/utilities/get_input_value.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SettingType, UnsavedFieldChange, FieldDefinition } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from './has_unsaved_change'; + +type F = Pick, 'savedValue' | 'defaultValue'>; +type C = UnsavedFieldChange; + +/** + * Convenience function that, given a {@link FieldDefinition} and an {@link UnsavedFieldChange}, + * returns the value to be displayed in the input field, and a boolean indicating whether the + * value is an unsaved value. + * + * @param field The field to compare. + * @param change The unsaved change to compare. + */ +export function getInputValue(field: F<'array'>, change: C<'array'>): [string[], boolean]; +export function getInputValue(field: F<'color'>, change: C<'color'>): [string, boolean]; +export function getInputValue(field: F<'boolean'>, change: C<'boolean'>): [boolean, boolean]; +export function getInputValue(field: F<'image'>, change: C<'image'>): [string, boolean]; +export function getInputValue(field: F<'json'>, change: C<'json'>): [string, boolean]; +export function getInputValue(field: F<'markdown'>, change: C<'markdown'>): [string, boolean]; +export function getInputValue(field: F<'number'>, change: C<'number'>): [number, boolean]; +export function getInputValue(field: F<'select'>, change: C<'select'>): [string, boolean]; +export function getInputValue(field: F<'string'>, change: C<'string'>): [string, boolean]; +export function getInputValue( + field: F<'undefined'>, + change: C<'undefined'> +): [string | null | undefined, boolean]; +export function getInputValue(field: F, change: C) { + const isUnsavedValue = hasUnsavedChange(field, change); + + const value = isUnsavedValue + ? change.unsavedValue + : field.savedValue !== undefined && field.savedValue !== null + ? field.savedValue + : field.defaultValue; + + return [value, isUnsavedValue]; +} diff --git a/packages/kbn-management/settings/utilities/has_unsaved_change.ts b/packages/kbn-management/settings/utilities/has_unsaved_change.ts new file mode 100644 index 00000000000000..0ac783b439e4a4 --- /dev/null +++ b/packages/kbn-management/settings/utilities/has_unsaved_change.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import isEqual from 'lodash/isEqual'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +/** + * Compares a given {@link FieldDefinition} to an {@link UnsavedFieldChange} to determine + * if the field has an unsaved change in the UI. + * + * @param field The field to compare. + * @param unsavedChange The unsaved change to compare. + */ +export const hasUnsavedChange = ( + field: Pick, 'savedValue'>, + unsavedChange?: Pick, 'unsavedValue'> +) => { + if (!unsavedChange) { + return false; + } + + const { unsavedValue } = unsavedChange; + const { savedValue } = field; + return unsavedValue !== undefined && !isEqual(unsavedValue, savedValue); +}; diff --git a/packages/kbn-management/settings/utilities/index.ts b/packages/kbn-management/settings/utilities/index.ts new file mode 100644 index 00000000000000..1c35af180866db --- /dev/null +++ b/packages/kbn-management/settings/utilities/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { hasUnsavedChange } from './has_unsaved_change'; +export { isUnsavedValue } from './is_unsaved_value'; +export { getInputValue } from './get_input_value'; diff --git a/packages/kbn-management/settings/utilities/is_unsaved_value.ts b/packages/kbn-management/settings/utilities/is_unsaved_value.ts new file mode 100644 index 00000000000000..863d6c8b59ba02 --- /dev/null +++ b/packages/kbn-management/settings/utilities/is_unsaved_value.ts @@ -0,0 +1,27 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import isEqual from 'lodash/isEqual'; + +import { FieldDefinition, KnownTypeToValue, SettingType } from '@kbn/management-settings-types'; + +/** + * Convenience function to compare a given {@link FieldDefinition} to an {@link UnsavedFieldChange} + * to determine if the value in the unsaved change is a different value from what is saved. + * + * @param field The field to compare. + * @param unsavedValue The unsaved value to compare. + */ +export const isUnsavedValue = ( + field: FieldDefinition, + unsavedValue?: KnownTypeToValue | null +) => { + const { savedValue } = field; + + return unsavedValue !== undefined && !isEqual(unsavedValue, savedValue); +}; diff --git a/packages/kbn-management/settings/utilities/kibana.jsonc b/packages/kbn-management/settings/utilities/kibana.jsonc new file mode 100644 index 00000000000000..391d209e9f1920 --- /dev/null +++ b/packages/kbn-management/settings/utilities/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-utilities", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/utilities/package.json b/packages/kbn-management/settings/utilities/package.json new file mode 100644 index 00000000000000..b82429aa307079 --- /dev/null +++ b/packages/kbn-management/settings/utilities/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-utilities", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/utilities/tsconfig.json b/packages/kbn-management/settings/utilities/tsconfig.json new file mode 100644 index 00000000000000..1247d2cd187077 --- /dev/null +++ b/packages/kbn-management/settings/utilities/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + ] +} diff --git a/packages/kbn-management/storybook/config/tsconfig.json b/packages/kbn-management/storybook/config/tsconfig.json index 52ae9f82c90f62..d383f3b0ba61e7 100644 --- a/packages/kbn-management/storybook/config/tsconfig.json +++ b/packages/kbn-management/storybook/config/tsconfig.json @@ -4,7 +4,10 @@ "outDir": "target/types", "types": [ "jest", - "node" + "node", + "@kbn/ambient-ui-types", + "@kbn/ambient-storybook-types", + "@emotion/react/types/css-prop" ] }, "include": [ diff --git a/packages/kbn-storybook/templates/index.ejs b/packages/kbn-storybook/templates/index.ejs index 21e1035627aebe..bf40dfb9fd3cad 100644 --- a/packages/kbn-storybook/templates/index.ejs +++ b/packages/kbn-storybook/templates/index.ejs @@ -74,4 +74,4 @@ <% }); %> - + \ No newline at end of file diff --git a/tsconfig.base.json b/tsconfig.base.json index 1459ef0fc229ec..ff1ec70221c125 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -954,10 +954,20 @@ "@kbn/management-cards-navigation/*": ["packages/kbn-management/cards_navigation/*"], "@kbn/management-plugin": ["src/plugins/management"], "@kbn/management-plugin/*": ["src/plugins/management/*"], + "@kbn/management-settings-components-field-input": ["packages/kbn-management/settings/components/field_input"], + "@kbn/management-settings-components-field-input/*": ["packages/kbn-management/settings/components/field_input/*"], + "@kbn/management-settings-components-field-row": ["packages/kbn-management/settings/components/field_row"], + "@kbn/management-settings-components-field-row/*": ["packages/kbn-management/settings/components/field_row/*"], + "@kbn/management-settings-field-definition": ["packages/kbn-management/settings/field_definition"], + "@kbn/management-settings-field-definition/*": ["packages/kbn-management/settings/field_definition/*"], "@kbn/management-settings-ids": ["packages/kbn-management/settings/setting_ids"], "@kbn/management-settings-ids/*": ["packages/kbn-management/settings/setting_ids/*"], "@kbn/management-settings-section-registry": ["packages/kbn-management/settings/section_registry"], "@kbn/management-settings-section-registry/*": ["packages/kbn-management/settings/section_registry/*"], + "@kbn/management-settings-types": ["packages/kbn-management/settings/types"], + "@kbn/management-settings-types/*": ["packages/kbn-management/settings/types/*"], + "@kbn/management-settings-utilities": ["packages/kbn-management/settings/utilities"], + "@kbn/management-settings-utilities/*": ["packages/kbn-management/settings/utilities/*"], "@kbn/management-storybook-config": ["packages/kbn-management/storybook/config"], "@kbn/management-storybook-config/*": ["packages/kbn-management/storybook/config/*"], "@kbn/management-test-plugin": ["test/plugin_functional/plugins/management_test_plugin"], diff --git a/yarn.lock b/yarn.lock index 51180726acd2ea..cc64e6913d2cee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4850,6 +4850,18 @@ version "0.0.0" uid "" +"@kbn/management-settings-components-field-input@link:packages/kbn-management/settings/components/field_input": + version "0.0.0" + uid "" + +"@kbn/management-settings-components-field-row@link:packages/kbn-management/settings/components/field_row": + version "0.0.0" + uid "" + +"@kbn/management-settings-field-definition@link:packages/kbn-management/settings/field_definition": + version "0.0.0" + uid "" + "@kbn/management-settings-ids@link:packages/kbn-management/settings/setting_ids": version "0.0.0" uid "" @@ -4858,6 +4870,14 @@ version "0.0.0" uid "" +"@kbn/management-settings-types@link:packages/kbn-management/settings/types": + version "0.0.0" + uid "" + +"@kbn/management-settings-utilities@link:packages/kbn-management/settings/utilities": + version "0.0.0" + uid "" + "@kbn/management-storybook-config@link:packages/kbn-management/storybook/config": version "0.0.0" uid "" From 127d4dfce7e9b9af4999e401c649f4c736e526e2 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Mon, 11 Sep 2023 16:14:09 -0700 Subject: [PATCH 18/39] [DOCS] Move preconfigured Microsoft Teams connector details (#166119) --- .../connector-apis-passthru.asciidoc | 22 +++++++++++-- .../connectors/action-types/teams.asciidoc | 26 +++------------ .../pre-configured-connectors.asciidoc | 17 ++++++++++ docs/settings/alert-action-settings.asciidoc | 5 +++ .../plugins/actions/docs/openapi/bundled.json | 33 ++++++++++++++++++- .../plugins/actions/docs/openapi/bundled.yaml | 23 ++++++++++++- .../connector_response_properties_teams.yaml | 2 ++ .../schemas/secrets_properties_teams.yaml | 10 ++++-- ...}@api@actions@connector@{connectorid}.yaml | 2 +- 9 files changed, 111 insertions(+), 29 deletions(-) diff --git a/docs/api-generated/connectors/connector-apis-passthru.asciidoc b/docs/api-generated/connectors/connector-apis-passthru.asciidoc index fd96198a2db6a5..3c98b232a798c9 100644 --- a/docs/api-generated/connectors/connector-apis-passthru.asciidoc +++ b/docs/api-generated/connectors/connector-apis-passthru.asciidoc @@ -1097,6 +1097,7 @@ Any modifications made to this file will be overwritten.
  • secrets_properties_slack_webhook - Connector secrets properties for a Webhook Slack connector
  • secrets_properties_swimlane - Connector secrets properties for a Swimlane connector
  • +
  • secrets_properties_teams - Connector secrets properties for a Microsoft Teams connector
  • secrets_properties_webhook - Connector secrets properties for a Webhook connector
  • secrets_properties_xmatters - Connector secrets properties for an xMatters connector
  • updateConnector_400_response -
  • @@ -1112,6 +1113,7 @@ Any modifications made to this file will be overwritten.
  • update_connector_request_slack_api - Update Slack connector request
  • update_connector_request_slack_webhook - Update Slack connector request
  • update_connector_request_swimlane - Update Swimlane connector request
  • +
  • update_connector_request_teams - Update Microsoft Teams connector request
  • update_connector_request_xmatters - Update xMatters connector request
  • @@ -1737,7 +1739,8 @@ Any modifications made to this file will be overwritten.

    connector_response_properties_teams - Connector response properties for a Microsoft Teams connector Up

    -
    connector_type_id
    String The type of connector.
    +
    config (optional)
    +
    connector_type_id
    String The type of connector.
    Enum:
    .teams
    id
    String The identifier for the connector.
    @@ -1985,7 +1988,7 @@ Any modifications made to this file will be overwritten.
    Enum:
    .teams
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .teams.
    +
    secrets
  • secrets_properties_slack_api - Connector secrets properties for a Web API Slack connector
  • 0G@Rjv8b}=IOI;P|Z#=F-00DsoP%`K0D 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