@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [;
exports.State = exports.StandardSupportedClouds = exports.StandardSupportedCloud = exports.SourceType = exports.Source = exports.SeverityEnum = exports.Severity = exports.ServerVulnerabilityAssessmentsSettingKind = exports.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider = exports.SecuritySolutionStatus = exports.SecurityIssue = exports.SecurityContactRole = exports.ScanningMode = exports.RuleState = exports.RecommendationType = exports.RecommendationSupportedClouds = exports.RecommendationConfigStatus = exports.Protocol = exports.PropertyType = exports.PricingTier = exports.OrganizationMembershipType = exports.Operator = exports.OfferingType = exports.MinimalSeverity = exports.MinimalRiskLevel = exports.IsEnabled = exports.ImplementationEffort = exports.GovernanceRuleType = exports.GovernanceRuleSourceResourceType = exports.GovernanceRuleOwnerSourceType = exports.ExportData = exports.ExemptionCategory = exports.EventSource = exports.EnvironmentType = exports.Enforce = exports.Effect = exports.DevOpsProvisioningState = exports.DataSource = exports.CloudName = exports.Categories = exports.AutoProvision = exports.AutoDiscovery = exports.AuthenticationType = exports.AttestationComplianceState = exports.AssessmentType = exports.AssessmentStatusCode = exports.ApplicationSourceResourceType = exports.AdditionalWorkspaceType = exports.AdditionalWorkspaceDataType = exports.ActionType = void 0;
exports.UserImpact = exports.UnmaskedIpLoggingStatus = exports.Type = exports.Threats = exports.Techniques = exports.Tactics = exports.SupportedCloudEnum = exports.SubPlan = exports.StatusReason = exports.Status = void 0;
exports.ActionType = {
LogicApp: "LogicApp",
EventHub: "EventHub",
Workspace: "Workspace",
};
exports.AdditionalWorkspaceDataType = {
Alerts: "Alerts",
RawEvents: "RawEvents",
};
exports.AdditionalWorkspaceType = {
Sentinel: "Sentinel",
};
exports.ApplicationSourceResourceType = {
/**
* The source of the application is assessments
*/
Assessments: "Assessments",
};
exports.AssessmentStatusCode = {
/**
* The resource is healthy
*/
Healthy: "Healthy",
/**
* The resource has a security issue that needs to be addressed
*/
Unhealthy: "Unhealthy",
/**
* Assessment for this resource did not happen
*/
NotApplicable: "NotApplicable",
};
exports.AssessmentType = {
/**
* Microsoft Defender for Cloud managed assessments
*/
BuiltIn: "BuiltIn",
/**
* User defined policies that are automatically ingested from Azure Policy to Microsoft Defender for Cloud
*/
CustomPolicy: "CustomPolicy",
/**
* User assessments pushed directly by the user or other third party to Microsoft Defender for Cloud
*/
CustomerManaged: "CustomerManaged",
};
exports.AttestationComplianceState = {
Unknown: "unknown",
Compliant: "compliant",
NonCompliant: "nonCompliant",
};
exports.AuthenticationType = {
AccessToken: "AccessToken",
};
exports.AutoDiscovery = {
Disabled: "Disabled",
Enabled: "Enabled",
NotApplicable: "NotApplicable",
};
exports.AutoProvision = {
/**
* Install missing Azure Arc agents on machines automatically
*/
On: "On",
/**
* Do not install Azure Arc agent on the machines automatically
*/
Off: "Off",
};
exports.Categories = {
Compute: "Compute",
Networking: "Networking",
Data: "Data",
IdentityAndAccess: "IdentityAndAccess",
IoT: "IoT",
};
exports.CloudName = {
Azure: "Azure",
AWS: "AWS",
GCP: "GCP",
Github: "Github",
AzureDevOps: "AzureDevOps",
GitLab: "GitLab",
DockerHub: "DockerHub",
JFrog: "JFrog",
};
exports.DataSource = {
/**
* Devices twin data
*/
TwinData: "TwinData",
};
exports.DevOpsProvisioningState = {
Succeeded: "Succeeded",
Failed: "Failed",
Canceled: "Canceled",
Pending: "Pending",
PendingDeletion: "PendingDeletion",
DeletionSuccess: "DeletionSuccess",
DeletionFailure: "DeletionFailure",
};
exports.Effect = {
Audit: "Audit",
Exempt: "Exempt",
Attest: "Attest",
};
exports.Enforce = {
/**
* Allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False")
*/
False: "False",
/**
* Prevents overrides and forces the current scope's pricing configuration to all descendants
*/
True: "True",
};
exports.EnvironmentType = {
AwsAccount: "AwsAccount",
GcpProject: "GcpProject",
GithubScope: "GithubScope",
AzureDevOpsScope: "AzureDevOpsScope",
GitlabScope: "GitlabScope",
DockerHubOrganization: "DockerHubOrganization",
JFrogArtifactory: "JFrogArtifactory",
};
exports.EventSource = {
Assessments: "Assessments",
AssessmentsSnapshot: "AssessmentsSnapshot",
SubAssessments: "SubAssessments",
SubAssessmentsSnapshot: "SubAssessmentsSnapshot",
Alerts: "Alerts",
SecureScores: "SecureScores",
SecureScoresSnapshot: "SecureScoresSnapshot",
SecureScoreControls: "SecureScoreControls",
SecureScoreControlsSnapshot: "SecureScoreControlsSnapshot",
RegulatoryComplianceAssessment: "RegulatoryComplianceAssessment",
RegulatoryComplianceAssessmentSnapshot: "RegulatoryComplianceAssessmentSnapshot",
AttackPaths: "AttackPaths",
AttackPathsSnapshot: "AttackPathsSnapshot",
};
exports.ExemptionCategory = {
Waiver: "waiver",
Mitigated: "mitigated",
};
exports.ExportData = {
/**
* Agent raw events
*/
RawEvents: "RawEvents",
};
exports.GovernanceRuleOwnerSourceType = {
/**
* The rule source type defined using resource tag
*/
ByTag: "ByTag",
/**
* The rule source type defined manually
*/
Manually: "Manually",
};
exports.GovernanceRuleSourceResourceType = {
/**
* The source of the governance rule is assessments
*/
Assessments: "Assessments",
};
exports.GovernanceRuleType = {
/**
* The source of the rule type definition is integrated
*/
Integrated: "Integrated",
/**
* The source of the rule type definition is ServiceNow
*/
ServiceNow: "ServiceNow",
};
exports.ImplementationEffort = {
Low: "Low",
Moderate: "Moderate",
High: "High",
};
exports.IsEnabled = {
/**
* Indicates the extension is enabled
*/
True: "True",
/**
* Indicates the extension is disabled
*/
False: "False",
};
exports.MinimalRiskLevel = {
/**
* Get notifications on new attack paths with Critical risk level
*/
Critical: "Critical",
/**
* Get notifications on new attack paths with High or Critical risk level
*/
High: "High",
/**
* Get notifications on new attach paths with Medium, High or Critical risk level
*/
Medium: "Medium",
/**
* Get notifications on new attach paths with Low, Medium, High or Critical risk level
*/
Low: "Low",
};
exports.MinimalSeverity = {
/**
* Get notifications on new alerts with High severity
*/
High: "High",
/**
* Get notifications on new alerts with Medium or High severity
*/
Medium: "Medium",
/**
* Get notifications on new alerts with Low, Medium or High severity
*/
Low: "Low",
};
exports.OfferingType = {
CspmMonitorAws: "CspmMonitorAws",
DefenderForContainersAws: "DefenderForContainersAws",
DefenderForServersAws: "DefenderForServersAws",
DefenderForDatabasesAws: "DefenderForDatabasesAws",
CspmMonitorGcp: "CspmMonitorGcp",
CspmMonitorGithub: "CspmMonitorGithub",
CspmMonitorAzureDevOps: "CspmMonitorAzureDevOps",
DefenderForServersGcp: "DefenderForServersGcp",
DefenderForContainersGcp: "DefenderForContainersGcp",
DefenderForDatabasesGcp: "DefenderForDatabasesGcp",
DefenderCspmAws: "DefenderCspmAws",
DefenderCspmGcp: "DefenderCspmGcp",
CspmMonitorGitLab: "CspmMonitorGitLab",
CspmMonitorDockerHub: "CspmMonitorDockerHub",
DefenderForContainersDockerHub: "DefenderForContainersDockerHub",
DefenderCspmDockerHub: "DefenderCspmDockerHub",
CspmMonitorJFrog: "CspmMonitorJFrog",
DefenderForContainersJFrog: "DefenderForContainersJFrog",
DefenderCspmJFrog: "DefenderCspmJFrog",
};
exports.Operator = {
/**
* Applies for decimal and non-decimal operands
*/
Equals: "Equals",
/**
* Applies only for decimal operands
*/
GreaterThan: "GreaterThan",
/**
* Applies only for decimal operands
*/
GreaterThanOrEqualTo: "GreaterThanOrEqualTo",
/**
* Applies only for decimal operands
*/
LesserThan: "LesserThan",
/**
* Applies only for decimal operands
*/
LesserThanOrEqualTo: "LesserThanOrEqualTo",
/**
* Applies for decimal and non-decimal operands
*/
NotEquals: "NotEquals",
/**
* Applies only for non-decimal operands
*/
Contains: "Contains",
/**
* Applies only for non-decimal operands
*/
StartsWith: "StartsWith",
/**
* Applies only for non-decimal operands
*/
EndsWith: "EndsWith",
};
exports.OrganizationMembershipType = {
Member: "Member",
Organization: "Organization",
};
exports.PricingTier = {
/**
* Get free Microsoft Defender for Cloud experience with basic security features
*/
Free: "Free",
/**
* Get the standard Microsoft Defender for Cloud experience with advanced security features
*/
Standard: "Standard",
};
exports.PropertyType = {
String: "String",
Integer: "Integer",
Number: "Number",
Boolean: "Boolean",
};
exports.Protocol = {
TCP: "TCP",
UDP: "UDP",
All: "*",
};
exports.RecommendationConfigStatus = {
Disabled: "Disabled",
Enabled: "Enabled",
};
exports.RecommendationSupportedClouds = {
Azure: "Azure",
AWS: "AWS",
GCP: "GCP",
};
exports.RecommendationType = {
/**
* Authentication schema used for pull an edge module from an ACR repository does not use Service Principal Authentication.
*/
IoT_ACRAuthentication: "IoT_ACRAuthentication",
/**
* IoT agent message size capacity is currently underutilized, causing an increase in the number of sent messages. Adjust message intervals for better utilization.
*/
IoT_AgentSendsUnutilizedMessages: "IoT_AgentSendsUnutilizedMessages",
/**
* Identified security related system configuration issues.
*/
IoT_Baseline: "IoT_Baseline",
/**
* You can optimize Edge Hub memory usage by turning off protocol heads for any protocols not used by Edge modules in your solution.
*/
IoT_EdgeHubMemOptimize: "IoT_EdgeHubMemOptimize",
/**
* Logging is disabled for this edge module.
*/
IoT_EdgeLoggingOptions: "IoT_EdgeLoggingOptions",
/**
* A minority within a device security group has inconsistent Edge Module settings with the rest of their group.
*/
IoT_InconsistentModuleSettings: "IoT_InconsistentModuleSettings",
/**
* Install the Azure Security of Things Agent.
*/
IoT_InstallAgent: "IoT_InstallAgent",
/**
* IP Filter Configuration should have rules defined for allowed traffic and should deny all other traffic by default.
*/
IoT_IPFilter_DenyAll: "IoT_IPFilter_DenyAll",
/**
* An Allow IP Filter rules source IP range is too large. Overly permissive rules might expose your IoT hub to malicious intenders.
*/
IoT_IPFilter_PermissiveRule: "IoT_IPFilter_PermissiveRule",
/**
* A listening endpoint was found on the device.
*/
IoT_OpenPorts: "IoT_OpenPorts",
/**
* An Allowed firewall policy was found (INPUT/OUTPUT). The policy should Deny all traffic by default and define rules to allow necessary communication to/from the device.
*/
IoT_PermissiveFirewallPolicy: "IoT_PermissiveFirewallPolicy",
/**
* A rule in the firewall has been found that contains a permissive pattern for a wide range of IP addresses or Ports.
*/
IoT_PermissiveInputFirewallRules: "IoT_PermissiveInputFirewallRules",
/**
* A rule in the firewall has been found that contains a permissive pattern for a wide range of IP addresses or Ports.
*/
IoT_PermissiveOutputFirewallRules: "IoT_PermissiveOutputFirewallRules",
/**
* Edge module is configured to run in privileged mode, with extensive Linux capabilities or with host-level network access (send/receive data to host machine).
*/
IoT_PrivilegedDockerOptions: "IoT_PrivilegedDockerOptions",
/**
* Same authentication credentials to the IoT Hub used by multiple devices. This could indicate an illegitimate device impersonating a legitimate device. It also exposes the risk of device impersonation by an attacker.
*/
IoT_SharedCredentials: "IoT_SharedCredentials",
/**
* Insecure TLS configurations detected. Immediate upgrade recommended.
*/
IoT_VulnerableTLSCipherSuite: "IoT_VulnerableTLSCipherSuite",
};
exports.RuleState = {
Enabled: "Enabled",
Disabled: "Disabled",
Expired: "Expired",
};
exports.ScanningMode = {
Default: "Default",
};
exports.SecurityContactRole = {
/**
* If enabled, send notification on new alerts to the account admins
*/
AccountAdmin: "AccountAdmin",
/**
* If enabled, send notification on new alerts to the service admins
*/
ServiceAdmin: "ServiceAdmin",
/**
* If enabled, send notification on new alerts to the subscription owners
*/
Owner: "Owner",
/**
* If enabled, send notification on new alerts to the subscription contributors
*/
Contributor: "Contributor",
};
exports.SecurityIssue = {
Vulnerability: "Vulnerability",
ExcessivePermissions: "ExcessivePermissions",
AnonymousAccess: "AnonymousAccess",
NetworkExposure: "NetworkExposure",
TrafficEncryption: "TrafficEncryption",
BestPractices: "BestPractices",
};
exports.SecuritySolutionStatus = {
Enabled: "Enabled",
Disabled: "Disabled",
};
exports.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider = {
/**
* Microsoft Defender for Endpoints threat and vulnerability management.
*/
MdeTvm: "MdeTvm",
};
exports.ServerVulnerabilityAssessmentsSettingKind = {
AzureServersSetting: "AzureServersSetting",
};
exports.Severity = {
Low: "Low",
Medium: "Medium",
High: "High",
};
exports.SeverityEnum = {
High: "High",
Medium: "Medium",
Low: "Low",
};
exports.Source = {
/**
* Resource is in Azure
*/
Azure: "Azure",
/**
* Resource in an on premise machine connected to Azure cloud
*/
OnPremise: "OnPremise",
/**
* SQL Resource in an on premise machine connected to Azure cloud
*/
OnPremiseSql: "OnPremiseSql",
};
exports.SourceType = {
Alert: "Alert",
AttackPath: "AttackPath",
};
exports.StandardSupportedCloud = {
Azure: "Azure",
AWS: "AWS",
GCP: "GCP",
};
exports.StandardSupportedClouds = {
AWS: "AWS",
GCP: "GCP",
};
exports.State = {
/**
* Send notification on new alerts to the subscription's admins
*/
On: "On",
/**
* Don't send notification on new alerts to the subscription's admins
*/
Off: "Off",
};
exports.Status = {
Revoked: "Revoked",
Initiated: "Initiated",
};
exports.StatusReason = {
Expired: "Expired",
UserRequested: "UserRequested",
NewerRequestInitiated: "NewerRequestInitiated",
};
exports.SubPlan = {
P1: "P1",
P2: "P2",
};
exports.SupportedCloudEnum = {
AWS: "AWS",
GCP: "GCP",
};
exports.Tactics = {
Reconnaissance: "Reconnaissance",
Resource_Development: "Resource Development",
Initial_Access: "Initial Access",
Execution: "Execution",
Persistence: "Persistence",
Privilege_Escalation: "Privilege Escalation",
Defense_Evasion: "Defense Evasion",
Credential_Access: "Credential Access",
Discovery: "Discovery",
Lateral_Movement: "Lateral Movement",
Collection: "Collection",
Command_and_Control: "Command and Control",
Exfiltration: "Exfiltration",
Impact: "Impact",
};
exports.Techniques = {
Abuse_Elevation_Control_Mechanism: "Abuse Elevation Control Mechanism",
Access_Token_Manipulation: "Access Token Manipulation",
Account_Discovery: "Account Discovery",
Account_Manipulation: "Account Manipulation",
Active_Scanning: "Active Scanning",
Application_Layer_Protocol: "Application Layer Protocol",
Audio_Capture: "Audio Capture",
Boot_or_Logon_Autostart_Execution: "Boot or Logon Autostart Execution",
Boot_or_Logon_Initialization_Scripts: "Boot or Logon Initialization Scripts",
Brute_Force: "Brute Force",
Cloud_Infrastructure_Discovery: "Cloud Infrastructure Discovery",
Cloud_Service_Dashboard: "Cloud Service Dashboard",
Cloud_Service_Discovery: "Cloud Service Discovery",
Command_and_Scripting_Interpreter: "Command and Scripting Interpreter",
Compromise_Client_Software_Binary: "Compromise Client Software Binary",
Compromise_Infrastructure: "Compromise Infrastructure",
Container_and_Resource_Discovery: "Container and Resource Discovery",
Create_Account: "Create Account",
Create_or_Modify_System_Process: "Create or Modify System Process",
Credentials_from_Password_Stores: "Credentials from Password Stores",
Data_Destruction: "Data Destruction",
Data_Encrypted_for_Impact: "Data Encrypted for Impact",
Data_from_Cloud_Storage_Object: "Data from Cloud Storage Object",
Data_from_Configuration_Repository: "Data from Configuration Repository",
Data_from_Information_Repositories: "Data from Information Repositories",
Data_from_Local_System: "Data from Local System",
Data_Manipulation: "Data Manipulation",
Data_Staged: "Data Staged",
Defacement: "Defacement",
Deobfuscate_Decode_Files_or_Information: "Deobfuscate/Decode Files or Information",
Disk_Wipe: "Disk Wipe",
Domain_Trust_Discovery: "Domain Trust Discovery",
Drive_by_Compromise: "Drive-by Compromise",
Dynamic_Resolution: "Dynamic Resolution",
Endpoint_Denial_of_Service: "Endpoint Denial of Service",
Event_Triggered_Execution: "Event Triggered Execution",
Exfiltration_Over_Alternative_Protocol: "Exfiltration Over Alternative Protocol",
Exploit_Public_Facing_Application: "Exploit Public-Facing Application",
Exploitation_for_Client_Execution: "Exploitation for Client Execution",
Exploitation_for_Credential_Access: "Exploitation for Credential Access",
Exploitation_for_Defense_Evasion: "Exploitation for Defense Evasion",
Exploitation_for_Privilege_Escalation: "Exploitation for Privilege Escalation",
Exploitation_of_Remote_Services: "Exploitation of Remote Services",
External_Remote_Services: "External Remote Services",
Fallback_Channels: "Fallback Channels",
File_and_Directory_Discovery: "File and Directory Discovery",
Gather_Victim_Network_Information: "Gather Victim Network Information",
Hide_Artifacts: "Hide Artifacts",
Hijack_Execution_Flow: "Hijack Execution Flow",
Impair_Defenses: "Impair Defenses",
Implant_Container_Image: "Implant Container Image",
Indicator_Removal_on_Host: "Indicator Removal on Host",
Indirect_Command_Execution: "Indirect Command Execution",
Ingress_Tool_Transfer: "Ingress Tool Transfer",
Input_Capture: "Input Capture",
Inter_Process_Communication: "Inter-Process Communication",
Lateral_Tool_Transfer: "Lateral Tool Transfer",
Man_in_the_Middle: "Man-in-the-Middle",
Masquerading: "Masquerading",
Modify_Authentication_Process: "Modify Authentication Process",
Modify_Registry: "Modify Registry",
Network_Denial_of_Service: "Network Denial of Service",
Network_Service_Scanning: "Network Service Scanning",
Network_Sniffing: "Network Sniffing",
Non_Application_Layer_Protocol: "Non-Application Layer Protocol",
Non_Standard_Port: "Non-Standard Port",
Obtain_Capabilities: "Obtain Capabilities",
Obfuscated_Files_or_Information: "Obfuscated Files or Information",
Office_Application_Startup: "Office Application Startup",
OS_Credential_Dumping: "OS Credential Dumping",
Permission_Groups_Discovery: "Permission Groups Discovery",
Phishing: "Phishing",
Pre_OS_Boot: "Pre-OS Boot",
Process_Discovery: "Process Discovery",
Process_Injection: "Process Injection",
Protocol_Tunneling: "Protocol Tunneling",
Proxy: "Proxy",
Query_Registry: "Query Registry",
Remote_Access_Software: "Remote Access Software",
Remote_Service_Session_Hijacking: "Remote Service Session Hijacking",
Remote_Services: "Remote Services",
Remote_System_Discovery: "Remote System Discovery",
Resource_Hijacking: "Resource Hijacking",
Scheduled_Task_Job: "Scheduled Task/Job",
Screen_Capture: "Screen Capture",
Search_Victim_Owned_Websites: "Search Victim-Owned Websites",
Server_Software_Component: "Server Software Component",
Service_Stop: "Service Stop",
Signed_Binary_Proxy_Execution: "Signed Binary Proxy Execution",
Software_Deployment_Tools: "Software Deployment Tools",
SQL_Stored_Procedures: "SQL Stored Procedures",
Steal_or_Forge_Kerberos_Tickets: "Steal or Forge Kerberos Tickets",
Subvert_Trust_Controls: "Subvert Trust Controls",
Supply_Chain_Compromise: "Supply Chain Compromise",
System_Information_Discovery: "System Information Discovery",
Taint_Shared_Content: "Taint Shared Content",
Traffic_Signaling: "Traffic Signaling",
Transfer_Data_to_Cloud_Account: "Transfer Data to Cloud Account",
Trusted_Relationship: "Trusted Relationship",
Unsecured_Credentials: "Unsecured Credentials",
User_Execution: "User Execution",
Valid_Accounts: "Valid Accounts",
Windows_Management_Instrumentation: "Windows Management Instrumentation",
File_and_Directory_Permissions_Modification: "File and Directory Permissions Modification",
};
exports.Threats = {
AccountBreach: "accountBreach",
DataExfiltration: "dataExfiltration",
DataSpillage: "dataSpillage",
MaliciousInsider: "maliciousInsider",
ElevationOfPrivilege: "elevationOfPrivilege",
ThreatResistance: "threatResistance",
MissingCoverage: "missingCoverage",
DenialOfService: "denialOfService",
};
exports.Type = {
Qualys: "Qualys",
TVM: "TVM",
};
exports.UnmaskedIpLoggingStatus = {
/**
* Unmasked IP logging is disabled
*/
Disabled: "Disabled",
/**
* Unmasked IP logging is enabled
*/
Enabled: "Enabled",
};
exports.UserImpact = {
Low: "Low",
Moderate: "Moderate",
High: "High",
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90eXBlcy9lbnVtcy9zZWN1cml0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0VBQXNFO0FBQ3RFLGlGQUFpRjs7OztBQUdwRSxRQUFBLFVBQVUsR0FBRztJQUN0QixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixTQUFTLEVBQUUsV0FBVztDQUNoQixDQUFDO0FBT0UsUUFBQSwyQkFBMkIsR0FBRztJQUN2QyxNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsV0FBVztDQUNoQixDQUFDO0FBT0UsUUFBQSx1QkFBdUIsR0FBRztJQUNuQyxRQUFRLEVBQUUsVUFBVTtDQUNkLENBQUM7QUFPRSxRQUFBLDZCQUE2QixHQUFHO0lBQ3pDOztPQUVHO0lBQ0gsV0FBVyxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQU9FLFFBQUEsb0JBQW9CLEdBQUc7SUFDaEM7O09BRUc7SUFDSCxPQUFPLEVBQUUsU0FBUztJQUNsQjs7T0FFRztJQUNILFNBQVMsRUFBRSxXQUFXO0lBQ3RCOztPQUVHO0lBQ0gsYUFBYSxFQUFFLGVBQWU7Q0FDeEIsQ0FBQztBQU9FLFFBQUEsY0FBYyxHQUFHO0lBQzFCOztPQUVHO0lBQ0gsT0FBTyxFQUFFLFNBQVM7SUFDbEI7O09BRUc7SUFDSCxZQUFZLEVBQUUsY0FBYztJQUM1Qjs7T0FFRztJQUNILGVBQWUsRUFBRSxpQkFBaUI7Q0FDNUIsQ0FBQztBQU9FLFFBQUEsMEJBQTBCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGNBQWM7Q0FDdEIsQ0FBQztBQU9FLFFBQUEsa0JBQWtCLEdBQUc7SUFDOUIsV0FBVyxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQU9FLFFBQUEsYUFBYSxHQUFHO0lBQ3pCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9B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