UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

983 lines 138 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataAwsIamPolicyDocument = exports.DataAwsIamPolicyDocumentStatementList = exports.DataAwsIamPolicyDocumentStatementOutputReference = exports.DataAwsIamPolicyDocumentStatementPrincipalsList = exports.DataAwsIamPolicyDocumentStatementPrincipalsOutputReference = exports.DataAwsIamPolicyDocumentStatementNotPrincipalsList = exports.DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference = exports.DataAwsIamPolicyDocumentStatementConditionList = exports.DataAwsIamPolicyDocumentStatementConditionOutputReference = void 0; exports.dataAwsIamPolicyDocumentStatementConditionToTerraform = dataAwsIamPolicyDocumentStatementConditionToTerraform; exports.dataAwsIamPolicyDocumentStatementConditionToHclTerraform = dataAwsIamPolicyDocumentStatementConditionToHclTerraform; exports.dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform = dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform; exports.dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform = dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform; exports.dataAwsIamPolicyDocumentStatementPrincipalsToTerraform = dataAwsIamPolicyDocumentStatementPrincipalsToTerraform; exports.dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform = dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform; exports.dataAwsIamPolicyDocumentStatementToTerraform = dataAwsIamPolicyDocumentStatementToTerraform; exports.dataAwsIamPolicyDocumentStatementToHclTerraform = dataAwsIamPolicyDocumentStatementToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function dataAwsIamPolicyDocumentStatementConditionToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { test: cdktf.stringToTerraform(struct.test), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), variable: cdktf.stringToTerraform(struct.variable), }; } function dataAwsIamPolicyDocumentStatementConditionToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { test: { value: cdktf.stringToHclTerraform(struct.test), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, variable: { value: cdktf.stringToHclTerraform(struct.variable), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DataAwsIamPolicyDocumentStatementConditionOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._test !== undefined) { hasAnyValues = true; internalValueResult.test = this._test; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } if (this._variable !== undefined) { hasAnyValues = true; internalValueResult.variable = this._variable; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._test = undefined; this._values = undefined; this._variable = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._test = value.test; this._values = value.values; this._variable = value.variable; } } get test() { return this.getStringAttribute('test'); } set test(value) { this._test = value; } // Temporarily expose input value. Use with caution. get testInput() { return this._test; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } get variable() { return this.getStringAttribute('variable'); } set variable(value) { this._variable = value; } // Temporarily expose input value. Use with caution. get variableInput() { return this._variable; } } exports.DataAwsIamPolicyDocumentStatementConditionOutputReference = DataAwsIamPolicyDocumentStatementConditionOutputReference; _a = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementConditionOutputReference[_a] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementConditionOutputReference", version: "21.22.1" }; class DataAwsIamPolicyDocumentStatementConditionList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsIamPolicyDocumentStatementConditionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsIamPolicyDocumentStatementConditionList = DataAwsIamPolicyDocumentStatementConditionList; _b = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementConditionList[_b] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementConditionList", version: "21.22.1" }; function dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { identifiers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identifiers), type: cdktf.stringToTerraform(struct.type), }; } function dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { identifiers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identifiers), isBlock: false, type: "set", storageClassType: "stringList", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._identifiers !== undefined) { hasAnyValues = true; internalValueResult.identifiers = this._identifiers; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._identifiers = undefined; this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._identifiers = value.identifiers; this._type = value.type; } } get identifiers() { return cdktf.Fn.tolist(this.getListAttribute('identifiers')); } set identifiers(value) { this._identifiers = value; } // Temporarily expose input value. Use with caution. get identifiersInput() { return this._identifiers; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference = DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference; _c = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference[_c] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference", version: "21.22.1" }; class DataAwsIamPolicyDocumentStatementNotPrincipalsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsIamPolicyDocumentStatementNotPrincipalsList = DataAwsIamPolicyDocumentStatementNotPrincipalsList; _d = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementNotPrincipalsList[_d] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementNotPrincipalsList", version: "21.22.1" }; function dataAwsIamPolicyDocumentStatementPrincipalsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { identifiers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identifiers), type: cdktf.stringToTerraform(struct.type), }; } function dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { identifiers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identifiers), isBlock: false, type: "set", storageClassType: "stringList", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DataAwsIamPolicyDocumentStatementPrincipalsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._identifiers !== undefined) { hasAnyValues = true; internalValueResult.identifiers = this._identifiers; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._identifiers = undefined; this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._identifiers = value.identifiers; this._type = value.type; } } get identifiers() { return cdktf.Fn.tolist(this.getListAttribute('identifiers')); } set identifiers(value) { this._identifiers = value; } // Temporarily expose input value. Use with caution. get identifiersInput() { return this._identifiers; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.DataAwsIamPolicyDocumentStatementPrincipalsOutputReference = DataAwsIamPolicyDocumentStatementPrincipalsOutputReference; _e = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementPrincipalsOutputReference[_e] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementPrincipalsOutputReference", version: "21.22.1" }; class DataAwsIamPolicyDocumentStatementPrincipalsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsIamPolicyDocumentStatementPrincipalsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsIamPolicyDocumentStatementPrincipalsList = DataAwsIamPolicyDocumentStatementPrincipalsList; _f = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementPrincipalsList[_f] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementPrincipalsList", version: "21.22.1" }; function dataAwsIamPolicyDocumentStatementToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { actions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.actions), effect: cdktf.stringToTerraform(struct.effect), not_actions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notActions), not_resources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notResources), resources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resources), sid: cdktf.stringToTerraform(struct.sid), condition: cdktf.listMapper(dataAwsIamPolicyDocumentStatementConditionToTerraform, true)(struct.condition), not_principals: cdktf.listMapper(dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform, true)(struct.notPrincipals), principals: cdktf.listMapper(dataAwsIamPolicyDocumentStatementPrincipalsToTerraform, true)(struct.principals), }; } function dataAwsIamPolicyDocumentStatementToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { actions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.actions), isBlock: false, type: "set", storageClassType: "stringList", }, effect: { value: cdktf.stringToHclTerraform(struct.effect), isBlock: false, type: "simple", storageClassType: "string", }, not_actions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notActions), isBlock: false, type: "set", storageClassType: "stringList", }, not_resources: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notResources), isBlock: false, type: "set", storageClassType: "stringList", }, resources: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resources), isBlock: false, type: "set", storageClassType: "stringList", }, sid: { value: cdktf.stringToHclTerraform(struct.sid), isBlock: false, type: "simple", storageClassType: "string", }, condition: { value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementConditionToHclTerraform, true)(struct.condition), isBlock: true, type: "set", storageClassType: "DataAwsIamPolicyDocumentStatementConditionList", }, not_principals: { value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform, true)(struct.notPrincipals), isBlock: true, type: "set", storageClassType: "DataAwsIamPolicyDocumentStatementNotPrincipalsList", }, principals: { value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform, true)(struct.principals), isBlock: true, type: "set", storageClassType: "DataAwsIamPolicyDocumentStatementPrincipalsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DataAwsIamPolicyDocumentStatementOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // condition - computed: false, optional: true, required: false this._condition = new DataAwsIamPolicyDocumentStatementConditionList(this, "condition", true); // not_principals - computed: false, optional: true, required: false this._notPrincipals = new DataAwsIamPolicyDocumentStatementNotPrincipalsList(this, "not_principals", true); // principals - computed: false, optional: true, required: false this._principals = new DataAwsIamPolicyDocumentStatementPrincipalsList(this, "principals", true); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._actions !== undefined) { hasAnyValues = true; internalValueResult.actions = this._actions; } if (this._effect !== undefined) { hasAnyValues = true; internalValueResult.effect = this._effect; } if (this._notActions !== undefined) { hasAnyValues = true; internalValueResult.notActions = this._notActions; } if (this._notResources !== undefined) { hasAnyValues = true; internalValueResult.notResources = this._notResources; } if (this._resources !== undefined) { hasAnyValues = true; internalValueResult.resources = this._resources; } if (this._sid !== undefined) { hasAnyValues = true; internalValueResult.sid = this._sid; } if (this._condition?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.condition = this._condition?.internalValue; } if (this._notPrincipals?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.notPrincipals = this._notPrincipals?.internalValue; } if (this._principals?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.principals = this._principals?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._actions = undefined; this._effect = undefined; this._notActions = undefined; this._notResources = undefined; this._resources = undefined; this._sid = undefined; this._condition.internalValue = undefined; this._notPrincipals.internalValue = undefined; this._principals.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._actions = value.actions; this._effect = value.effect; this._notActions = value.notActions; this._notResources = value.notResources; this._resources = value.resources; this._sid = value.sid; this._condition.internalValue = value.condition; this._notPrincipals.internalValue = value.notPrincipals; this._principals.internalValue = value.principals; } } get actions() { return cdktf.Fn.tolist(this.getListAttribute('actions')); } set actions(value) { this._actions = value; } resetActions() { this._actions = undefined; } // Temporarily expose input value. Use with caution. get actionsInput() { return this._actions; } get effect() { return this.getStringAttribute('effect'); } set effect(value) { this._effect = value; } resetEffect() { this._effect = undefined; } // Temporarily expose input value. Use with caution. get effectInput() { return this._effect; } get notActions() { return cdktf.Fn.tolist(this.getListAttribute('not_actions')); } set notActions(value) { this._notActions = value; } resetNotActions() { this._notActions = undefined; } // Temporarily expose input value. Use with caution. get notActionsInput() { return this._notActions; } get notResources() { return cdktf.Fn.tolist(this.getListAttribute('not_resources')); } set notResources(value) { this._notResources = value; } resetNotResources() { this._notResources = undefined; } // Temporarily expose input value. Use with caution. get notResourcesInput() { return this._notResources; } get resources() { return cdktf.Fn.tolist(this.getListAttribute('resources')); } set resources(value) { this._resources = value; } resetResources() { this._resources = undefined; } // Temporarily expose input value. Use with caution. get resourcesInput() { return this._resources; } get sid() { return this.getStringAttribute('sid'); } set sid(value) { this._sid = value; } resetSid() { this._sid = undefined; } // Temporarily expose input value. Use with caution. get sidInput() { return this._sid; } get condition() { return this._condition; } putCondition(value) { this._condition.internalValue = value; } resetCondition() { this._condition.internalValue = undefined; } // Temporarily expose input value. Use with caution. get conditionInput() { return this._condition.internalValue; } get notPrincipals() { return this._notPrincipals; } putNotPrincipals(value) { this._notPrincipals.internalValue = value; } resetNotPrincipals() { this._notPrincipals.internalValue = undefined; } // Temporarily expose input value. Use with caution. get notPrincipalsInput() { return this._notPrincipals.internalValue; } get principals() { return this._principals; } putPrincipals(value) { this._principals.internalValue = value; } resetPrincipals() { this._principals.internalValue = undefined; } // Temporarily expose input value. Use with caution. get principalsInput() { return this._principals.internalValue; } } exports.DataAwsIamPolicyDocumentStatementOutputReference = DataAwsIamPolicyDocumentStatementOutputReference; _g = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementOutputReference[_g] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementOutputReference", version: "21.22.1" }; class DataAwsIamPolicyDocumentStatementList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsIamPolicyDocumentStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsIamPolicyDocumentStatementList = DataAwsIamPolicyDocumentStatementList; _h = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocumentStatementList[_h] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementList", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_policy_document aws_iam_policy_document} */ class DataAwsIamPolicyDocument extends cdktf.TerraformDataSource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a DataAwsIamPolicyDocument resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the DataAwsIamPolicyDocument to import * @param importFromId The id of the existing DataAwsIamPolicyDocument that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_policy_document#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataAwsIamPolicyDocument to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_iam_policy_document", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_policy_document aws_iam_policy_document} Data Source * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options DataAwsIamPolicyDocumentConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'aws_iam_policy_document', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // statement - computed: false, optional: true, required: false this._statement = new DataAwsIamPolicyDocumentStatementList(this, "statement", false); this._id = config.id; this._overrideJson = config.overrideJson; this._overridePolicyDocuments = config.overridePolicyDocuments; this._policyId = config.policyId; this._sourceJson = config.sourceJson; this._sourcePolicyDocuments = config.sourcePolicyDocuments; this._version = config.version; this._statement.internalValue = config.statement; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } // json - computed: true, optional: false, required: false get json() { return this.getStringAttribute('json'); } // minified_json - computed: true, optional: false, required: false get minifiedJson() { return this.getStringAttribute('minified_json'); } get overrideJson() { return this.getStringAttribute('override_json'); } set overrideJson(value) { this._overrideJson = value; } resetOverrideJson() { this._overrideJson = undefined; } // Temporarily expose input value. Use with caution. get overrideJsonInput() { return this._overrideJson; } get overridePolicyDocuments() { return this.getListAttribute('override_policy_documents'); } set overridePolicyDocuments(value) { this._overridePolicyDocuments = value; } resetOverridePolicyDocuments() { this._overridePolicyDocuments = undefined; } // Temporarily expose input value. Use with caution. get overridePolicyDocumentsInput() { return this._overridePolicyDocuments; } get policyId() { return this.getStringAttribute('policy_id'); } set policyId(value) { this._policyId = value; } resetPolicyId() { this._policyId = undefined; } // Temporarily expose input value. Use with caution. get policyIdInput() { return this._policyId; } get sourceJson() { return this.getStringAttribute('source_json'); } set sourceJson(value) { this._sourceJson = value; } resetSourceJson() { this._sourceJson = undefined; } // Temporarily expose input value. Use with caution. get sourceJsonInput() { return this._sourceJson; } get sourcePolicyDocuments() { return this.getListAttribute('source_policy_documents'); } set sourcePolicyDocuments(value) { this._sourcePolicyDocuments = value; } resetSourcePolicyDocuments() { this._sourcePolicyDocuments = undefined; } // Temporarily expose input value. Use with caution. get sourcePolicyDocumentsInput() { return this._sourcePolicyDocuments; } get version() { return this.getStringAttribute('version'); } set version(value) { this._version = value; } resetVersion() { this._version = undefined; } // Temporarily expose input value. Use with caution. get versionInput() { return this._version; } get statement() { return this._statement; } putStatement(value) { this._statement.internalValue = value; } resetStatement() { this._statement.internalValue = undefined; } // Temporarily expose input value. Use with caution. get statementInput() { return this._statement.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { id: cdktf.stringToTerraform(this._id), override_json: cdktf.stringToTerraform(this._overrideJson), override_policy_documents: cdktf.listMapper(cdktf.stringToTerraform, false)(this._overridePolicyDocuments), policy_id: cdktf.stringToTerraform(this._policyId), source_json: cdktf.stringToTerraform(this._sourceJson), source_policy_documents: cdktf.listMapper(cdktf.stringToTerraform, false)(this._sourcePolicyDocuments), version: cdktf.stringToTerraform(this._version), statement: cdktf.listMapper(dataAwsIamPolicyDocumentStatementToTerraform, true)(this._statement.internalValue), }; } synthesizeHclAttributes() { const attrs = { id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, override_json: { value: cdktf.stringToHclTerraform(this._overrideJson), isBlock: false, type: "simple", storageClassType: "string", }, override_policy_documents: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._overridePolicyDocuments), isBlock: false, type: "list", storageClassType: "stringList", }, policy_id: { value: cdktf.stringToHclTerraform(this._policyId), isBlock: false, type: "simple", storageClassType: "string", }, source_json: { value: cdktf.stringToHclTerraform(this._sourceJson), isBlock: false, type: "simple", storageClassType: "string", }, source_policy_documents: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._sourcePolicyDocuments), isBlock: false, type: "list", storageClassType: "stringList", }, version: { value: cdktf.stringToHclTerraform(this._version), isBlock: false, type: "simple", storageClassType: "string", }, statement: { value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementToHclTerraform, true)(this._statement.internalValue), isBlock: true, type: "list", storageClassType: "DataAwsIamPolicyDocumentStatementList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.DataAwsIamPolicyDocument = DataAwsIamPolicyDocument; _j = JSII_RTTI_SYMBOL_1; DataAwsIamPolicyDocument[_j] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocument", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= DataAwsIamPolicyDocument.tfResourceType = "aws_iam_policy_document"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1hd3MtaWFtLXBvbGljeS1kb2N1bWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBbUVBLHNIQVVDO0FBR0QsNEhBNEJDO0FBZ0lELDhIQVNDO0FBR0Qsb0lBc0JDO0FBNkdELHdIQVNDO0FBR0QsOEhBc0JDO0FBK0lELG9HQWdCQztBQUdELDBHQWdFQzs7QUF0bkJELCtCQUErQjtBQTBEL0IsU0FBZ0IscURBQXFELENBQUMsTUFBdUU7SUFDM0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztRQUMzQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztRQUN4RSxRQUFRLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7S0FDcEQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQix3REFBd0QsQ0FBQyxNQUF1RTtJQUM5SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztZQUMvQyxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO1lBQzdFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixnQkFBZ0IsRUFBRSxZQUFZO1NBQy9CO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsUUFBUSxDQUFDO1lBQ25ELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO0tBQ0YsQ0FBQztJQUVGLDhCQUE4QjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDNUgsQ0FBQztBQUVELE1BQWEseURBQTBELFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFJaEc7Ozs7O01BS0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEIsRUFBRSxrQkFBMEIsRUFBRSxzQkFBK0I7UUFDdkosS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFWbkYsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFXOUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQixZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQWlGO1FBQ3hHLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7YUFDSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBSUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLEtBQWU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFJRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7O0FBN0ZILDhIQThGQzs7O0FBRUQsTUFBYSw4Q0FBK0MsU0FBUSxLQUFLLENBQUMsV0FBVztJQUduRjs7OztNQUlFO0lBQ0YsWUFBc0IsaUJBQTZDLEVBQVksa0JBQTBCLEVBQVksUUFBaUI7UUFDcEksS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUFBWSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFTO0lBRXRJLENBQUM7SUFFRDs7TUFFRTtJQUNLLEdBQUcsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sSUFBSSx5REFBeUQsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUksQ0FBQzs7QUFqQkgsd0dBa0JDOzs7QUFZRCxTQUFnQix5REFBeUQsQ0FBQyxNQUEyRTtJQUNuSixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUM7UUFDbEYsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDO0tBQzVDLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsNERBQTRELENBQUMsTUFBMkU7SUFDdEosSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixXQUFXLEVBQUU7WUFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztZQUNsRixPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsZ0JBQWdCLEVBQUUsWUFBWTtTQUMvQjtRQUNELElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztZQUMvQyxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRCxNQUFhLDZEQUE4RCxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBSXBHOzs7OztNQUtFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCLEVBQUUsa0JBQTBCLEVBQUUsc0JBQStCO1FBQ3ZKLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBVm5GLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBVzlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQXFGO1FBQzVHLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7YUFDSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxHQUF