@jjrawlins/cdk-ami-builder 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1295) hide show
  1. package/.jsii +12 -12
  2. package/cdk-ami-builder/jsii/jsii.go +2 -2
  3. package/cdk-ami-builder/version +1 -1
  4. package/lib/ImagePipeline/ImagePipeline.js +1 -1
  5. package/lib/Lambdas/CheckStateMachineStatus/CheckStateMachineStatus-function.js +1 -1
  6. package/lib/Lambdas/StartStateMachine/StartStateMachine-function.js +1 -1
  7. package/node_modules/@aws-sdk/client-ec2/dist-cjs/index.js +125 -5
  8. package/node_modules/@aws-sdk/client-ec2/dist-es/models/models_1.js +2 -0
  9. package/node_modules/@aws-sdk/client-ec2/dist-es/models/models_7.js +0 -4
  10. package/node_modules/@aws-sdk/client-ec2/dist-es/models/models_8.js +4 -0
  11. package/node_modules/@aws-sdk/client-ec2/dist-es/protocols/Aws_ec2.js +124 -0
  12. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptAddressTransferCommand.d.ts +2 -0
  13. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptCapacityReservationBillingOwnershipCommand.d.ts +2 -0
  14. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptReservedInstancesExchangeQuoteCommand.d.ts +2 -0
  15. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptTransitGatewayMulticastDomainAssociationsCommand.d.ts +2 -0
  16. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
  17. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  18. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptVpcEndpointConnectionsCommand.d.ts +2 -0
  19. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptVpcPeeringConnectionCommand.d.ts +2 -0
  20. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AdvertiseByoipCidrCommand.d.ts +2 -0
  21. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AllocateAddressCommand.d.ts +2 -0
  22. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AllocateHostsCommand.d.ts +2 -0
  23. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AllocateIpamPoolCidrCommand.d.ts +2 -0
  24. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ApplySecurityGroupsToClientVpnTargetNetworkCommand.d.ts +2 -0
  25. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssignIpv6AddressesCommand.d.ts +2 -0
  26. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssignPrivateIpAddressesCommand.d.ts +2 -0
  27. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssignPrivateNatGatewayAddressCommand.d.ts +2 -0
  28. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateAddressCommand.d.ts +2 -0
  29. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateCapacityReservationBillingOwnerCommand.d.ts +2 -0
  30. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateClientVpnTargetNetworkCommand.d.ts +2 -0
  31. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateDhcpOptionsCommand.d.ts +2 -0
  32. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateEnclaveCertificateIamRoleCommand.d.ts +2 -0
  33. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateIamInstanceProfileCommand.d.ts +2 -0
  34. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateInstanceEventWindowCommand.d.ts +2 -0
  35. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateIpamByoasnCommand.d.ts +2 -0
  36. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateIpamResourceDiscoveryCommand.d.ts +2 -0
  37. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateNatGatewayAddressCommand.d.ts +2 -0
  38. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateRouteServerCommand.d.ts +2 -0
  39. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateRouteTableCommand.d.ts +2 -0
  40. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateSecurityGroupVpcCommand.d.ts +2 -0
  41. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateSubnetCidrBlockCommand.d.ts +2 -0
  42. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTransitGatewayMulticastDomainCommand.d.ts +2 -0
  43. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTransitGatewayPolicyTableCommand.d.ts +2 -0
  44. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTransitGatewayRouteTableCommand.d.ts +2 -0
  45. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTrunkInterfaceCommand.d.ts +2 -0
  46. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateVpcCidrBlockCommand.d.ts +2 -0
  47. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachClassicLinkVpcCommand.d.ts +2 -0
  48. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachInternetGatewayCommand.d.ts +2 -0
  49. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachNetworkInterfaceCommand.d.ts +2 -0
  50. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachVerifiedAccessTrustProviderCommand.d.ts +2 -0
  51. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachVolumeCommand.d.ts +2 -0
  52. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachVpnGatewayCommand.d.ts +2 -0
  53. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AuthorizeClientVpnIngressCommand.d.ts +2 -0
  54. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AuthorizeSecurityGroupEgressCommand.d.ts +2 -0
  55. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AuthorizeSecurityGroupIngressCommand.d.ts +2 -0
  56. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/BundleInstanceCommand.d.ts +2 -0
  57. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelBundleTaskCommand.d.ts +2 -0
  58. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelCapacityReservationCommand.d.ts +2 -0
  59. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelCapacityReservationFleetsCommand.d.ts +2 -0
  60. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelConversionTaskCommand.d.ts +2 -0
  61. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelDeclarativePoliciesReportCommand.d.ts +2 -0
  62. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelExportTaskCommand.d.ts +2 -0
  63. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelImageLaunchPermissionCommand.d.ts +2 -0
  64. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelImportTaskCommand.d.ts +2 -0
  65. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelReservedInstancesListingCommand.d.ts +2 -0
  66. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelSpotFleetRequestsCommand.d.ts +2 -0
  67. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelSpotInstanceRequestsCommand.d.ts +2 -0
  68. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ConfirmProductInstanceCommand.d.ts +2 -0
  69. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CopyFpgaImageCommand.d.ts +2 -0
  70. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CopyImageCommand.d.ts +2 -0
  71. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CopySnapshotCommand.d.ts +9 -10
  72. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationBySplittingCommand.d.ts +2 -0
  73. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationCommand.d.ts +2 -0
  74. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationFleetCommand.d.ts +4 -2
  75. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCarrierGatewayCommand.d.ts +2 -0
  76. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateClientVpnEndpointCommand.d.ts +2 -0
  77. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateClientVpnRouteCommand.d.ts +2 -0
  78. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCoipCidrCommand.d.ts +2 -0
  79. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCoipPoolCommand.d.ts +2 -0
  80. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCustomerGatewayCommand.d.ts +2 -0
  81. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDefaultSubnetCommand.d.ts +2 -0
  82. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDefaultVpcCommand.d.ts +2 -0
  83. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDelegateMacVolumeOwnershipTaskCommand.d.ts +2 -0
  84. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDhcpOptionsCommand.d.ts +2 -0
  85. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateEgressOnlyInternetGatewayCommand.d.ts +2 -0
  86. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateFleetCommand.d.ts +6 -4
  87. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateFlowLogsCommand.d.ts +2 -0
  88. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateFpgaImageCommand.d.ts +4 -2
  89. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateImageCommand.d.ts +2 -0
  90. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateImageUsageReportCommand.d.ts +2 -0
  91. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInstanceConnectEndpointCommand.d.ts +2 -0
  92. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInstanceEventWindowCommand.d.ts +2 -0
  93. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInstanceExportTaskCommand.d.ts +2 -0
  94. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInternetGatewayCommand.d.ts +2 -0
  95. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamCommand.d.ts +2 -0
  96. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamExternalResourceVerificationTokenCommand.d.ts +2 -0
  97. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamPoolCommand.d.ts +2 -0
  98. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamResourceDiscoveryCommand.d.ts +2 -0
  99. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamScopeCommand.d.ts +2 -0
  100. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateKeyPairCommand.d.ts +2 -0
  101. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLaunchTemplateCommand.d.ts +3 -1
  102. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +4 -2
  103. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteCommand.d.ts +2 -0
  104. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteTableCommand.d.ts +2 -0
  105. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationCommand.d.ts +2 -0
  106. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteTableVpcAssociationCommand.d.ts +2 -0
  107. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayVirtualInterfaceCommand.d.ts +2 -0
  108. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayVirtualInterfaceGroupCommand.d.ts +2 -0
  109. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateMacSystemIntegrityProtectionModificationTaskCommand.d.ts +2 -0
  110. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateManagedPrefixListCommand.d.ts +2 -0
  111. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNatGatewayCommand.d.ts +2 -0
  112. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkAclCommand.d.ts +2 -0
  113. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkAclEntryCommand.d.ts +2 -0
  114. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInsightsAccessScopeCommand.d.ts +2 -0
  115. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInsightsPathCommand.d.ts +2 -0
  116. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInterfaceCommand.d.ts +2 -0
  117. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInterfacePermissionCommand.d.ts +2 -0
  118. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreatePlacementGroupCommand.d.ts +2 -0
  119. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreatePublicIpv4PoolCommand.d.ts +2 -0
  120. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateReplaceRootVolumeTaskCommand.d.ts +2 -0
  121. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateReservedInstancesListingCommand.d.ts +2 -0
  122. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRestoreImageTaskCommand.d.ts +2 -0
  123. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteCommand.d.ts +2 -0
  124. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteServerCommand.d.ts +2 -0
  125. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteServerEndpointCommand.d.ts +2 -0
  126. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteServerPeerCommand.d.ts +2 -0
  127. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteTableCommand.d.ts +2 -0
  128. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSecurityGroupCommand.d.ts +2 -0
  129. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSnapshotCommand.d.ts +2 -0
  130. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSnapshotsCommand.d.ts +2 -0
  131. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSpotDatafeedSubscriptionCommand.d.ts +2 -0
  132. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateStoreImageTaskCommand.d.ts +2 -0
  133. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSubnetCidrReservationCommand.d.ts +2 -0
  134. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSubnetCommand.d.ts +2 -0
  135. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTagsCommand.d.ts +2 -0
  136. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorFilterCommand.d.ts +2 -0
  137. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorFilterRuleCommand.d.ts +2 -0
  138. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorSessionCommand.d.ts +2 -0
  139. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorTargetCommand.d.ts +2 -0
  140. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayCommand.d.ts +2 -0
  141. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayConnectCommand.d.ts +2 -0
  142. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayConnectPeerCommand.d.ts +2 -0
  143. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayMulticastDomainCommand.d.ts +2 -0
  144. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
  145. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayPolicyTableCommand.d.ts +2 -0
  146. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayPrefixListReferenceCommand.d.ts +2 -0
  147. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteCommand.d.ts +2 -0
  148. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteTableAnnouncementCommand.d.ts +2 -0
  149. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteTableCommand.d.ts +2 -0
  150. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  151. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessEndpointCommand.d.ts +2 -0
  152. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessGroupCommand.d.ts +2 -0
  153. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessInstanceCommand.d.ts +2 -0
  154. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessTrustProviderCommand.d.ts +2 -0
  155. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVolumeCommand.d.ts +2 -0
  156. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcBlockPublicAccessExclusionCommand.d.ts +2 -0
  157. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcCommand.d.ts +2 -0
  158. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcEndpointCommand.d.ts +2 -0
  159. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcEndpointConnectionNotificationCommand.d.ts +2 -0
  160. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcEndpointServiceConfigurationCommand.d.ts +2 -0
  161. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcPeeringConnectionCommand.d.ts +2 -0
  162. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpnConnectionCommand.d.ts +2 -0
  163. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpnConnectionRouteCommand.d.ts +2 -0
  164. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpnGatewayCommand.d.ts +2 -0
  165. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCarrierGatewayCommand.d.ts +2 -0
  166. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteClientVpnEndpointCommand.d.ts +2 -0
  167. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteClientVpnRouteCommand.d.ts +2 -0
  168. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCoipCidrCommand.d.ts +2 -0
  169. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCoipPoolCommand.d.ts +2 -0
  170. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCustomerGatewayCommand.d.ts +2 -0
  171. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteDhcpOptionsCommand.d.ts +2 -0
  172. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteEgressOnlyInternetGatewayCommand.d.ts +2 -0
  173. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteFleetsCommand.d.ts +2 -0
  174. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteFlowLogsCommand.d.ts +2 -0
  175. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteFpgaImageCommand.d.ts +2 -0
  176. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteImageUsageReportCommand.d.ts +2 -0
  177. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteInstanceConnectEndpointCommand.d.ts +2 -0
  178. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteInstanceEventWindowCommand.d.ts +2 -0
  179. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteInternetGatewayCommand.d.ts +2 -0
  180. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamCommand.d.ts +2 -0
  181. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamExternalResourceVerificationTokenCommand.d.ts +2 -0
  182. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamPoolCommand.d.ts +2 -0
  183. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamResourceDiscoveryCommand.d.ts +2 -0
  184. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamScopeCommand.d.ts +2 -0
  185. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteKeyPairCommand.d.ts +2 -0
  186. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLaunchTemplateCommand.d.ts +2 -0
  187. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLaunchTemplateVersionsCommand.d.ts +2 -0
  188. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteCommand.d.ts +2 -0
  189. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteTableCommand.d.ts +2 -0
  190. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationCommand.d.ts +2 -0
  191. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteTableVpcAssociationCommand.d.ts +2 -0
  192. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayVirtualInterfaceCommand.d.ts +2 -0
  193. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayVirtualInterfaceGroupCommand.d.ts +2 -0
  194. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteManagedPrefixListCommand.d.ts +2 -0
  195. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNatGatewayCommand.d.ts +2 -0
  196. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkAclCommand.d.ts +2 -0
  197. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkAclEntryCommand.d.ts +2 -0
  198. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.d.ts +2 -0
  199. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsAccessScopeCommand.d.ts +2 -0
  200. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsAnalysisCommand.d.ts +2 -0
  201. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsPathCommand.d.ts +2 -0
  202. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInterfaceCommand.d.ts +2 -0
  203. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInterfacePermissionCommand.d.ts +2 -0
  204. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeletePlacementGroupCommand.d.ts +2 -0
  205. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeletePublicIpv4PoolCommand.d.ts +2 -0
  206. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteQueuedReservedInstancesCommand.d.ts +2 -0
  207. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteCommand.d.ts +2 -0
  208. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteServerCommand.d.ts +2 -0
  209. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteServerEndpointCommand.d.ts +2 -0
  210. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteServerPeerCommand.d.ts +2 -0
  211. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteTableCommand.d.ts +2 -0
  212. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSecurityGroupCommand.d.ts +2 -0
  213. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSnapshotCommand.d.ts +2 -0
  214. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSpotDatafeedSubscriptionCommand.d.ts +2 -0
  215. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSubnetCidrReservationCommand.d.ts +2 -0
  216. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSubnetCommand.d.ts +2 -0
  217. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTagsCommand.d.ts +2 -0
  218. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorFilterCommand.d.ts +2 -0
  219. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorFilterRuleCommand.d.ts +2 -0
  220. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorSessionCommand.d.ts +2 -0
  221. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorTargetCommand.d.ts +2 -0
  222. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayCommand.d.ts +2 -0
  223. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayConnectCommand.d.ts +2 -0
  224. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayConnectPeerCommand.d.ts +2 -0
  225. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayMulticastDomainCommand.d.ts +2 -0
  226. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
  227. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayPolicyTableCommand.d.ts +2 -0
  228. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayPrefixListReferenceCommand.d.ts +2 -0
  229. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteCommand.d.ts +2 -0
  230. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteTableAnnouncementCommand.d.ts +2 -0
  231. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteTableCommand.d.ts +2 -0
  232. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  233. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessEndpointCommand.d.ts +2 -0
  234. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessGroupCommand.d.ts +2 -0
  235. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessInstanceCommand.d.ts +2 -0
  236. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessTrustProviderCommand.d.ts +2 -0
  237. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVolumeCommand.d.ts +2 -0
  238. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcBlockPublicAccessExclusionCommand.d.ts +2 -0
  239. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcCommand.d.ts +2 -0
  240. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcEndpointConnectionNotificationsCommand.d.ts +2 -0
  241. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcEndpointServiceConfigurationsCommand.d.ts +2 -0
  242. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcEndpointsCommand.d.ts +2 -0
  243. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcPeeringConnectionCommand.d.ts +2 -0
  244. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpnConnectionCommand.d.ts +2 -0
  245. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpnConnectionRouteCommand.d.ts +2 -0
  246. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpnGatewayCommand.d.ts +2 -0
  247. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionByoipCidrCommand.d.ts +2 -0
  248. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionIpamByoasnCommand.d.ts +2 -0
  249. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionIpamPoolCidrCommand.d.ts +2 -0
  250. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionPublicIpv4PoolCidrCommand.d.ts +2 -0
  251. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterImageCommand.d.ts +2 -0
  252. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterInstanceEventNotificationAttributesCommand.d.ts +2 -0
  253. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterTransitGatewayMulticastGroupMembersCommand.d.ts +2 -0
  254. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterTransitGatewayMulticastGroupSourcesCommand.d.ts +2 -0
  255. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAccountAttributesCommand.d.ts +2 -0
  256. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAddressTransfersCommand.d.ts +2 -0
  257. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAddressesAttributeCommand.d.ts +2 -0
  258. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAddressesCommand.d.ts +2 -0
  259. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAggregateIdFormatCommand.d.ts +2 -0
  260. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAvailabilityZonesCommand.d.ts +2 -0
  261. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAwsNetworkPerformanceMetricSubscriptionsCommand.d.ts +2 -0
  262. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeBundleTasksCommand.d.ts +2 -0
  263. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeByoipCidrsCommand.d.ts +2 -0
  264. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockExtensionHistoryCommand.d.ts +2 -0
  265. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockExtensionOfferingsCommand.d.ts +2 -0
  266. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockOfferingsCommand.d.ts +2 -0
  267. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockStatusCommand.d.ts +2 -0
  268. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlocksCommand.d.ts +2 -0
  269. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationBillingRequestsCommand.d.ts +2 -0
  270. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationFleetsCommand.d.ts +3 -1
  271. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationsCommand.d.ts +2 -0
  272. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCarrierGatewaysCommand.d.ts +2 -0
  273. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClassicLinkInstancesCommand.d.ts +2 -0
  274. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnAuthorizationRulesCommand.d.ts +2 -0
  275. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnConnectionsCommand.d.ts +2 -0
  276. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnEndpointsCommand.d.ts +2 -0
  277. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnRoutesCommand.d.ts +2 -0
  278. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnTargetNetworksCommand.d.ts +2 -0
  279. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCoipPoolsCommand.d.ts +2 -0
  280. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeConversionTasksCommand.d.ts +2 -0
  281. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCustomerGatewaysCommand.d.ts +2 -0
  282. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeDeclarativePoliciesReportsCommand.d.ts +2 -0
  283. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeDhcpOptionsCommand.d.ts +2 -0
  284. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeEgressOnlyInternetGatewaysCommand.d.ts +2 -0
  285. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeElasticGpusCommand.d.ts +2 -0
  286. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeExportImageTasksCommand.d.ts +2 -0
  287. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeExportTasksCommand.d.ts +2 -0
  288. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFastLaunchImagesCommand.d.ts +2 -0
  289. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFastSnapshotRestoresCommand.d.ts +2 -0
  290. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetHistoryCommand.d.ts +2 -0
  291. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetInstancesCommand.d.ts +2 -0
  292. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetsCommand.d.ts +6 -4
  293. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFlowLogsCommand.d.ts +2 -0
  294. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFpgaImageAttributeCommand.d.ts +2 -0
  295. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFpgaImagesCommand.d.ts +2 -0
  296. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeHostReservationOfferingsCommand.d.ts +2 -0
  297. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeHostReservationsCommand.d.ts +2 -0
  298. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeHostsCommand.d.ts +2 -0
  299. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIamInstanceProfileAssociationsCommand.d.ts +2 -0
  300. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIdFormatCommand.d.ts +2 -0
  301. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIdentityIdFormatCommand.d.ts +2 -0
  302. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageAttributeCommand.d.ts +2 -0
  303. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageReferencesCommand.d.ts +2 -0
  304. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageUsageReportEntriesCommand.d.ts +3 -1
  305. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageUsageReportsCommand.d.ts +2 -0
  306. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImagesCommand.d.ts +2 -0
  307. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImportImageTasksCommand.d.ts +2 -0
  308. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImportSnapshotTasksCommand.d.ts +2 -0
  309. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceAttributeCommand.d.ts +2 -0
  310. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceConnectEndpointsCommand.d.ts +2 -0
  311. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceCreditSpecificationsCommand.d.ts +2 -0
  312. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceEventNotificationAttributesCommand.d.ts +2 -0
  313. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceEventWindowsCommand.d.ts +2 -0
  314. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceImageMetadataCommand.d.ts +3 -1
  315. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceStatusCommand.d.ts +2 -0
  316. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTopologyCommand.d.ts +2 -0
  317. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTypeOfferingsCommand.d.ts +3 -1
  318. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTypesCommand.d.ts +4 -2
  319. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstancesCommand.d.ts +3 -1
  320. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInternetGatewaysCommand.d.ts +2 -0
  321. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamByoasnCommand.d.ts +2 -0
  322. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamExternalResourceVerificationTokensCommand.d.ts +2 -0
  323. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamPoolsCommand.d.ts +2 -0
  324. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamResourceDiscoveriesCommand.d.ts +2 -0
  325. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamResourceDiscoveryAssociationsCommand.d.ts +2 -0
  326. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamScopesCommand.d.ts +2 -0
  327. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamsCommand.d.ts +2 -0
  328. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpv6PoolsCommand.d.ts +2 -0
  329. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeKeyPairsCommand.d.ts +2 -0
  330. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +3 -1
  331. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLaunchTemplatesCommand.d.ts +2 -0
  332. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand.d.ts +2 -0
  333. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayRouteTableVpcAssociationsCommand.d.ts +2 -0
  334. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayRouteTablesCommand.d.ts +2 -0
  335. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayVirtualInterfaceGroupsCommand.d.ts +2 -0
  336. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayVirtualInterfacesCommand.d.ts +2 -0
  337. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewaysCommand.d.ts +2 -0
  338. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLockedSnapshotsCommand.d.ts +2 -0
  339. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeMacHostsCommand.d.ts +2 -0
  340. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeMacModificationTasksCommand.d.ts +2 -0
  341. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeManagedPrefixListsCommand.d.ts +2 -0
  342. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeMovingAddressesCommand.d.ts +2 -0
  343. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNatGatewaysCommand.d.ts +2 -0
  344. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkAclsCommand.d.ts +2 -0
  345. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAccessScopeAnalysesCommand.d.ts +2 -0
  346. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAccessScopesCommand.d.ts +2 -0
  347. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAnalysesCommand.d.ts +2 -0
  348. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsPathsCommand.d.ts +2 -0
  349. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInterfaceAttributeCommand.d.ts +2 -0
  350. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInterfacePermissionsCommand.d.ts +2 -0
  351. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInterfacesCommand.d.ts +2 -0
  352. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeOutpostLagsCommand.d.ts +2 -0
  353. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePlacementGroupsCommand.d.ts +2 -0
  354. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePrefixListsCommand.d.ts +2 -0
  355. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePrincipalIdFormatCommand.d.ts +2 -0
  356. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePublicIpv4PoolsCommand.d.ts +2 -0
  357. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRegionsCommand.d.ts +2 -0
  358. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReplaceRootVolumeTasksCommand.d.ts +2 -0
  359. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesCommand.d.ts +3 -1
  360. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesListingsCommand.d.ts +2 -0
  361. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesModificationsCommand.d.ts +3 -1
  362. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesOfferingsCommand.d.ts +4 -2
  363. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteServerEndpointsCommand.d.ts +2 -0
  364. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteServerPeersCommand.d.ts +2 -0
  365. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteServersCommand.d.ts +2 -0
  366. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteTablesCommand.d.ts +2 -0
  367. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeScheduledInstanceAvailabilityCommand.d.ts +2 -0
  368. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeScheduledInstancesCommand.d.ts +2 -0
  369. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupReferencesCommand.d.ts +2 -0
  370. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupRulesCommand.d.ts +2 -0
  371. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupVpcAssociationsCommand.d.ts +2 -0
  372. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupsCommand.d.ts +2 -0
  373. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeServiceLinkVirtualInterfacesCommand.d.ts +2 -0
  374. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSnapshotAttributeCommand.d.ts +2 -0
  375. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSnapshotTierStatusCommand.d.ts +2 -0
  376. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSnapshotsCommand.d.ts +2 -0
  377. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotDatafeedSubscriptionCommand.d.ts +2 -0
  378. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotFleetInstancesCommand.d.ts +2 -0
  379. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotFleetRequestHistoryCommand.d.ts +2 -0
  380. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +4 -2
  381. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotInstanceRequestsCommand.d.ts +3 -1
  382. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotPriceHistoryCommand.d.ts +4 -2
  383. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeStaleSecurityGroupsCommand.d.ts +2 -0
  384. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeStoreImageTasksCommand.d.ts +2 -0
  385. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSubnetsCommand.d.ts +2 -0
  386. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTagsCommand.d.ts +2 -0
  387. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorFilterRulesCommand.d.ts +2 -0
  388. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorFiltersCommand.d.ts +2 -0
  389. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorSessionsCommand.d.ts +2 -0
  390. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorTargetsCommand.d.ts +2 -0
  391. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayAttachmentsCommand.d.ts +2 -0
  392. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayConnectPeersCommand.d.ts +2 -0
  393. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayConnectsCommand.d.ts +2 -0
  394. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayMulticastDomainsCommand.d.ts +2 -0
  395. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayPeeringAttachmentsCommand.d.ts +2 -0
  396. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayPolicyTablesCommand.d.ts +2 -0
  397. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayRouteTableAnnouncementsCommand.d.ts +2 -0
  398. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayRouteTablesCommand.d.ts +2 -0
  399. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayVpcAttachmentsCommand.d.ts +2 -0
  400. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewaysCommand.d.ts +2 -0
  401. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrunkInterfaceAssociationsCommand.d.ts +2 -0
  402. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessEndpointsCommand.d.ts +2 -0
  403. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessGroupsCommand.d.ts +2 -0
  404. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessInstanceLoggingConfigurationsCommand.d.ts +2 -0
  405. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessInstancesCommand.d.ts +2 -0
  406. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessTrustProvidersCommand.d.ts +2 -0
  407. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumeAttributeCommand.d.ts +2 -0
  408. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumeStatusCommand.d.ts +2 -0
  409. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumesCommand.d.ts +2 -0
  410. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumesModificationsCommand.d.ts +2 -0
  411. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcAttributeCommand.d.ts +2 -0
  412. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcBlockPublicAccessExclusionsCommand.d.ts +2 -0
  413. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcBlockPublicAccessOptionsCommand.d.ts +2 -0
  414. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcClassicLinkCommand.d.ts +2 -0
  415. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcClassicLinkDnsSupportCommand.d.ts +2 -0
  416. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointAssociationsCommand.d.ts +2 -0
  417. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointConnectionNotificationsCommand.d.ts +2 -0
  418. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointConnectionsCommand.d.ts +2 -0
  419. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointServiceConfigurationsCommand.d.ts +2 -0
  420. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointServicePermissionsCommand.d.ts +2 -0
  421. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointServicesCommand.d.ts +2 -0
  422. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointsCommand.d.ts +2 -0
  423. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcPeeringConnectionsCommand.d.ts +2 -0
  424. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcsCommand.d.ts +2 -0
  425. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpnConnectionsCommand.d.ts +2 -0
  426. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpnGatewaysCommand.d.ts +2 -0
  427. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachClassicLinkVpcCommand.d.ts +2 -0
  428. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachInternetGatewayCommand.d.ts +2 -0
  429. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachNetworkInterfaceCommand.d.ts +2 -0
  430. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachVerifiedAccessTrustProviderCommand.d.ts +2 -0
  431. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachVolumeCommand.d.ts +2 -0
  432. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachVpnGatewayCommand.d.ts +2 -0
  433. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableAddressTransferCommand.d.ts +2 -0
  434. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableAllowedImagesSettingsCommand.d.ts +2 -0
  435. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableAwsNetworkPerformanceMetricSubscriptionCommand.d.ts +2 -0
  436. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableEbsEncryptionByDefaultCommand.d.ts +2 -0
  437. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableFastLaunchCommand.d.ts +2 -0
  438. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableFastSnapshotRestoresCommand.d.ts +2 -0
  439. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageBlockPublicAccessCommand.d.ts +2 -4
  440. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageCommand.d.ts +2 -0
  441. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageDeprecationCommand.d.ts +2 -0
  442. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageDeregistrationProtectionCommand.d.ts +2 -0
  443. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableIpamOrganizationAdminAccountCommand.d.ts +2 -0
  444. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableRouteServerPropagationCommand.d.ts +2 -0
  445. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableSerialConsoleAccessCommand.d.ts +2 -0
  446. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableSnapshotBlockPublicAccessCommand.d.ts +2 -0
  447. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableTransitGatewayRouteTablePropagationCommand.d.ts +2 -0
  448. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableVgwRoutePropagationCommand.d.ts +2 -0
  449. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableVpcClassicLinkCommand.d.ts +2 -0
  450. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableVpcClassicLinkDnsSupportCommand.d.ts +2 -0
  451. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateAddressCommand.d.ts +2 -0
  452. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateCapacityReservationBillingOwnerCommand.d.ts +2 -0
  453. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateClientVpnTargetNetworkCommand.d.ts +2 -0
  454. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateEnclaveCertificateIamRoleCommand.d.ts +2 -0
  455. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateIamInstanceProfileCommand.d.ts +2 -0
  456. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateInstanceEventWindowCommand.d.ts +2 -0
  457. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateIpamByoasnCommand.d.ts +2 -0
  458. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateIpamResourceDiscoveryCommand.d.ts +2 -0
  459. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateNatGatewayAddressCommand.d.ts +2 -0
  460. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateRouteServerCommand.d.ts +2 -0
  461. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateRouteTableCommand.d.ts +2 -0
  462. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateSecurityGroupVpcCommand.d.ts +2 -0
  463. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateSubnetCidrBlockCommand.d.ts +2 -0
  464. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayMulticastDomainCommand.d.ts +2 -0
  465. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayPolicyTableCommand.d.ts +2 -0
  466. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayRouteTableCommand.d.ts +2 -0
  467. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTrunkInterfaceCommand.d.ts +2 -0
  468. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateVpcCidrBlockCommand.d.ts +2 -0
  469. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableAddressTransferCommand.d.ts +2 -0
  470. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableAllowedImagesSettingsCommand.d.ts +2 -0
  471. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand.d.ts +2 -0
  472. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableEbsEncryptionByDefaultCommand.d.ts +2 -0
  473. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableFastLaunchCommand.d.ts +2 -0
  474. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableFastSnapshotRestoresCommand.d.ts +2 -0
  475. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageBlockPublicAccessCommand.d.ts +2 -0
  476. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageCommand.d.ts +2 -0
  477. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageDeprecationCommand.d.ts +2 -0
  478. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageDeregistrationProtectionCommand.d.ts +2 -0
  479. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableIpamOrganizationAdminAccountCommand.d.ts +2 -0
  480. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableReachabilityAnalyzerOrganizationSharingCommand.d.ts +2 -0
  481. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableRouteServerPropagationCommand.d.ts +2 -0
  482. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableSerialConsoleAccessCommand.d.ts +2 -0
  483. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableSnapshotBlockPublicAccessCommand.d.ts +2 -0
  484. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableTransitGatewayRouteTablePropagationCommand.d.ts +2 -0
  485. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVgwRoutePropagationCommand.d.ts +2 -0
  486. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVolumeIOCommand.d.ts +2 -0
  487. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVpcClassicLinkCommand.d.ts +2 -0
  488. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVpcClassicLinkDnsSupportCommand.d.ts +2 -0
  489. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportClientVpnClientCertificateRevocationListCommand.d.ts +2 -0
  490. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportClientVpnClientConfigurationCommand.d.ts +2 -0
  491. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportImageCommand.d.ts +2 -0
  492. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportTransitGatewayRoutesCommand.d.ts +2 -0
  493. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportVerifiedAccessInstanceClientConfigurationCommand.d.ts +2 -0
  494. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetActiveVpnTunnelStatusCommand.d.ts +2 -0
  495. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAllowedImagesSettingsCommand.d.ts +14 -0
  496. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAssociatedEnclaveCertificateIamRolesCommand.d.ts +2 -0
  497. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAssociatedIpv6PoolCidrsCommand.d.ts +2 -0
  498. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAwsNetworkPerformanceDataCommand.d.ts +2 -0
  499. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCapacityReservationUsageCommand.d.ts +2 -0
  500. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCoipPoolUsageCommand.d.ts +2 -0
  501. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetConsoleOutputCommand.d.ts +2 -0
  502. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetConsoleScreenshotCommand.d.ts +2 -0
  503. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetDeclarativePoliciesReportSummaryCommand.d.ts +2 -0
  504. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetDefaultCreditSpecificationCommand.d.ts +2 -0
  505. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetEbsDefaultKmsKeyIdCommand.d.ts +2 -0
  506. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetEbsEncryptionByDefaultCommand.d.ts +2 -0
  507. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +2 -0
  508. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetGroupsForCapacityReservationCommand.d.ts +2 -0
  509. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetHostReservationPurchasePreviewCommand.d.ts +2 -0
  510. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetImageBlockPublicAccessStateCommand.d.ts +2 -0
  511. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceMetadataDefaultsCommand.d.ts +3 -1
  512. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceTpmEkPubCommand.d.ts +2 -0
  513. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceTypesFromInstanceRequirementsCommand.d.ts +2 -0
  514. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceUefiDataCommand.d.ts +2 -0
  515. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamAddressHistoryCommand.d.ts +2 -0
  516. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamDiscoveredAccountsCommand.d.ts +2 -0
  517. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamDiscoveredPublicAddressesCommand.d.ts +2 -0
  518. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamDiscoveredResourceCidrsCommand.d.ts +2 -0
  519. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamPoolAllocationsCommand.d.ts +2 -0
  520. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamPoolCidrsCommand.d.ts +2 -0
  521. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamResourceCidrsCommand.d.ts +2 -0
  522. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +3 -1
  523. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetManagedPrefixListAssociationsCommand.d.ts +2 -0
  524. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetManagedPrefixListEntriesCommand.d.ts +2 -0
  525. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +4 -1
  526. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetNetworkInsightsAccessScopeContentCommand.d.ts +3 -2
  527. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetPasswordDataCommand.d.ts +2 -0
  528. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetReservedInstancesExchangeQuoteCommand.d.ts +2 -0
  529. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetRouteServerAssociationsCommand.d.ts +2 -0
  530. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetRouteServerPropagationsCommand.d.ts +2 -0
  531. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetRouteServerRoutingDatabaseCommand.d.ts +2 -0
  532. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSecurityGroupsForVpcCommand.d.ts +2 -0
  533. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSerialConsoleAccessStatusCommand.d.ts +2 -0
  534. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSnapshotBlockPublicAccessStateCommand.d.ts +2 -0
  535. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSpotPlacementScoresCommand.d.ts +2 -0
  536. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSubnetCidrReservationsCommand.d.ts +2 -0
  537. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayAttachmentPropagationsCommand.d.ts +2 -0
  538. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayMulticastDomainAssociationsCommand.d.ts +2 -0
  539. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayPolicyTableAssociationsCommand.d.ts +2 -0
  540. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayPolicyTableEntriesCommand.d.ts +2 -0
  541. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayPrefixListReferencesCommand.d.ts +2 -0
  542. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayRouteTableAssociationsCommand.d.ts +2 -0
  543. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayRouteTablePropagationsCommand.d.ts +2 -0
  544. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessEndpointPolicyCommand.d.ts +2 -0
  545. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessEndpointTargetsCommand.d.ts +2 -0
  546. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessGroupPolicyCommand.d.ts +2 -0
  547. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnConnectionDeviceSampleConfigurationCommand.d.ts +2 -0
  548. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnConnectionDeviceTypesCommand.d.ts +2 -0
  549. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnTunnelReplacementStatusCommand.d.ts +2 -0
  550. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportClientVpnClientCertificateRevocationListCommand.d.ts +2 -0
  551. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportImageCommand.d.ts +2 -0
  552. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportInstanceCommand.d.ts +3 -1
  553. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportKeyPairCommand.d.ts +2 -0
  554. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportSnapshotCommand.d.ts +2 -0
  555. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportVolumeCommand.d.ts +2 -0
  556. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ListImagesInRecycleBinCommand.d.ts +2 -0
  557. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ListSnapshotsInRecycleBinCommand.d.ts +2 -0
  558. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/LockSnapshotCommand.d.ts +2 -0
  559. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyAddressAttributeCommand.d.ts +2 -0
  560. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyAvailabilityZoneGroupCommand.d.ts +2 -0
  561. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyCapacityReservationCommand.d.ts +2 -0
  562. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyCapacityReservationFleetCommand.d.ts +2 -0
  563. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyClientVpnEndpointCommand.d.ts +2 -0
  564. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyDefaultCreditSpecificationCommand.d.ts +2 -0
  565. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyEbsDefaultKmsKeyIdCommand.d.ts +2 -0
  566. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyFleetCommand.d.ts +3 -1
  567. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyFpgaImageAttributeCommand.d.ts +2 -0
  568. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyHostsCommand.d.ts +2 -0
  569. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIdFormatCommand.d.ts +2 -0
  570. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIdentityIdFormatCommand.d.ts +2 -0
  571. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyImageAttributeCommand.d.ts +2 -0
  572. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceAttributeCommand.d.ts +2 -0
  573. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceCapacityReservationAttributesCommand.d.ts +2 -0
  574. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceConnectEndpointCommand.d.ts +2 -0
  575. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceCpuOptionsCommand.d.ts +2 -0
  576. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceCreditSpecificationCommand.d.ts +2 -0
  577. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceEventStartTimeCommand.d.ts +2 -0
  578. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceEventWindowCommand.d.ts +2 -0
  579. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceMaintenanceOptionsCommand.d.ts +2 -0
  580. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceMetadataDefaultsCommand.d.ts +5 -3
  581. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceMetadataOptionsCommand.d.ts +2 -0
  582. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceNetworkPerformanceOptionsCommand.d.ts +2 -0
  583. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstancePlacementCommand.d.ts +2 -0
  584. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamCommand.d.ts +2 -0
  585. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamPoolCommand.d.ts +2 -0
  586. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamResourceCidrCommand.d.ts +2 -0
  587. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamResourceDiscoveryCommand.d.ts +2 -0
  588. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamScopeCommand.d.ts +2 -0
  589. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyLaunchTemplateCommand.d.ts +2 -0
  590. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyLocalGatewayRouteCommand.d.ts +2 -0
  591. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyManagedPrefixListCommand.d.ts +2 -0
  592. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyNetworkInterfaceAttributeCommand.d.ts +2 -0
  593. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyPrivateDnsNameOptionsCommand.d.ts +2 -0
  594. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyPublicIpDnsNameOptionsCommand.d.ts +2 -0
  595. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyReservedInstancesCommand.d.ts +3 -1
  596. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyRouteServerCommand.d.ts +2 -0
  597. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySecurityGroupRulesCommand.d.ts +2 -0
  598. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySnapshotAttributeCommand.d.ts +2 -0
  599. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySnapshotTierCommand.d.ts +2 -0
  600. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySpotFleetRequestCommand.d.ts +3 -1
  601. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySubnetAttributeCommand.d.ts +2 -0
  602. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTrafficMirrorFilterNetworkServicesCommand.d.ts +2 -0
  603. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTrafficMirrorFilterRuleCommand.d.ts +2 -0
  604. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTrafficMirrorSessionCommand.d.ts +2 -0
  605. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayCommand.d.ts +2 -0
  606. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayPrefixListReferenceCommand.d.ts +2 -0
  607. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  608. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessEndpointCommand.d.ts +2 -0
  609. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessEndpointPolicyCommand.d.ts +2 -0
  610. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessGroupCommand.d.ts +2 -0
  611. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessGroupPolicyCommand.d.ts +2 -0
  612. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessInstanceCommand.d.ts +2 -0
  613. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.d.ts +2 -0
  614. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessTrustProviderCommand.d.ts +2 -0
  615. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVolumeAttributeCommand.d.ts +2 -0
  616. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVolumeCommand.d.ts +2 -0
  617. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcAttributeCommand.d.ts +2 -0
  618. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcBlockPublicAccessExclusionCommand.d.ts +2 -0
  619. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcBlockPublicAccessOptionsCommand.d.ts +2 -0
  620. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointCommand.d.ts +2 -0
  621. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointConnectionNotificationCommand.d.ts +2 -0
  622. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointServiceConfigurationCommand.d.ts +2 -0
  623. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointServicePayerResponsibilityCommand.d.ts +2 -0
  624. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointServicePermissionsCommand.d.ts +2 -0
  625. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcPeeringConnectionOptionsCommand.d.ts +2 -0
  626. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcTenancyCommand.d.ts +2 -0
  627. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnConnectionCommand.d.ts +2 -0
  628. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnConnectionOptionsCommand.d.ts +2 -0
  629. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnTunnelCertificateCommand.d.ts +2 -0
  630. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnTunnelOptionsCommand.d.ts +2 -0
  631. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MonitorInstancesCommand.d.ts +2 -0
  632. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MoveAddressToVpcCommand.d.ts +2 -0
  633. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MoveByoipCidrToIpamCommand.d.ts +2 -0
  634. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MoveCapacityReservationInstancesCommand.d.ts +2 -0
  635. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionByoipCidrCommand.d.ts +2 -0
  636. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionIpamByoasnCommand.d.ts +2 -0
  637. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionIpamPoolCidrCommand.d.ts +2 -0
  638. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionPublicIpv4PoolCidrCommand.d.ts +2 -0
  639. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseCapacityBlockCommand.d.ts +2 -0
  640. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseCapacityBlockExtensionCommand.d.ts +2 -0
  641. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseHostReservationCommand.d.ts +2 -0
  642. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseReservedInstancesOfferingCommand.d.ts +2 -0
  643. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseScheduledInstancesCommand.d.ts +2 -0
  644. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RebootInstancesCommand.d.ts +2 -0
  645. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterImageCommand.d.ts +2 -0
  646. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterInstanceEventNotificationAttributesCommand.d.ts +2 -0
  647. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterTransitGatewayMulticastGroupMembersCommand.d.ts +2 -0
  648. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterTransitGatewayMulticastGroupSourcesCommand.d.ts +2 -0
  649. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectCapacityReservationBillingOwnershipCommand.d.ts +2 -0
  650. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.d.ts +2 -0
  651. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
  652. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  653. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectVpcEndpointConnectionsCommand.d.ts +2 -0
  654. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectVpcPeeringConnectionCommand.d.ts +2 -0
  655. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseAddressCommand.d.ts +2 -0
  656. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseHostsCommand.d.ts +2 -0
  657. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseIpamPoolAllocationCommand.d.ts +2 -0
  658. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceIamInstanceProfileAssociationCommand.d.ts +2 -0
  659. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceImageCriteriaInAllowedImagesSettingsCommand.d.ts +14 -0
  660. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceNetworkAclAssociationCommand.d.ts +2 -0
  661. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceNetworkAclEntryCommand.d.ts +2 -0
  662. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceRouteCommand.d.ts +2 -0
  663. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceRouteTableAssociationCommand.d.ts +2 -0
  664. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceTransitGatewayRouteCommand.d.ts +2 -0
  665. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceVpnTunnelCommand.d.ts +2 -0
  666. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReportInstanceStatusCommand.d.ts +2 -0
  667. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RequestSpotFleetCommand.d.ts +4 -2
  668. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RequestSpotInstancesCommand.d.ts +4 -2
  669. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetAddressAttributeCommand.d.ts +2 -0
  670. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +2 -0
  671. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetFpgaImageAttributeCommand.d.ts +2 -0
  672. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetImageAttributeCommand.d.ts +2 -0
  673. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetInstanceAttributeCommand.d.ts +2 -0
  674. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetNetworkInterfaceAttributeCommand.d.ts +2 -0
  675. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetSnapshotAttributeCommand.d.ts +2 -0
  676. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreAddressToClassicCommand.d.ts +2 -0
  677. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreImageFromRecycleBinCommand.d.ts +2 -0
  678. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreManagedPrefixListVersionCommand.d.ts +2 -0
  679. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreSnapshotFromRecycleBinCommand.d.ts +2 -0
  680. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreSnapshotTierCommand.d.ts +2 -0
  681. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RevokeClientVpnIngressCommand.d.ts +2 -0
  682. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RevokeSecurityGroupEgressCommand.d.ts +2 -0
  683. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RevokeSecurityGroupIngressCommand.d.ts +2 -0
  684. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RunInstancesCommand.d.ts +4 -2
  685. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RunScheduledInstancesCommand.d.ts +2 -0
  686. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchLocalGatewayRoutesCommand.d.ts +2 -0
  687. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchTransitGatewayMulticastGroupsCommand.d.ts +2 -0
  688. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchTransitGatewayRoutesCommand.d.ts +2 -0
  689. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SendDiagnosticInterruptCommand.d.ts +2 -0
  690. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartDeclarativePoliciesReportCommand.d.ts +2 -0
  691. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartInstancesCommand.d.ts +2 -0
  692. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartNetworkInsightsAccessScopeAnalysisCommand.d.ts +2 -0
  693. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartNetworkInsightsAnalysisCommand.d.ts +2 -0
  694. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartVpcEndpointServicePrivateDnsVerificationCommand.d.ts +2 -0
  695. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StopInstancesCommand.d.ts +2 -0
  696. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/TerminateClientVpnConnectionsCommand.d.ts +2 -0
  697. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/TerminateInstancesCommand.d.ts +2 -0
  698. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnassignIpv6AddressesCommand.d.ts +2 -0
  699. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnassignPrivateIpAddressesCommand.d.ts +2 -0
  700. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +2 -0
  701. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnlockSnapshotCommand.d.ts +2 -0
  702. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnmonitorInstancesCommand.d.ts +2 -0
  703. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.d.ts +2 -0
  704. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.d.ts +2 -0
  705. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/WithdrawByoipCidrCommand.d.ts +2 -0
  706. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_1.d.ts +6 -4
  707. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_2.d.ts +4 -0
  708. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_4.d.ts +11 -11
  709. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_6.d.ts +100 -65
  710. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_7.d.ts +45 -31
  711. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_8.d.ts +149 -22
  712. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +2 -4
  713. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetNetworkInsightsAccessScopeContentCommand.d.ts +4 -2
  714. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_1.d.ts +2 -0
  715. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_6.d.ts +11 -12
  716. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_7.d.ts +12 -10
  717. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_8.d.ts +20 -2
  718. package/node_modules/@aws-sdk/client-ec2/package.json +11 -11
  719. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateCapacityProviderCommand.d.ts +2 -0
  720. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateClusterCommand.d.ts +2 -0
  721. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateServiceCommand.d.ts +2 -0
  722. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateTaskSetCommand.d.ts +2 -0
  723. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteAccountSettingCommand.d.ts +2 -0
  724. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteAttributesCommand.d.ts +2 -0
  725. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteCapacityProviderCommand.d.ts +2 -0
  726. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteClusterCommand.d.ts +2 -0
  727. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteServiceCommand.d.ts +2 -0
  728. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +2 -0
  729. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteTaskSetCommand.d.ts +2 -0
  730. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeregisterContainerInstanceCommand.d.ts +2 -0
  731. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeregisterTaskDefinitionCommand.d.ts +2 -0
  732. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +2 -0
  733. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeClustersCommand.d.ts +2 -0
  734. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeContainerInstancesCommand.d.ts +2 -0
  735. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +2 -0
  736. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +2 -0
  737. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServicesCommand.d.ts +2 -0
  738. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTaskDefinitionCommand.d.ts +2 -0
  739. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTaskSetsCommand.d.ts +2 -0
  740. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTasksCommand.d.ts +2 -0
  741. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DiscoverPollEndpointCommand.d.ts +2 -0
  742. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ExecuteCommandCommand.d.ts +2 -0
  743. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/GetTaskProtectionCommand.d.ts +2 -0
  744. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListAccountSettingsCommand.d.ts +2 -0
  745. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListAttributesCommand.d.ts +2 -0
  746. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListClustersCommand.d.ts +2 -0
  747. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListContainerInstancesCommand.d.ts +2 -0
  748. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServiceDeploymentsCommand.d.ts +2 -0
  749. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServicesByNamespaceCommand.d.ts +2 -0
  750. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServicesCommand.d.ts +2 -0
  751. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
  752. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTaskDefinitionFamiliesCommand.d.ts +2 -0
  753. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTaskDefinitionsCommand.d.ts +2 -0
  754. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTasksCommand.d.ts +2 -0
  755. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAccountSettingCommand.d.ts +2 -0
  756. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +2 -0
  757. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAttributesCommand.d.ts +2 -0
  758. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +2 -0
  759. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RegisterContainerInstanceCommand.d.ts +2 -0
  760. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +2 -0
  761. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RunTaskCommand.d.ts +2 -0
  762. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StartTaskCommand.d.ts +2 -0
  763. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StopServiceDeploymentCommand.d.ts +2 -0
  764. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StopTaskCommand.d.ts +2 -0
  765. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +2 -0
  766. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +2 -0
  767. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +2 -0
  768. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/TagResourceCommand.d.ts +2 -0
  769. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UntagResourceCommand.d.ts +2 -0
  770. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateCapacityProviderCommand.d.ts +2 -0
  771. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateClusterCommand.d.ts +2 -0
  772. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateClusterSettingsCommand.d.ts +2 -0
  773. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateContainerAgentCommand.d.ts +2 -0
  774. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateContainerInstancesStateCommand.d.ts +2 -0
  775. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateServiceCommand.d.ts +2 -0
  776. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +2 -0
  777. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateTaskProtectionCommand.d.ts +2 -0
  778. package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateTaskSetCommand.d.ts +2 -0
  779. package/node_modules/@aws-sdk/client-ecs/package.json +10 -10
  780. package/node_modules/@aws-sdk/client-kms/dist-types/commands/CancelKeyDeletionCommand.d.ts +2 -0
  781. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ConnectCustomKeyStoreCommand.d.ts +2 -0
  782. package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateAliasCommand.d.ts +2 -0
  783. package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +2 -0
  784. package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateGrantCommand.d.ts +2 -0
  785. package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateKeyCommand.d.ts +2 -0
  786. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DecryptCommand.d.ts +2 -0
  787. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeleteAliasCommand.d.ts +2 -0
  788. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeleteCustomKeyStoreCommand.d.ts +2 -0
  789. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +2 -0
  790. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeriveSharedSecretCommand.d.ts +2 -0
  791. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DescribeCustomKeyStoresCommand.d.ts +2 -0
  792. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DescribeKeyCommand.d.ts +2 -0
  793. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DisableKeyCommand.d.ts +2 -0
  794. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DisableKeyRotationCommand.d.ts +2 -0
  795. package/node_modules/@aws-sdk/client-kms/dist-types/commands/DisconnectCustomKeyStoreCommand.d.ts +2 -0
  796. package/node_modules/@aws-sdk/client-kms/dist-types/commands/EnableKeyCommand.d.ts +2 -0
  797. package/node_modules/@aws-sdk/client-kms/dist-types/commands/EnableKeyRotationCommand.d.ts +2 -0
  798. package/node_modules/@aws-sdk/client-kms/dist-types/commands/EncryptCommand.d.ts +2 -0
  799. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyCommand.d.ts +2 -0
  800. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyPairCommand.d.ts +2 -0
  801. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +2 -0
  802. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +2 -0
  803. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateMacCommand.d.ts +2 -0
  804. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateRandomCommand.d.ts +2 -0
  805. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetKeyPolicyCommand.d.ts +2 -0
  806. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetKeyRotationStatusCommand.d.ts +2 -0
  807. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetParametersForImportCommand.d.ts +2 -0
  808. package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetPublicKeyCommand.d.ts +2 -0
  809. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ImportKeyMaterialCommand.d.ts +2 -0
  810. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListAliasesCommand.d.ts +2 -0
  811. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListGrantsCommand.d.ts +2 -0
  812. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListKeyPoliciesCommand.d.ts +2 -0
  813. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListKeyRotationsCommand.d.ts +2 -0
  814. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListKeysCommand.d.ts +2 -0
  815. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListResourceTagsCommand.d.ts +2 -0
  816. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListRetirableGrantsCommand.d.ts +2 -0
  817. package/node_modules/@aws-sdk/client-kms/dist-types/commands/PutKeyPolicyCommand.d.ts +2 -0
  818. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ReEncryptCommand.d.ts +2 -0
  819. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ReplicateKeyCommand.d.ts +2 -0
  820. package/node_modules/@aws-sdk/client-kms/dist-types/commands/RetireGrantCommand.d.ts +2 -0
  821. package/node_modules/@aws-sdk/client-kms/dist-types/commands/RevokeGrantCommand.d.ts +2 -0
  822. package/node_modules/@aws-sdk/client-kms/dist-types/commands/RotateKeyOnDemandCommand.d.ts +2 -0
  823. package/node_modules/@aws-sdk/client-kms/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +2 -0
  824. package/node_modules/@aws-sdk/client-kms/dist-types/commands/SignCommand.d.ts +2 -0
  825. package/node_modules/@aws-sdk/client-kms/dist-types/commands/TagResourceCommand.d.ts +2 -0
  826. package/node_modules/@aws-sdk/client-kms/dist-types/commands/UntagResourceCommand.d.ts +2 -0
  827. package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdateAliasCommand.d.ts +2 -0
  828. package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +2 -0
  829. package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +2 -0
  830. package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdatePrimaryRegionCommand.d.ts +2 -0
  831. package/node_modules/@aws-sdk/client-kms/dist-types/commands/VerifyCommand.d.ts +2 -0
  832. package/node_modules/@aws-sdk/client-kms/dist-types/commands/VerifyMacCommand.d.ts +2 -0
  833. package/node_modules/@aws-sdk/client-kms/package.json +10 -10
  834. package/node_modules/@aws-sdk/client-s3/dist-types/commands/AbortMultipartUploadCommand.d.ts +2 -0
  835. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +2 -0
  836. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +2 -0
  837. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +2 -0
  838. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataConfigurationCommand.d.ts +2 -0
  839. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +2 -0
  840. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +2 -0
  841. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateSessionCommand.d.ts +2 -0
  842. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +2 -0
  843. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCommand.d.ts +2 -0
  844. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCorsCommand.d.ts +2 -0
  845. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +2 -0
  846. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +2 -0
  847. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +2 -0
  848. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +2 -0
  849. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetadataConfigurationCommand.d.ts +2 -0
  850. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetadataTableConfigurationCommand.d.ts +2 -0
  851. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +2 -0
  852. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +2 -0
  853. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketPolicyCommand.d.ts +2 -0
  854. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketReplicationCommand.d.ts +2 -0
  855. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketTaggingCommand.d.ts +2 -0
  856. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +2 -0
  857. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +2 -0
  858. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +2 -0
  859. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectsCommand.d.ts +2 -0
  860. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +2 -0
  861. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +2 -0
  862. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAclCommand.d.ts +2 -0
  863. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +2 -0
  864. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketCorsCommand.d.ts +2 -0
  865. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketEncryptionCommand.d.ts +2 -0
  866. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +2 -0
  867. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +2 -0
  868. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +2 -0
  869. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLocationCommand.d.ts +2 -0
  870. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLoggingCommand.d.ts +2 -0
  871. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetadataConfigurationCommand.d.ts +2 -0
  872. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetadataTableConfigurationCommand.d.ts +2 -0
  873. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +2 -0
  874. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +2 -0
  875. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +2 -0
  876. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyCommand.d.ts +2 -0
  877. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +2 -0
  878. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketReplicationCommand.d.ts +2 -0
  879. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +2 -0
  880. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketTaggingCommand.d.ts +2 -0
  881. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketVersioningCommand.d.ts +2 -0
  882. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketWebsiteCommand.d.ts +2 -0
  883. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAclCommand.d.ts +2 -0
  884. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAttributesCommand.d.ts +2 -0
  885. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +2 -0
  886. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLegalHoldCommand.d.ts +2 -0
  887. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +2 -0
  888. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectRetentionCommand.d.ts +2 -0
  889. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +2 -0
  890. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTorrentCommand.d.ts +2 -0
  891. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetPublicAccessBlockCommand.d.ts +2 -0
  892. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +2 -0
  893. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +2 -0
  894. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +2 -0
  895. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +2 -0
  896. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +2 -0
  897. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +2 -0
  898. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketsCommand.d.ts +2 -0
  899. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListDirectoryBucketsCommand.d.ts +2 -0
  900. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListMultipartUploadsCommand.d.ts +2 -0
  901. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectVersionsCommand.d.ts +2 -0
  902. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsCommand.d.ts +2 -0
  903. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsV2Command.d.ts +2 -0
  904. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListPartsCommand.d.ts +2 -0
  905. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +2 -0
  906. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAclCommand.d.ts +2 -0
  907. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +2 -0
  908. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketCorsCommand.d.ts +2 -0
  909. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketEncryptionCommand.d.ts +2 -0
  910. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +2 -0
  911. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +2 -0
  912. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +2 -0
  913. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLoggingCommand.d.ts +2 -0
  914. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +2 -0
  915. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +2 -0
  916. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +2 -0
  917. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketPolicyCommand.d.ts +2 -0
  918. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketReplicationCommand.d.ts +2 -0
  919. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +2 -0
  920. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketTaggingCommand.d.ts +2 -0
  921. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketVersioningCommand.d.ts +2 -0
  922. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketWebsiteCommand.d.ts +2 -0
  923. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectAclCommand.d.ts +2 -0
  924. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +2 -0
  925. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLegalHoldCommand.d.ts +2 -0
  926. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +2 -0
  927. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +2 -0
  928. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectTaggingCommand.d.ts +2 -0
  929. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +2 -0
  930. package/node_modules/@aws-sdk/client-s3/dist-types/commands/RenameObjectCommand.d.ts +2 -0
  931. package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +2 -0
  932. package/node_modules/@aws-sdk/client-s3/dist-types/commands/SelectObjectContentCommand.d.ts +2 -0
  933. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UpdateBucketMetadataInventoryTableConfigurationCommand.d.ts +2 -0
  934. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UpdateBucketMetadataJournalTableConfigurationCommand.d.ts +2 -0
  935. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +2 -0
  936. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +2 -0
  937. package/node_modules/@aws-sdk/client-s3/dist-types/commands/WriteGetObjectResponseCommand.d.ts +2 -0
  938. package/node_modules/@aws-sdk/client-s3/package.json +17 -17
  939. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/BatchGetSecretValueCommand.d.ts +2 -0
  940. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CancelRotateSecretCommand.d.ts +2 -0
  941. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CreateSecretCommand.d.ts +2 -0
  942. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteResourcePolicyCommand.d.ts +2 -0
  943. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteSecretCommand.d.ts +2 -0
  944. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DescribeSecretCommand.d.ts +2 -0
  945. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetRandomPasswordCommand.d.ts +2 -0
  946. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetResourcePolicyCommand.d.ts +2 -0
  947. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetSecretValueCommand.d.ts +2 -0
  948. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretVersionIdsCommand.d.ts +2 -0
  949. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretsCommand.d.ts +2 -0
  950. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutResourcePolicyCommand.d.ts +2 -0
  951. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutSecretValueCommand.d.ts +2 -0
  952. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RemoveRegionsFromReplicationCommand.d.ts +2 -0
  953. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ReplicateSecretToRegionsCommand.d.ts +2 -0
  954. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RestoreSecretCommand.d.ts +2 -0
  955. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RotateSecretCommand.d.ts +2 -0
  956. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/StopReplicationToReplicaCommand.d.ts +2 -0
  957. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/TagResourceCommand.d.ts +2 -0
  958. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UntagResourceCommand.d.ts +2 -0
  959. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretCommand.d.ts +2 -0
  960. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretVersionStageCommand.d.ts +2 -0
  961. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ValidateResourcePolicyCommand.d.ts +2 -0
  962. package/node_modules/@aws-sdk/client-secrets-manager/package.json +10 -10
  963. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/CreateActivityCommand.d.ts +2 -0
  964. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/CreateStateMachineAliasCommand.d.ts +2 -0
  965. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/CreateStateMachineCommand.d.ts +2 -0
  966. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteActivityCommand.d.ts +2 -0
  967. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteStateMachineAliasCommand.d.ts +2 -0
  968. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteStateMachineCommand.d.ts +2 -0
  969. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteStateMachineVersionCommand.d.ts +2 -0
  970. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeActivityCommand.d.ts +2 -0
  971. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeExecutionCommand.d.ts +2 -0
  972. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeMapRunCommand.d.ts +2 -0
  973. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeStateMachineAliasCommand.d.ts +2 -0
  974. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeStateMachineCommand.d.ts +2 -0
  975. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeStateMachineForExecutionCommand.d.ts +2 -0
  976. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/GetActivityTaskCommand.d.ts +2 -0
  977. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/GetExecutionHistoryCommand.d.ts +2 -0
  978. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListActivitiesCommand.d.ts +2 -0
  979. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListExecutionsCommand.d.ts +2 -0
  980. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListMapRunsCommand.d.ts +2 -0
  981. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListStateMachineAliasesCommand.d.ts +2 -0
  982. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListStateMachineVersionsCommand.d.ts +2 -0
  983. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListStateMachinesCommand.d.ts +2 -0
  984. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
  985. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/PublishStateMachineVersionCommand.d.ts +2 -0
  986. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/RedriveExecutionCommand.d.ts +2 -0
  987. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/SendTaskFailureCommand.d.ts +2 -0
  988. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/SendTaskHeartbeatCommand.d.ts +2 -0
  989. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/SendTaskSuccessCommand.d.ts +2 -0
  990. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/StartExecutionCommand.d.ts +2 -0
  991. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/StartSyncExecutionCommand.d.ts +2 -0
  992. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/StopExecutionCommand.d.ts +2 -0
  993. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/TagResourceCommand.d.ts +2 -0
  994. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/TestStateCommand.d.ts +2 -0
  995. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UntagResourceCommand.d.ts +2 -0
  996. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UpdateMapRunCommand.d.ts +2 -0
  997. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UpdateStateMachineAliasCommand.d.ts +2 -0
  998. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UpdateStateMachineCommand.d.ts +2 -0
  999. package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ValidateStateMachineDefinitionCommand.d.ts +2 -0
  1000. package/node_modules/@aws-sdk/client-sfn/package.json +10 -10
  1001. package/node_modules/@aws-sdk/client-sns/dist-types/commands/AddPermissionCommand.d.ts +2 -0
  1002. package/node_modules/@aws-sdk/client-sns/dist-types/commands/CheckIfPhoneNumberIsOptedOutCommand.d.ts +2 -0
  1003. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ConfirmSubscriptionCommand.d.ts +2 -0
  1004. package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreatePlatformApplicationCommand.d.ts +2 -0
  1005. package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreatePlatformEndpointCommand.d.ts +2 -0
  1006. package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreateSMSSandboxPhoneNumberCommand.d.ts +2 -0
  1007. package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreateTopicCommand.d.ts +2 -0
  1008. package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeleteEndpointCommand.d.ts +2 -0
  1009. package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeletePlatformApplicationCommand.d.ts +2 -0
  1010. package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeleteSMSSandboxPhoneNumberCommand.d.ts +2 -0
  1011. package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeleteTopicCommand.d.ts +2 -0
  1012. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetDataProtectionPolicyCommand.d.ts +2 -0
  1013. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetEndpointAttributesCommand.d.ts +2 -0
  1014. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetPlatformApplicationAttributesCommand.d.ts +2 -0
  1015. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetSMSAttributesCommand.d.ts +2 -0
  1016. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetSMSSandboxAccountStatusCommand.d.ts +2 -0
  1017. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetSubscriptionAttributesCommand.d.ts +2 -0
  1018. package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetTopicAttributesCommand.d.ts +2 -0
  1019. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListEndpointsByPlatformApplicationCommand.d.ts +2 -0
  1020. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListOriginationNumbersCommand.d.ts +2 -0
  1021. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListPhoneNumbersOptedOutCommand.d.ts +2 -0
  1022. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListPlatformApplicationsCommand.d.ts +2 -0
  1023. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListSMSSandboxPhoneNumbersCommand.d.ts +2 -0
  1024. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListSubscriptionsByTopicCommand.d.ts +2 -0
  1025. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListSubscriptionsCommand.d.ts +2 -0
  1026. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
  1027. package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListTopicsCommand.d.ts +2 -0
  1028. package/node_modules/@aws-sdk/client-sns/dist-types/commands/OptInPhoneNumberCommand.d.ts +2 -0
  1029. package/node_modules/@aws-sdk/client-sns/dist-types/commands/PublishBatchCommand.d.ts +2 -0
  1030. package/node_modules/@aws-sdk/client-sns/dist-types/commands/PublishCommand.d.ts +2 -0
  1031. package/node_modules/@aws-sdk/client-sns/dist-types/commands/PutDataProtectionPolicyCommand.d.ts +2 -0
  1032. package/node_modules/@aws-sdk/client-sns/dist-types/commands/RemovePermissionCommand.d.ts +2 -0
  1033. package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetEndpointAttributesCommand.d.ts +2 -0
  1034. package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetPlatformApplicationAttributesCommand.d.ts +2 -0
  1035. package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetSMSAttributesCommand.d.ts +2 -0
  1036. package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetSubscriptionAttributesCommand.d.ts +2 -0
  1037. package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetTopicAttributesCommand.d.ts +2 -0
  1038. package/node_modules/@aws-sdk/client-sns/dist-types/commands/SubscribeCommand.d.ts +2 -0
  1039. package/node_modules/@aws-sdk/client-sns/dist-types/commands/TagResourceCommand.d.ts +2 -0
  1040. package/node_modules/@aws-sdk/client-sns/dist-types/commands/UnsubscribeCommand.d.ts +2 -0
  1041. package/node_modules/@aws-sdk/client-sns/dist-types/commands/UntagResourceCommand.d.ts +2 -0
  1042. package/node_modules/@aws-sdk/client-sns/dist-types/commands/VerifySMSSandboxPhoneNumberCommand.d.ts +2 -0
  1043. package/node_modules/@aws-sdk/client-sns/package.json +10 -10
  1044. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/AddPermissionCommand.d.ts +2 -0
  1045. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/CancelMessageMoveTaskCommand.d.ts +2 -0
  1046. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ChangeMessageVisibilityBatchCommand.d.ts +2 -0
  1047. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ChangeMessageVisibilityCommand.d.ts +2 -0
  1048. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/CreateQueueCommand.d.ts +2 -0
  1049. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/DeleteMessageBatchCommand.d.ts +2 -0
  1050. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/DeleteMessageCommand.d.ts +2 -0
  1051. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/DeleteQueueCommand.d.ts +2 -0
  1052. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/GetQueueAttributesCommand.d.ts +2 -0
  1053. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/GetQueueUrlCommand.d.ts +2 -0
  1054. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListDeadLetterSourceQueuesCommand.d.ts +2 -0
  1055. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListMessageMoveTasksCommand.d.ts +2 -0
  1056. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListQueueTagsCommand.d.ts +2 -0
  1057. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListQueuesCommand.d.ts +2 -0
  1058. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/PurgeQueueCommand.d.ts +2 -0
  1059. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ReceiveMessageCommand.d.ts +2 -0
  1060. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/RemovePermissionCommand.d.ts +2 -0
  1061. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/SendMessageBatchCommand.d.ts +2 -0
  1062. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/SendMessageCommand.d.ts +2 -0
  1063. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/SetQueueAttributesCommand.d.ts +2 -0
  1064. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/StartMessageMoveTaskCommand.d.ts +2 -0
  1065. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/TagQueueCommand.d.ts +2 -0
  1066. package/node_modules/@aws-sdk/client-sqs/dist-types/commands/UntagQueueCommand.d.ts +2 -0
  1067. package/node_modules/@aws-sdk/client-sqs/package.json +11 -11
  1068. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AddTagsToResourceCommand.d.ts +2 -0
  1069. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AssociateOpsItemRelatedItemCommand.d.ts +2 -0
  1070. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelCommandCommand.d.ts +2 -0
  1071. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelMaintenanceWindowExecutionCommand.d.ts +2 -0
  1072. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateActivationCommand.d.ts +2 -0
  1073. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationBatchCommand.d.ts +2 -0
  1074. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationCommand.d.ts +2 -0
  1075. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateDocumentCommand.d.ts +2 -0
  1076. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateMaintenanceWindowCommand.d.ts +2 -0
  1077. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsItemCommand.d.ts +2 -0
  1078. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsMetadataCommand.d.ts +2 -0
  1079. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreatePatchBaselineCommand.d.ts +2 -0
  1080. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateResourceDataSyncCommand.d.ts +2 -0
  1081. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteActivationCommand.d.ts +2 -0
  1082. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteAssociationCommand.d.ts +2 -0
  1083. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteDocumentCommand.d.ts +2 -0
  1084. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteInventoryCommand.d.ts +2 -0
  1085. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteMaintenanceWindowCommand.d.ts +2 -0
  1086. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsItemCommand.d.ts +2 -0
  1087. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsMetadataCommand.d.ts +2 -0
  1088. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParameterCommand.d.ts +2 -0
  1089. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParametersCommand.d.ts +2 -0
  1090. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeletePatchBaselineCommand.d.ts +2 -0
  1091. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourceDataSyncCommand.d.ts +2 -0
  1092. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourcePolicyCommand.d.ts +2 -0
  1093. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterManagedInstanceCommand.d.ts +2 -0
  1094. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterPatchBaselineForPatchGroupCommand.d.ts +2 -0
  1095. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTargetFromMaintenanceWindowCommand.d.ts +2 -0
  1096. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTaskFromMaintenanceWindowCommand.d.ts +2 -0
  1097. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeActivationsCommand.d.ts +2 -0
  1098. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationCommand.d.ts +2 -0
  1099. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionTargetsCommand.d.ts +2 -0
  1100. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionsCommand.d.ts +2 -0
  1101. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationExecutionsCommand.d.ts +2 -0
  1102. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationStepExecutionsCommand.d.ts +2 -0
  1103. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAvailablePatchesCommand.d.ts +2 -0
  1104. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentCommand.d.ts +2 -0
  1105. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentPermissionCommand.d.ts +2 -0
  1106. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectiveInstanceAssociationsCommand.d.ts +2 -0
  1107. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectivePatchesForPatchBaselineCommand.d.ts +2 -0
  1108. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceAssociationsStatusCommand.d.ts +2 -0
  1109. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceInformationCommand.d.ts +2 -0
  1110. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesCommand.d.ts +2 -0
  1111. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesForPatchGroupCommand.d.ts +2 -0
  1112. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchesCommand.d.ts +2 -0
  1113. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePropertiesCommand.d.ts +2 -0
  1114. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInventoryDeletionsCommand.d.ts +2 -0
  1115. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTaskInvocationsCommand.d.ts +2 -0
  1116. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTasksCommand.d.ts +2 -0
  1117. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionsCommand.d.ts +2 -0
  1118. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowScheduleCommand.d.ts +2 -0
  1119. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTargetsCommand.d.ts +2 -0
  1120. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTasksCommand.d.ts +2 -0
  1121. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsCommand.d.ts +2 -0
  1122. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsForTargetCommand.d.ts +2 -0
  1123. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeOpsItemsCommand.d.ts +2 -0
  1124. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeParametersCommand.d.ts +2 -0
  1125. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchBaselinesCommand.d.ts +2 -0
  1126. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupStateCommand.d.ts +2 -0
  1127. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupsCommand.d.ts +2 -0
  1128. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchPropertiesCommand.d.ts +2 -0
  1129. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeSessionsCommand.d.ts +2 -0
  1130. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DisassociateOpsItemRelatedItemCommand.d.ts +2 -0
  1131. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetAccessTokenCommand.d.ts +2 -0
  1132. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetAutomationExecutionCommand.d.ts +2 -0
  1133. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCalendarStateCommand.d.ts +2 -0
  1134. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCommandInvocationCommand.d.ts +2 -0
  1135. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetConnectionStatusCommand.d.ts +2 -0
  1136. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDefaultPatchBaselineCommand.d.ts +2 -0
  1137. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDeployablePatchSnapshotForInstanceCommand.d.ts +2 -0
  1138. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDocumentCommand.d.ts +2 -0
  1139. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetExecutionPreviewCommand.d.ts +2 -0
  1140. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventoryCommand.d.ts +2 -0
  1141. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventorySchemaCommand.d.ts +2 -0
  1142. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowCommand.d.ts +2 -0
  1143. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionCommand.d.ts +2 -0
  1144. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskCommand.d.ts +2 -0
  1145. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskInvocationCommand.d.ts +2 -0
  1146. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowTaskCommand.d.ts +2 -0
  1147. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsItemCommand.d.ts +2 -0
  1148. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsMetadataCommand.d.ts +2 -0
  1149. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsSummaryCommand.d.ts +2 -0
  1150. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterCommand.d.ts +2 -0
  1151. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterHistoryCommand.d.ts +2 -0
  1152. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersByPathCommand.d.ts +2 -0
  1153. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersCommand.d.ts +2 -0
  1154. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineCommand.d.ts +2 -0
  1155. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineForPatchGroupCommand.d.ts +2 -0
  1156. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetResourcePoliciesCommand.d.ts +2 -0
  1157. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetServiceSettingCommand.d.ts +2 -0
  1158. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/LabelParameterVersionCommand.d.ts +2 -0
  1159. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationVersionsCommand.d.ts +2 -0
  1160. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationsCommand.d.ts +2 -0
  1161. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandInvocationsCommand.d.ts +2 -0
  1162. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandsCommand.d.ts +2 -0
  1163. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceItemsCommand.d.ts +2 -0
  1164. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceSummariesCommand.d.ts +2 -0
  1165. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentMetadataHistoryCommand.d.ts +2 -0
  1166. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentVersionsCommand.d.ts +2 -0
  1167. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentsCommand.d.ts +2 -0
  1168. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListInventoryEntriesCommand.d.ts +2 -0
  1169. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesCommand.d.ts +2 -0
  1170. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesSummaryCommand.d.ts +2 -0
  1171. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemEventsCommand.d.ts +2 -0
  1172. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemRelatedItemsCommand.d.ts +2 -0
  1173. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsMetadataCommand.d.ts +2 -0
  1174. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceComplianceSummariesCommand.d.ts +2 -0
  1175. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceDataSyncCommand.d.ts +2 -0
  1176. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
  1177. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ModifyDocumentPermissionCommand.d.ts +2 -0
  1178. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutComplianceItemsCommand.d.ts +2 -0
  1179. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutInventoryCommand.d.ts +2 -0
  1180. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutParameterCommand.d.ts +2 -0
  1181. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutResourcePolicyCommand.d.ts +2 -0
  1182. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterDefaultPatchBaselineCommand.d.ts +2 -0
  1183. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterPatchBaselineForPatchGroupCommand.d.ts +2 -0
  1184. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTargetWithMaintenanceWindowCommand.d.ts +2 -0
  1185. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTaskWithMaintenanceWindowCommand.d.ts +2 -0
  1186. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RemoveTagsFromResourceCommand.d.ts +2 -0
  1187. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResetServiceSettingCommand.d.ts +2 -0
  1188. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResumeSessionCommand.d.ts +2 -0
  1189. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendAutomationSignalCommand.d.ts +2 -0
  1190. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendCommandCommand.d.ts +2 -0
  1191. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAccessRequestCommand.d.ts +2 -0
  1192. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAssociationsOnceCommand.d.ts +2 -0
  1193. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAutomationExecutionCommand.d.ts +2 -0
  1194. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartChangeRequestExecutionCommand.d.ts +2 -0
  1195. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartExecutionPreviewCommand.d.ts +2 -0
  1196. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartSessionCommand.d.ts +2 -0
  1197. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StopAutomationExecutionCommand.d.ts +2 -0
  1198. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/TerminateSessionCommand.d.ts +2 -0
  1199. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UnlabelParameterVersionCommand.d.ts +2 -0
  1200. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationCommand.d.ts +2 -0
  1201. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationStatusCommand.d.ts +2 -0
  1202. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentCommand.d.ts +2 -0
  1203. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentDefaultVersionCommand.d.ts +2 -0
  1204. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentMetadataCommand.d.ts +2 -0
  1205. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowCommand.d.ts +2 -0
  1206. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTargetCommand.d.ts +2 -0
  1207. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTaskCommand.d.ts +2 -0
  1208. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateManagedInstanceRoleCommand.d.ts +2 -0
  1209. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsItemCommand.d.ts +2 -0
  1210. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsMetadataCommand.d.ts +2 -0
  1211. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdatePatchBaselineCommand.d.ts +2 -0
  1212. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateResourceDataSyncCommand.d.ts +2 -0
  1213. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateServiceSettingCommand.d.ts +2 -0
  1214. package/node_modules/@aws-sdk/client-ssm/package.json +10 -10
  1215. package/node_modules/@aws-sdk/client-sso/dist-types/commands/GetRoleCredentialsCommand.d.ts +2 -0
  1216. package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountRolesCommand.d.ts +2 -0
  1217. package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountsCommand.d.ts +2 -0
  1218. package/node_modules/@aws-sdk/client-sso/dist-types/commands/LogoutCommand.d.ts +2 -0
  1219. package/node_modules/@aws-sdk/client-sso/package.json +9 -9
  1220. package/node_modules/@aws-sdk/credential-provider-ini/package.json +4 -4
  1221. package/node_modules/@aws-sdk/credential-provider-node/package.json +4 -4
  1222. package/node_modules/@aws-sdk/credential-provider-sso/package.json +3 -3
  1223. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +2 -2
  1224. package/node_modules/@aws-sdk/middleware-expect-continue/package.json +1 -1
  1225. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getCrc32ChecksumAlgorithmFunction.d.ts +1 -1
  1226. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/stringHasher.d.ts +1 -1
  1227. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getCrc32ChecksumAlgorithmFunction.d.ts +1 -1
  1228. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/stringHasher.d.ts +1 -1
  1229. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +1 -1
  1230. package/node_modules/@aws-sdk/middleware-host-header/package.json +1 -1
  1231. package/node_modules/@aws-sdk/middleware-location-constraint/package.json +1 -1
  1232. package/node_modules/@aws-sdk/middleware-logger/package.json +1 -1
  1233. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +1 -1
  1234. package/node_modules/@aws-sdk/middleware-sdk-ec2/package.json +1 -1
  1235. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +1 -1
  1236. package/node_modules/@aws-sdk/middleware-sdk-sqs/package.json +1 -1
  1237. package/node_modules/@aws-sdk/middleware-ssec/package.json +1 -1
  1238. package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
  1239. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +2 -0
  1240. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +2 -0
  1241. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +2 -0
  1242. package/node_modules/@aws-sdk/nested-clients/package.json +9 -9
  1243. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  1244. package/node_modules/@aws-sdk/token-providers/package.json +2 -2
  1245. package/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
  1246. package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  1247. package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor.d.ts +1 -1
  1248. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor.d.ts +1 -1
  1249. package/node_modules/@smithy/core/package.json +2 -2
  1250. package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  1251. package/node_modules/@smithy/middleware-retry/package.json +4 -4
  1252. package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +2 -2
  1253. package/node_modules/@smithy/service-error-classification/dist-es/index.js +3 -2
  1254. package/node_modules/@smithy/service-error-classification/package.json +1 -1
  1255. package/node_modules/@smithy/smithy-client/package.json +4 -4
  1256. package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  1257. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  1258. package/node_modules/@smithy/util-retry/package.json +5 -3
  1259. package/node_modules/@smithy/util-stream/dist-types/ByteArrayCollector.d.ts +1 -1
  1260. package/node_modules/@smithy/util-stream/dist-types/ts3.4/ByteArrayCollector.d.ts +1 -1
  1261. package/node_modules/@smithy/util-stream/package.json +1 -1
  1262. package/node_modules/cdk-iam-floyd/README.md +3 -3
  1263. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.d.ts +2 -4
  1264. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.js +5 -9
  1265. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.d.ts +2 -4
  1266. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.js +3 -5
  1267. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudformation.d.ts +23 -0
  1268. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudformation.js +29 -1
  1269. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.d.ts +133 -1
  1270. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.js +166 -2
  1271. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticvmwareservice.d.ts +16 -0
  1272. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticvmwareservice.js +24 -2
  1273. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenter.d.ts +333 -0
  1274. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenter.js +334 -1
  1275. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenterdirectory.d.ts +108 -0
  1276. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenterdirectory.js +109 -1
  1277. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenteroidcservice.d.ts +4 -1
  1278. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenteroidcservice.js +5 -2
  1279. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/identitystore.d.ts +93 -0
  1280. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/identitystore.js +103 -1
  1281. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/invoicingservice.d.ts +24 -0
  1282. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/invoicingservice.js +34 -1
  1283. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qinconnect.d.ts +8 -0
  1284. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qinconnect.js +12 -1
  1285. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3.d.ts +2 -0
  1286. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3.js +3 -1
  1287. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/taxsettings.d.ts +48 -0
  1288. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/taxsettings.js +68 -2
  1289. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspaces.d.ts +6 -14
  1290. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspaces.js +7 -18
  1291. package/node_modules/cdk-iam-floyd/package.json +4 -4
  1292. package/package.json +13 -13
  1293. package/node_modules/@aws-sdk/middleware-sdk-ec2/dist-es/fixture.js +0 -13
  1294. package/node_modules/@aws-sdk/middleware-sdk-ec2/dist-types/fixture.d.ts +0 -12
  1295. package/node_modules/@aws-sdk/middleware-sdk-ec2/dist-types/ts3.4/fixture.d.ts +0 -12
@@ -15,6 +15,8 @@ class Sso extends shared_1.PolicyStatement {
15
15
  *
16
16
  * Dependent actions:
17
17
  * - ds:AuthorizeApplication
18
+ * - identitystore:CreateIdentityStore
19
+ * - kms:Decrypt
18
20
  *
19
21
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
20
22
  */
@@ -26,6 +28,9 @@ class Sso extends shared_1.PolicyStatement {
26
28
  *
27
29
  * Access Level: Write
28
30
  *
31
+ * Dependent actions:
32
+ * - kms:Decrypt
33
+ *
29
34
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
30
35
  */
31
36
  toAssociateProfile() {
@@ -36,6 +41,9 @@ class Sso extends shared_1.PolicyStatement {
36
41
  *
37
42
  * Access Level: Permissions management
38
43
  *
44
+ * Dependent actions:
45
+ * - kms:Decrypt
46
+ *
39
47
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_AttachCustomerManagedPolicyReferenceToPermissionSet.html
40
48
  */
41
49
  toAttachCustomerManagedPolicyReferenceToPermissionSet() {
@@ -46,6 +54,9 @@ class Sso extends shared_1.PolicyStatement {
46
54
  *
47
55
  * Access Level: Permissions management
48
56
  *
57
+ * Dependent actions:
58
+ * - kms:Decrypt
59
+ *
49
60
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_AttachManagedPolicyToPermissionSet.html
50
61
  */
51
62
  toAttachManagedPolicyToPermissionSet() {
@@ -56,6 +67,9 @@ class Sso extends shared_1.PolicyStatement {
56
67
  *
57
68
  * Access Level: Write
58
69
  *
70
+ * Dependent actions:
71
+ * - kms:Decrypt
72
+ *
59
73
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateAccountAssignment.html
60
74
  */
61
75
  toCreateAccountAssignment() {
@@ -70,6 +84,9 @@ class Sso extends shared_1.PolicyStatement {
70
84
  * - .ifAwsRequestTag()
71
85
  * - .ifAwsTagKeys()
72
86
  *
87
+ * Dependent actions:
88
+ * - kms:Decrypt
89
+ *
73
90
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateApplication.html
74
91
  */
75
92
  toCreateApplication() {
@@ -83,6 +100,9 @@ class Sso extends shared_1.PolicyStatement {
83
100
  * Possible conditions:
84
101
  * - .ifApplicationAccount()
85
102
  *
103
+ * Dependent actions:
104
+ * - kms:Decrypt
105
+ *
86
106
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateApplicationAssignment.html
87
107
  */
88
108
  toCreateApplicationAssignment() {
@@ -93,6 +113,9 @@ class Sso extends shared_1.PolicyStatement {
93
113
  *
94
114
  * Access Level: Write
95
115
  *
116
+ * Dependent actions:
117
+ * - kms:Decrypt
118
+ *
96
119
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
97
120
  */
98
121
  toCreateApplicationInstance() {
@@ -103,6 +126,9 @@ class Sso extends shared_1.PolicyStatement {
103
126
  *
104
127
  * Access Level: Write
105
128
  *
129
+ * Dependent actions:
130
+ * - kms:Decrypt
131
+ *
106
132
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
107
133
  */
108
134
  toCreateApplicationInstanceCertificate() {
@@ -119,6 +145,7 @@ class Sso extends shared_1.PolicyStatement {
119
145
  *
120
146
  * Dependent actions:
121
147
  * - iam:CreateServiceLinkedRole
148
+ * - identitystore:CreateIdentityStore
122
149
  * - organizations:DescribeOrganization
123
150
  *
124
151
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateInstance.html
@@ -142,6 +169,7 @@ class Sso extends shared_1.PolicyStatement {
142
169
  * - iam:ListRolePolicies
143
170
  * - iam:PutRolePolicy
144
171
  * - iam:UpdateAssumeRolePolicy
172
+ * - kms:Decrypt
145
173
  *
146
174
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateInstanceAccessControlAttributeConfiguration.html
147
175
  */
@@ -153,6 +181,9 @@ class Sso extends shared_1.PolicyStatement {
153
181
  *
154
182
  * Access Level: Write
155
183
  *
184
+ * Dependent actions:
185
+ * - kms:Decrypt
186
+ *
156
187
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
157
188
  */
158
189
  toCreateManagedApplicationInstance() {
@@ -167,6 +198,9 @@ class Sso extends shared_1.PolicyStatement {
167
198
  * - .ifAwsRequestTag()
168
199
  * - .ifAwsTagKeys()
169
200
  *
201
+ * Dependent actions:
202
+ * - kms:Decrypt
203
+ *
170
204
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreatePermissionSet.html
171
205
  */
172
206
  toCreatePermissionSet() {
@@ -177,6 +211,9 @@ class Sso extends shared_1.PolicyStatement {
177
211
  *
178
212
  * Access Level: Write
179
213
  *
214
+ * Dependent actions:
215
+ * - kms:Decrypt
216
+ *
180
217
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
181
218
  */
182
219
  toCreateProfile() {
@@ -187,6 +224,9 @@ class Sso extends shared_1.PolicyStatement {
187
224
  *
188
225
  * Access Level: Write
189
226
  *
227
+ * Dependent actions:
228
+ * - kms:Decrypt
229
+ *
190
230
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
191
231
  */
192
232
  toCreateTrust() {
@@ -201,6 +241,9 @@ class Sso extends shared_1.PolicyStatement {
201
241
  * - .ifAwsRequestTag()
202
242
  * - .ifAwsTagKeys()
203
243
  *
244
+ * Dependent actions:
245
+ * - kms:Decrypt
246
+ *
204
247
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateTrustedTokenIssuer.html
205
248
  */
206
249
  toCreateTrustedTokenIssuer() {
@@ -211,6 +254,9 @@ class Sso extends shared_1.PolicyStatement {
211
254
  *
212
255
  * Access Level: Write
213
256
  *
257
+ * Dependent actions:
258
+ * - kms:Decrypt
259
+ *
214
260
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteAccountAssignment.html
215
261
  */
216
262
  toDeleteAccountAssignment() {
@@ -224,6 +270,9 @@ class Sso extends shared_1.PolicyStatement {
224
270
  * Possible conditions:
225
271
  * - .ifApplicationAccount()
226
272
  *
273
+ * Dependent actions:
274
+ * - kms:Decrypt
275
+ *
227
276
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteApplication.html
228
277
  */
229
278
  toDeleteApplication() {
@@ -237,6 +286,9 @@ class Sso extends shared_1.PolicyStatement {
237
286
  * Possible conditions:
238
287
  * - .ifApplicationAccount()
239
288
  *
289
+ * Dependent actions:
290
+ * - kms:Decrypt
291
+ *
240
292
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteApplicationAccessScope.html
241
293
  */
242
294
  toDeleteApplicationAccessScope() {
@@ -250,6 +302,9 @@ class Sso extends shared_1.PolicyStatement {
250
302
  * Possible conditions:
251
303
  * - .ifApplicationAccount()
252
304
  *
305
+ * Dependent actions:
306
+ * - kms:Decrypt
307
+ *
253
308
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteApplicationAssignment.html
254
309
  */
255
310
  toDeleteApplicationAssignment() {
@@ -263,6 +318,9 @@ class Sso extends shared_1.PolicyStatement {
263
318
  * Possible conditions:
264
319
  * - .ifApplicationAccount()
265
320
  *
321
+ * Dependent actions:
322
+ * - kms:Decrypt
323
+ *
266
324
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteApplicationAuthenticationMethod.html
267
325
  */
268
326
  toDeleteApplicationAuthenticationMethod() {
@@ -276,6 +334,9 @@ class Sso extends shared_1.PolicyStatement {
276
334
  * Possible conditions:
277
335
  * - .ifApplicationAccount()
278
336
  *
337
+ * Dependent actions:
338
+ * - kms:Decrypt
339
+ *
279
340
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteApplicationGrant.html
280
341
  */
281
342
  toDeleteApplicationGrant() {
@@ -286,6 +347,9 @@ class Sso extends shared_1.PolicyStatement {
286
347
  *
287
348
  * Access Level: Write
288
349
  *
350
+ * Dependent actions:
351
+ * - kms:Decrypt
352
+ *
289
353
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
290
354
  */
291
355
  toDeleteApplicationInstance() {
@@ -296,6 +360,9 @@ class Sso extends shared_1.PolicyStatement {
296
360
  *
297
361
  * Access Level: Write
298
362
  *
363
+ * Dependent actions:
364
+ * - kms:Decrypt
365
+ *
299
366
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
300
367
  */
301
368
  toDeleteApplicationInstanceCertificate() {
@@ -306,6 +373,9 @@ class Sso extends shared_1.PolicyStatement {
306
373
  *
307
374
  * Access Level: Write
308
375
  *
376
+ * Dependent actions:
377
+ * - kms:Decrypt
378
+ *
309
379
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteInlinePolicyFromPermissionSet.html
310
380
  */
311
381
  toDeleteInlinePolicyFromPermissionSet() {
@@ -316,6 +386,9 @@ class Sso extends shared_1.PolicyStatement {
316
386
  *
317
387
  * Access Level: Write
318
388
  *
389
+ * Dependent actions:
390
+ * - identitystore:DeleteIdentityStore
391
+ *
319
392
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteInstance.html
320
393
  */
321
394
  toDeleteInstance() {
@@ -326,6 +399,9 @@ class Sso extends shared_1.PolicyStatement {
326
399
  *
327
400
  * Access Level: Write
328
401
  *
402
+ * Dependent actions:
403
+ * - kms:Decrypt
404
+ *
329
405
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteInstanceAccessControlAttributeConfiguration.html
330
406
  */
331
407
  toDeleteInstanceAccessControlAttributeConfiguration() {
@@ -336,6 +412,9 @@ class Sso extends shared_1.PolicyStatement {
336
412
  *
337
413
  * Access Level: Write
338
414
  *
415
+ * Dependent actions:
416
+ * - kms:Decrypt
417
+ *
339
418
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
340
419
  */
341
420
  toDeleteManagedApplicationInstance() {
@@ -346,6 +425,9 @@ class Sso extends shared_1.PolicyStatement {
346
425
  *
347
426
  * Access Level: Write
348
427
  *
428
+ * Dependent actions:
429
+ * - kms:Decrypt
430
+ *
349
431
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeletePermissionSet.html
350
432
  */
351
433
  toDeletePermissionSet() {
@@ -356,6 +438,9 @@ class Sso extends shared_1.PolicyStatement {
356
438
  *
357
439
  * Access Level: Permissions management
358
440
  *
441
+ * Dependent actions:
442
+ * - kms:Decrypt
443
+ *
359
444
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeletePermissionsBoundaryFromPermissionSet.html
360
445
  */
361
446
  toDeletePermissionsBoundaryFromPermissionSet() {
@@ -366,6 +451,9 @@ class Sso extends shared_1.PolicyStatement {
366
451
  *
367
452
  * Access Level: Write
368
453
  *
454
+ * Dependent actions:
455
+ * - kms:Decrypt
456
+ *
369
457
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
370
458
  */
371
459
  toDeleteProfile() {
@@ -376,6 +464,9 @@ class Sso extends shared_1.PolicyStatement {
376
464
  *
377
465
  * Access Level: Write
378
466
  *
467
+ * Dependent actions:
468
+ * - kms:Decrypt
469
+ *
379
470
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteTrustedTokenIssuer.html
380
471
  */
381
472
  toDeleteTrustedTokenIssuer() {
@@ -386,6 +477,9 @@ class Sso extends shared_1.PolicyStatement {
386
477
  *
387
478
  * Access Level: Read
388
479
  *
480
+ * Dependent actions:
481
+ * - kms:Decrypt
482
+ *
389
483
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeAccountAssignmentCreationStatus.html
390
484
  */
391
485
  toDescribeAccountAssignmentCreationStatus() {
@@ -396,6 +490,9 @@ class Sso extends shared_1.PolicyStatement {
396
490
  *
397
491
  * Access Level: Read
398
492
  *
493
+ * Dependent actions:
494
+ * - kms:Decrypt
495
+ *
399
496
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeAccountAssignmentDeletionStatus.html
400
497
  */
401
498
  toDescribeAccountAssignmentDeletionStatus() {
@@ -409,6 +506,9 @@ class Sso extends shared_1.PolicyStatement {
409
506
  * Possible conditions:
410
507
  * - .ifApplicationAccount()
411
508
  *
509
+ * Dependent actions:
510
+ * - kms:Decrypt
511
+ *
412
512
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeApplication.html
413
513
  */
414
514
  toDescribeApplication() {
@@ -422,6 +522,9 @@ class Sso extends shared_1.PolicyStatement {
422
522
  * Possible conditions:
423
523
  * - .ifApplicationAccount()
424
524
  *
525
+ * Dependent actions:
526
+ * - kms:Decrypt
527
+ *
425
528
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeApplicationAssignment.html
426
529
  */
427
530
  toDescribeApplicationAssignment() {
@@ -452,6 +555,9 @@ class Sso extends shared_1.PolicyStatement {
452
555
  *
453
556
  * Access Level: Read
454
557
  *
558
+ * Dependent actions:
559
+ * - kms:Decrypt
560
+ *
455
561
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeInstanceAccessControlAttributeConfiguration.html
456
562
  */
457
563
  toDescribeInstanceAccessControlAttributeConfiguration() {
@@ -462,6 +568,9 @@ class Sso extends shared_1.PolicyStatement {
462
568
  *
463
569
  * Access Level: Read
464
570
  *
571
+ * Dependent actions:
572
+ * - kms:Decrypt
573
+ *
465
574
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribePermissionSet.html
466
575
  */
467
576
  toDescribePermissionSet() {
@@ -472,6 +581,9 @@ class Sso extends shared_1.PolicyStatement {
472
581
  *
473
582
  * Access Level: Read
474
583
  *
584
+ * Dependent actions:
585
+ * - kms:Decrypt
586
+ *
475
587
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribePermissionSetProvisioningStatus.html
476
588
  */
477
589
  toDescribePermissionSetProvisioningStatus() {
@@ -492,6 +604,9 @@ class Sso extends shared_1.PolicyStatement {
492
604
  *
493
605
  * Access Level: Read
494
606
  *
607
+ * Dependent actions:
608
+ * - kms:Decrypt
609
+ *
495
610
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeTrustedTokenIssuer.html
496
611
  */
497
612
  toDescribeTrustedTokenIssuer() {
@@ -502,6 +617,9 @@ class Sso extends shared_1.PolicyStatement {
502
617
  *
503
618
  * Access Level: Permissions management
504
619
  *
620
+ * Dependent actions:
621
+ * - kms:Decrypt
622
+ *
505
623
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DetachCustomerManagedPolicyReferenceFromPermissionSet.html
506
624
  */
507
625
  toDetachCustomerManagedPolicyReferenceFromPermissionSet() {
@@ -512,6 +630,9 @@ class Sso extends shared_1.PolicyStatement {
512
630
  *
513
631
  * Access Level: Permissions management
514
632
  *
633
+ * Dependent actions:
634
+ * - kms:Decrypt
635
+ *
515
636
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DetachManagedPolicyFromPermissionSet.html
516
637
  */
517
638
  toDetachManagedPolicyFromPermissionSet() {
@@ -524,6 +645,8 @@ class Sso extends shared_1.PolicyStatement {
524
645
  *
525
646
  * Dependent actions:
526
647
  * - ds:UnauthorizeApplication
648
+ * - identitystore:DeleteIdentityStore
649
+ * - kms:Decrypt
527
650
  *
528
651
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
529
652
  */
@@ -535,6 +658,9 @@ class Sso extends shared_1.PolicyStatement {
535
658
  *
536
659
  * Access Level: Write
537
660
  *
661
+ * Dependent actions:
662
+ * - kms:Decrypt
663
+ *
538
664
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
539
665
  */
540
666
  toDisassociateProfile() {
@@ -548,6 +674,9 @@ class Sso extends shared_1.PolicyStatement {
548
674
  * Possible conditions:
549
675
  * - .ifApplicationAccount()
550
676
  *
677
+ * Dependent actions:
678
+ * - kms:Decrypt
679
+ *
551
680
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetApplicationAccessScope.html
552
681
  */
553
682
  toGetApplicationAccessScope() {
@@ -561,6 +690,9 @@ class Sso extends shared_1.PolicyStatement {
561
690
  * Possible conditions:
562
691
  * - .ifApplicationAccount()
563
692
  *
693
+ * Dependent actions:
694
+ * - kms:Decrypt
695
+ *
564
696
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetApplicationAssignmentConfiguration.html
565
697
  */
566
698
  toGetApplicationAssignmentConfiguration() {
@@ -574,6 +706,9 @@ class Sso extends shared_1.PolicyStatement {
574
706
  * Possible conditions:
575
707
  * - .ifApplicationAccount()
576
708
  *
709
+ * Dependent actions:
710
+ * - kms:Decrypt
711
+ *
577
712
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetApplicationAuthenticationMethod.html
578
713
  */
579
714
  toGetApplicationAuthenticationMethod() {
@@ -587,6 +722,9 @@ class Sso extends shared_1.PolicyStatement {
587
722
  * Possible conditions:
588
723
  * - .ifApplicationAccount()
589
724
  *
725
+ * Dependent actions:
726
+ * - kms:Decrypt
727
+ *
590
728
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetApplicationGrant.html
591
729
  */
592
730
  toGetApplicationGrant() {
@@ -597,6 +735,9 @@ class Sso extends shared_1.PolicyStatement {
597
735
  *
598
736
  * Access Level: Read
599
737
  *
738
+ * Dependent actions:
739
+ * - kms:Decrypt
740
+ *
600
741
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
601
742
  */
602
743
  toGetApplicationInstance() {
@@ -610,6 +751,9 @@ class Sso extends shared_1.PolicyStatement {
610
751
  * Possible conditions:
611
752
  * - .ifApplicationAccount()
612
753
  *
754
+ * Dependent actions:
755
+ * - kms:Decrypt
756
+ *
613
757
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetApplicationSessionConfiguration.html
614
758
  */
615
759
  toGetApplicationSessionConfiguration() {
@@ -630,6 +774,9 @@ class Sso extends shared_1.PolicyStatement {
630
774
  *
631
775
  * Access Level: Read
632
776
  *
777
+ * Dependent actions:
778
+ * - kms:Decrypt
779
+ *
633
780
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetInlinePolicyForPermissionSet.html
634
781
  */
635
782
  toGetInlinePolicyForPermissionSet() {
@@ -640,6 +787,9 @@ class Sso extends shared_1.PolicyStatement {
640
787
  *
641
788
  * Access Level: Read
642
789
  *
790
+ * Dependent actions:
791
+ * - kms:Decrypt
792
+ *
643
793
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
644
794
  */
645
795
  toGetManagedApplicationInstance() {
@@ -650,6 +800,9 @@ class Sso extends shared_1.PolicyStatement {
650
800
  *
651
801
  * Access Level: Read
652
802
  *
803
+ * Dependent actions:
804
+ * - kms:Decrypt
805
+ *
653
806
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
654
807
  */
655
808
  toGetMfaDeviceManagementForDirectory() {
@@ -660,6 +813,9 @@ class Sso extends shared_1.PolicyStatement {
660
813
  *
661
814
  * Access Level: Read
662
815
  *
816
+ * Dependent actions:
817
+ * - kms:Decrypt
818
+ *
663
819
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
664
820
  */
665
821
  toGetPermissionSet() {
@@ -670,6 +826,9 @@ class Sso extends shared_1.PolicyStatement {
670
826
  *
671
827
  * Access Level: Read
672
828
  *
829
+ * Dependent actions:
830
+ * - kms:Decrypt
831
+ *
673
832
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_GetPermissionsBoundaryForPermissionSet.html
674
833
  */
675
834
  toGetPermissionsBoundaryForPermissionSet() {
@@ -680,6 +839,9 @@ class Sso extends shared_1.PolicyStatement {
680
839
  *
681
840
  * Access Level: Read
682
841
  *
842
+ * Dependent actions:
843
+ * - kms:Decrypt
844
+ *
683
845
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
684
846
  */
685
847
  toGetProfile() {
@@ -700,6 +862,9 @@ class Sso extends shared_1.PolicyStatement {
700
862
  *
701
863
  * Access Level: Read
702
864
  *
865
+ * Dependent actions:
866
+ * - kms:Decrypt
867
+ *
703
868
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
704
869
  */
705
870
  toGetSharedSsoConfiguration() {
@@ -710,6 +875,9 @@ class Sso extends shared_1.PolicyStatement {
710
875
  *
711
876
  * Access Level: Read
712
877
  *
878
+ * Dependent actions:
879
+ * - kms:Decrypt
880
+ *
713
881
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
714
882
  */
715
883
  toGetSsoConfiguration() {
@@ -720,6 +888,9 @@ class Sso extends shared_1.PolicyStatement {
720
888
  *
721
889
  * Access Level: Read
722
890
  *
891
+ * Dependent actions:
892
+ * - kms:Decrypt
893
+ *
723
894
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
724
895
  */
725
896
  toGetTrust() {
@@ -730,6 +901,9 @@ class Sso extends shared_1.PolicyStatement {
730
901
  *
731
902
  * Access Level: Write
732
903
  *
904
+ * Dependent actions:
905
+ * - kms:Decrypt
906
+ *
733
907
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
734
908
  */
735
909
  toImportApplicationInstanceServiceProviderMetadata() {
@@ -740,6 +914,9 @@ class Sso extends shared_1.PolicyStatement {
740
914
  *
741
915
  * Access Level: List
742
916
  *
917
+ * Dependent actions:
918
+ * - kms:Decrypt
919
+ *
743
920
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListAccountAssignmentCreationStatus.html
744
921
  */
745
922
  toListAccountAssignmentCreationStatus() {
@@ -750,6 +927,9 @@ class Sso extends shared_1.PolicyStatement {
750
927
  *
751
928
  * Access Level: List
752
929
  *
930
+ * Dependent actions:
931
+ * - kms:Decrypt
932
+ *
753
933
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListAccountAssignmentDeletionStatus.html
754
934
  */
755
935
  toListAccountAssignmentDeletionStatus() {
@@ -760,6 +940,9 @@ class Sso extends shared_1.PolicyStatement {
760
940
  *
761
941
  * Access Level: List
762
942
  *
943
+ * Dependent actions:
944
+ * - kms:Decrypt
945
+ *
763
946
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListAccountAssignments.html
764
947
  */
765
948
  toListAccountAssignments() {
@@ -770,6 +953,9 @@ class Sso extends shared_1.PolicyStatement {
770
953
  *
771
954
  * Access Level: List
772
955
  *
956
+ * Dependent actions:
957
+ * - kms:Decrypt
958
+ *
773
959
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListAccountAssignmentsForPrincipal.html
774
960
  */
775
961
  toListAccountAssignmentsForPrincipal() {
@@ -780,6 +966,9 @@ class Sso extends shared_1.PolicyStatement {
780
966
  *
781
967
  * Access Level: List
782
968
  *
969
+ * Dependent actions:
970
+ * - kms:Decrypt
971
+ *
783
972
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListAccountsForProvisionedPermissionSet.html
784
973
  */
785
974
  toListAccountsForProvisionedPermissionSet() {
@@ -793,6 +982,9 @@ class Sso extends shared_1.PolicyStatement {
793
982
  * Possible conditions:
794
983
  * - .ifApplicationAccount()
795
984
  *
985
+ * Dependent actions:
986
+ * - kms:Decrypt
987
+ *
796
988
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListApplicationAccessScopes.html
797
989
  */
798
990
  toListApplicationAccessScopes() {
@@ -806,6 +998,9 @@ class Sso extends shared_1.PolicyStatement {
806
998
  * Possible conditions:
807
999
  * - .ifApplicationAccount()
808
1000
  *
1001
+ * Dependent actions:
1002
+ * - kms:Decrypt
1003
+ *
809
1004
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListApplicationAssignments.html
810
1005
  */
811
1006
  toListApplicationAssignments() {
@@ -819,6 +1014,9 @@ class Sso extends shared_1.PolicyStatement {
819
1014
  * Possible conditions:
820
1015
  * - .ifApplicationAccount()
821
1016
  *
1017
+ * Dependent actions:
1018
+ * - kms:Decrypt
1019
+ *
822
1020
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListApplicationAssignmentsForPrincipal.html
823
1021
  */
824
1022
  toListApplicationAssignmentsForPrincipal() {
@@ -832,6 +1030,9 @@ class Sso extends shared_1.PolicyStatement {
832
1030
  * Possible conditions:
833
1031
  * - .ifApplicationAccount()
834
1032
  *
1033
+ * Dependent actions:
1034
+ * - kms:Decrypt
1035
+ *
835
1036
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListApplicationAuthenticationMethods.html
836
1037
  */
837
1038
  toListApplicationAuthenticationMethods() {
@@ -845,6 +1046,9 @@ class Sso extends shared_1.PolicyStatement {
845
1046
  * Possible conditions:
846
1047
  * - .ifApplicationAccount()
847
1048
  *
1049
+ * Dependent actions:
1050
+ * - kms:Decrypt
1051
+ *
848
1052
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListApplicationGrants.html
849
1053
  */
850
1054
  toListApplicationGrants() {
@@ -855,6 +1059,9 @@ class Sso extends shared_1.PolicyStatement {
855
1059
  *
856
1060
  * Access Level: Read
857
1061
  *
1062
+ * Dependent actions:
1063
+ * - kms:Decrypt
1064
+ *
858
1065
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
859
1066
  */
860
1067
  toListApplicationInstanceCertificates() {
@@ -866,6 +1073,7 @@ class Sso extends shared_1.PolicyStatement {
866
1073
  * Access Level: List
867
1074
  *
868
1075
  * Dependent actions:
1076
+ * - kms:Decrypt
869
1077
  * - sso:GetApplicationInstance
870
1078
  *
871
1079
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
@@ -901,6 +1109,9 @@ class Sso extends shared_1.PolicyStatement {
901
1109
  *
902
1110
  * Access Level: List
903
1111
  *
1112
+ * Dependent actions:
1113
+ * - kms:Decrypt
1114
+ *
904
1115
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListApplications.html
905
1116
  */
906
1117
  toListApplications() {
@@ -911,6 +1122,9 @@ class Sso extends shared_1.PolicyStatement {
911
1122
  *
912
1123
  * Access Level: List
913
1124
  *
1125
+ * Dependent actions:
1126
+ * - kms:Decrypt
1127
+ *
914
1128
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListCustomerManagedPolicyReferencesInPermissionSet.html
915
1129
  */
916
1130
  toListCustomerManagedPolicyReferencesInPermissionSet() {
@@ -921,6 +1135,9 @@ class Sso extends shared_1.PolicyStatement {
921
1135
  *
922
1136
  * Access Level: Read
923
1137
  *
1138
+ * Dependent actions:
1139
+ * - kms:Decrypt
1140
+ *
924
1141
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
925
1142
  */
926
1143
  toListDirectoryAssociations() {
@@ -941,6 +1158,9 @@ class Sso extends shared_1.PolicyStatement {
941
1158
  *
942
1159
  * Access Level: List
943
1160
  *
1161
+ * Dependent actions:
1162
+ * - kms:Decrypt
1163
+ *
944
1164
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListManagedPoliciesInPermissionSet.html
945
1165
  */
946
1166
  toListManagedPoliciesInPermissionSet() {
@@ -951,6 +1171,9 @@ class Sso extends shared_1.PolicyStatement {
951
1171
  *
952
1172
  * Access Level: List
953
1173
  *
1174
+ * Dependent actions:
1175
+ * - kms:Decrypt
1176
+ *
954
1177
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListPermissionSetProvisioningStatus.html
955
1178
  */
956
1179
  toListPermissionSetProvisioningStatus() {
@@ -961,6 +1184,9 @@ class Sso extends shared_1.PolicyStatement {
961
1184
  *
962
1185
  * Access Level: List
963
1186
  *
1187
+ * Dependent actions:
1188
+ * - kms:Decrypt
1189
+ *
964
1190
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListPermissionSets.html
965
1191
  */
966
1192
  toListPermissionSets() {
@@ -971,6 +1197,9 @@ class Sso extends shared_1.PolicyStatement {
971
1197
  *
972
1198
  * Access Level: List
973
1199
  *
1200
+ * Dependent actions:
1201
+ * - kms:Decrypt
1202
+ *
974
1203
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListPermissionSetsProvisionedToAccount.html
975
1204
  */
976
1205
  toListPermissionSetsProvisionedToAccount() {
@@ -981,6 +1210,9 @@ class Sso extends shared_1.PolicyStatement {
981
1210
  *
982
1211
  * Access Level: Read
983
1212
  *
1213
+ * Dependent actions:
1214
+ * - kms:Decrypt
1215
+ *
984
1216
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
985
1217
  */
986
1218
  toListProfileAssociations() {
@@ -992,6 +1224,7 @@ class Sso extends shared_1.PolicyStatement {
992
1224
  * Access Level: List
993
1225
  *
994
1226
  * Dependent actions:
1227
+ * - kms:Decrypt
995
1228
  * - sso:GetProfile
996
1229
  *
997
1230
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
@@ -1004,6 +1237,9 @@ class Sso extends shared_1.PolicyStatement {
1004
1237
  *
1005
1238
  * Access Level: Read
1006
1239
  *
1240
+ * Dependent actions:
1241
+ * - kms:Decrypt
1242
+ *
1007
1243
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListTagsForResource.html
1008
1244
  */
1009
1245
  toListTagsForResource() {
@@ -1014,6 +1250,9 @@ class Sso extends shared_1.PolicyStatement {
1014
1250
  *
1015
1251
  * Access Level: List
1016
1252
  *
1253
+ * Dependent actions:
1254
+ * - kms:Decrypt
1255
+ *
1017
1256
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListTrustedTokenIssuers.html
1018
1257
  */
1019
1258
  toListTrustedTokenIssuers() {
@@ -1024,6 +1263,9 @@ class Sso extends shared_1.PolicyStatement {
1024
1263
  *
1025
1264
  * Access Level: Write
1026
1265
  *
1266
+ * Dependent actions:
1267
+ * - kms:Decrypt
1268
+ *
1027
1269
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html
1028
1270
  */
1029
1271
  toProvisionPermissionSet() {
@@ -1037,6 +1279,9 @@ class Sso extends shared_1.PolicyStatement {
1037
1279
  * Possible conditions:
1038
1280
  * - .ifApplicationAccount()
1039
1281
  *
1282
+ * Dependent actions:
1283
+ * - kms:Decrypt
1284
+ *
1040
1285
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutApplicationAccessScope.html
1041
1286
  */
1042
1287
  toPutApplicationAccessScope() {
@@ -1050,6 +1295,9 @@ class Sso extends shared_1.PolicyStatement {
1050
1295
  * Possible conditions:
1051
1296
  * - .ifApplicationAccount()
1052
1297
  *
1298
+ * Dependent actions:
1299
+ * - kms:Decrypt
1300
+ *
1053
1301
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutApplicationAssignmentConfiguration.html
1054
1302
  */
1055
1303
  toPutApplicationAssignmentConfiguration() {
@@ -1063,6 +1311,9 @@ class Sso extends shared_1.PolicyStatement {
1063
1311
  * Possible conditions:
1064
1312
  * - .ifApplicationAccount()
1065
1313
  *
1314
+ * Dependent actions:
1315
+ * - kms:Decrypt
1316
+ *
1066
1317
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutApplicationAuthenticationMethod.html
1067
1318
  */
1068
1319
  toPutApplicationAuthenticationMethod() {
@@ -1076,6 +1327,9 @@ class Sso extends shared_1.PolicyStatement {
1076
1327
  * Possible conditions:
1077
1328
  * - .ifApplicationAccount()
1078
1329
  *
1330
+ * Dependent actions:
1331
+ * - kms:Decrypt
1332
+ *
1079
1333
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutApplicationGrant.html
1080
1334
  */
1081
1335
  toPutApplicationGrant() {
@@ -1089,6 +1343,9 @@ class Sso extends shared_1.PolicyStatement {
1089
1343
  * Possible conditions:
1090
1344
  * - .ifApplicationAccount()
1091
1345
  *
1346
+ * Dependent actions:
1347
+ * - kms:Decrypt
1348
+ *
1092
1349
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutApplicationSessionConfiguration.html
1093
1350
  */
1094
1351
  toPutApplicationSessionConfiguration() {
@@ -1099,6 +1356,9 @@ class Sso extends shared_1.PolicyStatement {
1099
1356
  *
1100
1357
  * Access Level: Write
1101
1358
  *
1359
+ * Dependent actions:
1360
+ * - kms:Decrypt
1361
+ *
1102
1362
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutInlinePolicyToPermissionSet.html
1103
1363
  */
1104
1364
  toPutInlinePolicyToPermissionSet() {
@@ -1109,6 +1369,9 @@ class Sso extends shared_1.PolicyStatement {
1109
1369
  *
1110
1370
  * Access Level: Write
1111
1371
  *
1372
+ * Dependent actions:
1373
+ * - kms:Decrypt
1374
+ *
1112
1375
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1113
1376
  */
1114
1377
  toPutMfaDeviceManagementForDirectory() {
@@ -1119,6 +1382,9 @@ class Sso extends shared_1.PolicyStatement {
1119
1382
  *
1120
1383
  * Access Level: Permissions management
1121
1384
  *
1385
+ * Dependent actions:
1386
+ * - kms:Decrypt
1387
+ *
1122
1388
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutPermissionsBoundaryToPermissionSet.html
1123
1389
  */
1124
1390
  toPutPermissionsBoundaryToPermissionSet() {
@@ -1129,6 +1395,9 @@ class Sso extends shared_1.PolicyStatement {
1129
1395
  *
1130
1396
  * Access Level: Permissions management
1131
1397
  *
1398
+ * Dependent actions:
1399
+ * - kms:Decrypt
1400
+ *
1132
1401
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1133
1402
  */
1134
1403
  toPutPermissionsPolicy() {
@@ -1141,6 +1410,7 @@ class Sso extends shared_1.PolicyStatement {
1141
1410
  *
1142
1411
  * Dependent actions:
1143
1412
  * - ds:DescribeDirectories
1413
+ * - kms:Decrypt
1144
1414
  *
1145
1415
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1146
1416
  */
@@ -1154,6 +1424,7 @@ class Sso extends shared_1.PolicyStatement {
1154
1424
  *
1155
1425
  * Dependent actions:
1156
1426
  * - ds:DescribeDirectories
1427
+ * - kms:Decrypt
1157
1428
  *
1158
1429
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1159
1430
  */
@@ -1166,6 +1437,10 @@ class Sso extends shared_1.PolicyStatement {
1166
1437
  * Access Level: Write
1167
1438
  *
1168
1439
  * Dependent actions:
1440
+ * - kms:Decrypt
1441
+ * - kms:DescribeKey
1442
+ * - kms:Encrypt
1443
+ * - kms:GenerateDataKeyWithoutPlaintext
1169
1444
  * - organizations:DescribeOrganization
1170
1445
  * - organizations:EnableAWSServiceAccess
1171
1446
  *
@@ -1183,6 +1458,9 @@ class Sso extends shared_1.PolicyStatement {
1183
1458
  * - .ifAwsRequestTag()
1184
1459
  * - .ifAwsTagKeys()
1185
1460
  *
1461
+ * Dependent actions:
1462
+ * - kms:Decrypt
1463
+ *
1186
1464
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_TagResource.html
1187
1465
  */
1188
1466
  toTagResource() {
@@ -1196,6 +1474,9 @@ class Sso extends shared_1.PolicyStatement {
1196
1474
  * Possible conditions:
1197
1475
  * - .ifAwsTagKeys()
1198
1476
  *
1477
+ * Dependent actions:
1478
+ * - kms:Decrypt
1479
+ *
1199
1480
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_UntagResource.html
1200
1481
  */
1201
1482
  toUntagResource() {
@@ -1209,6 +1490,9 @@ class Sso extends shared_1.PolicyStatement {
1209
1490
  * Possible conditions:
1210
1491
  * - .ifApplicationAccount()
1211
1492
  *
1493
+ * Dependent actions:
1494
+ * - kms:Decrypt
1495
+ *
1212
1496
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_UpdateApplication.html
1213
1497
  */
1214
1498
  toUpdateApplication() {
@@ -1219,6 +1503,9 @@ class Sso extends shared_1.PolicyStatement {
1219
1503
  *
1220
1504
  * Access Level: Write
1221
1505
  *
1506
+ * Dependent actions:
1507
+ * - kms:Decrypt
1508
+ *
1222
1509
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1223
1510
  */
1224
1511
  toUpdateApplicationInstanceActiveCertificate() {
@@ -1229,6 +1516,9 @@ class Sso extends shared_1.PolicyStatement {
1229
1516
  *
1230
1517
  * Access Level: Write
1231
1518
  *
1519
+ * Dependent actions:
1520
+ * - kms:Decrypt
1521
+ *
1232
1522
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1233
1523
  */
1234
1524
  toUpdateApplicationInstanceDisplayData() {
@@ -1239,6 +1529,9 @@ class Sso extends shared_1.PolicyStatement {
1239
1529
  *
1240
1530
  * Access Level: Write
1241
1531
  *
1532
+ * Dependent actions:
1533
+ * - kms:Decrypt
1534
+ *
1242
1535
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1243
1536
  */
1244
1537
  toUpdateApplicationInstanceResponseConfiguration() {
@@ -1249,6 +1542,9 @@ class Sso extends shared_1.PolicyStatement {
1249
1542
  *
1250
1543
  * Access Level: Write
1251
1544
  *
1545
+ * Dependent actions:
1546
+ * - kms:Decrypt
1547
+ *
1252
1548
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1253
1549
  */
1254
1550
  toUpdateApplicationInstanceResponseSchemaConfiguration() {
@@ -1259,6 +1555,9 @@ class Sso extends shared_1.PolicyStatement {
1259
1555
  *
1260
1556
  * Access Level: Write
1261
1557
  *
1558
+ * Dependent actions:
1559
+ * - kms:Decrypt
1560
+ *
1262
1561
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1263
1562
  */
1264
1563
  toUpdateApplicationInstanceSecurityConfiguration() {
@@ -1269,6 +1568,9 @@ class Sso extends shared_1.PolicyStatement {
1269
1568
  *
1270
1569
  * Access Level: Write
1271
1570
  *
1571
+ * Dependent actions:
1572
+ * - kms:Decrypt
1573
+ *
1272
1574
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1273
1575
  */
1274
1576
  toUpdateApplicationInstanceServiceProviderConfiguration() {
@@ -1279,6 +1581,9 @@ class Sso extends shared_1.PolicyStatement {
1279
1581
  *
1280
1582
  * Access Level: Write
1281
1583
  *
1584
+ * Dependent actions:
1585
+ * - kms:Decrypt
1586
+ *
1282
1587
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1283
1588
  */
1284
1589
  toUpdateApplicationInstanceStatus() {
@@ -1289,6 +1594,13 @@ class Sso extends shared_1.PolicyStatement {
1289
1594
  *
1290
1595
  * Access Level: Write
1291
1596
  *
1597
+ * Dependent actions:
1598
+ * - identitystore:UpdateIdentityStore
1599
+ * - kms:Decrypt
1600
+ * - kms:DescribeKey
1601
+ * - kms:Encrypt
1602
+ * - kms:GenerateDataKeyWithoutPlaintext
1603
+ *
1292
1604
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_UpdateInstance.html
1293
1605
  */
1294
1606
  toUpdateInstance() {
@@ -1299,6 +1611,9 @@ class Sso extends shared_1.PolicyStatement {
1299
1611
  *
1300
1612
  * Access Level: Write
1301
1613
  *
1614
+ * Dependent actions:
1615
+ * - kms:Decrypt
1616
+ *
1302
1617
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_UpdateInstanceAccessControlAttributeConfiguration.html
1303
1618
  */
1304
1619
  toUpdateInstanceAccessControlAttributeConfiguration() {
@@ -1309,6 +1624,9 @@ class Sso extends shared_1.PolicyStatement {
1309
1624
  *
1310
1625
  * Access Level: Write
1311
1626
  *
1627
+ * Dependent actions:
1628
+ * - kms:Decrypt
1629
+ *
1312
1630
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1313
1631
  */
1314
1632
  toUpdateManagedApplicationInstanceStatus() {
@@ -1319,6 +1637,9 @@ class Sso extends shared_1.PolicyStatement {
1319
1637
  *
1320
1638
  * Access Level: Permissions management
1321
1639
  *
1640
+ * Dependent actions:
1641
+ * - kms:Decrypt
1642
+ *
1322
1643
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_UpdatePermissionSet.html
1323
1644
  */
1324
1645
  toUpdatePermissionSet() {
@@ -1329,6 +1650,9 @@ class Sso extends shared_1.PolicyStatement {
1329
1650
  *
1330
1651
  * Access Level: Write
1331
1652
  *
1653
+ * Dependent actions:
1654
+ * - kms:Decrypt
1655
+ *
1332
1656
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1333
1657
  */
1334
1658
  toUpdateProfile() {
@@ -1339,6 +1663,9 @@ class Sso extends shared_1.PolicyStatement {
1339
1663
  *
1340
1664
  * Access Level: Write
1341
1665
  *
1666
+ * Dependent actions:
1667
+ * - kms:Decrypt
1668
+ *
1342
1669
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1343
1670
  */
1344
1671
  toUpdateSSOConfiguration() {
@@ -1349,6 +1676,9 @@ class Sso extends shared_1.PolicyStatement {
1349
1676
  *
1350
1677
  * Access Level: Write
1351
1678
  *
1679
+ * Dependent actions:
1680
+ * - kms:Decrypt
1681
+ *
1352
1682
  * https://docs.aws.amazon.com/singlesignon/latest/userguide/iam-auth-access-using-id-policies.html#policyexample
1353
1683
  */
1354
1684
  toUpdateTrust() {
@@ -1359,6 +1689,9 @@ class Sso extends shared_1.PolicyStatement {
1359
1689
  *
1360
1690
  * Access Level: Write
1361
1691
  *
1692
+ * Dependent actions:
1693
+ * - kms:Decrypt
1694
+ *
1362
1695
  * https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_UpdateTrustedTokenIssuer.html
1363
1696
  */
1364
1697
  toUpdateTrustedTokenIssuer() {
@@ -1688,4 +2021,4 @@ class Sso extends shared_1.PolicyStatement {
1688
2021
  }
1689
2022
  }
1690
2023
  exports.Sso = Sso;
1691
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtaWRlbnRpdHljZW50ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpYW1pZGVudGl0eWNlbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsR0FBSSxTQUFRLHdCQUFlO0lBR3RDOzs7Ozs7Ozs7T0FTRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxREFBcUQ7UUFDMUQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9DQUFvQztRQUN6QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSw2QkFBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0NBQXNDO1FB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dGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3Nzb10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzaWFtaWRlbnRpdHljZW50ZXIuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBTc28gZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdzc28nO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjb25uZWN0IGEgZGlyZWN0b3J5IHRvIGJlIHVzZWQgYnkgQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBkczpBdXRob3JpemVBcHBsaWNhdGlvblxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQXNzb2NpYXRlRGlyZWN0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBc3NvY2lhdGVEaXJlY3RvcnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gYXNzb2NpYXRpb24gYmV0d2VlbiBhIGRpcmVjdG9yeSB1c2VyIG9yIGdyb3VwIGFuZCBhIHByb2ZpbGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQXNzb2NpYXRlUHJvZmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQXNzb2NpYXRlUHJvZmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGF0dGFjaCBhIGN1c3RvbWVyIG1hbmFnZWQgcG9saWN5IHJlZmVyZW5jZSB0byBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0F0dGFjaEN1c3RvbWVyTWFuYWdlZFBvbGljeVJlZmVyZW5jZVRvUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9BdHRhY2hDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VUb1Blcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0F0dGFjaEN1c3RvbWVyTWFuYWdlZFBvbGljeVJlZmVyZW5jZVRvUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGF0dGFjaCBhbiBBV1MgbWFuYWdlZCBwb2xpY3kgdG8gYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFBlcm1pc3Npb25zIG1hbmFnZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9BdHRhY2hNYW5hZ2VkUG9saWN5VG9QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0F0dGFjaE1hbmFnZWRQb2xpY3lUb1Blcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0F0dGFjaE1hbmFnZWRQb2xpY3lUb1Blcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhc3NpZ24gYWNjZXNzIHRvIGEgUHJpbmNpcGFsIGZvciBhIHNwZWNpZmllZCBBV1MgYWNjb3VudCB1c2luZyBhIHNwZWNpZmllZCBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlQWNjb3VudEFzc2lnbm1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQWNjb3VudEFzc2lnbm1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUFjY291bnRBc3NpZ25tZW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBcHBsaWNhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBcHBsaWNhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQXBwbGljYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gYXBwbGljYXRpb24gYXNzaWdubWVudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBcHBsaWNhdGlvbkFzc2lnbm1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQXBwbGljYXRpb25Bc3NpZ25tZW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVBcHBsaWNhdGlvbkFzc2lnbm1lbnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhZGQgYW4gYXBwbGljYXRpb24gaW5zdGFuY2UgdG8gQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQXBwbGljYXRpb25JbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQXBwbGljYXRpb25JbnN0YW5jZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBhIG5ldyBjZXJ0aWZpY2F0ZSBmb3IgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gaWRlbnRpdHkgY2VudGVyIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gaWFtOkNyZWF0ZVNlcnZpY2VMaW5rZWRSb2xlXG4gICAqIC0gb3JnYW5pemF0aW9uczpEZXNjcmliZU9yZ2FuaXphdGlvblxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUluc3RhbmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVJbnN0YW5jZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGVuYWJsZSB0aGUgaW5zdGFuY2UgZm9yIEFCQUMgYW5kIHNwZWNpZnkgdGhlIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBpYW06QXR0YWNoUm9sZVBvbGljeVxuICAgKiAtIGlhbTpDcmVhdGVSb2xlXG4gICAqIC0gaWFtOkRlbGV0ZVJvbGVcbiAgICogLSBpYW06RGVsZXRlUm9sZVBvbGljeVxuICAgKiAtIGlhbTpEZXRhY2hSb2xlUG9saWN5XG4gICAqIC0gaWFtOkdldFJvbGVcbiAgICogLSBpYW06TGlzdEF0dGFjaGVkUm9sZVBvbGljaWVzXG4gICAqIC0gaWFtOkxpc3RSb2xlUG9saWNpZXNcbiAgICogLSBpYW06UHV0Um9sZVBvbGljeVxuICAgKiAtIGlhbTpVcGRhdGVBc3N1bWVSb2xlUG9saWN5XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWRkIGEgbWFuYWdlZCBhcHBsaWNhdGlvbiBpbnN0YW5jZSB0byBBV1MgSUFNIElkZW50aXR5IENlbnRlclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVQZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVQZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgcHJvZmlsZSBmb3IgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlUHJvZmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlUHJvZmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIGZlZGVyYXRpb24gdHJ1c3QgaW4gYSB0YXJnZXQgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVUcnVzdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlVHJ1c3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSB0cnVzdGVkIHRva2VuIGlzc3VlciBmb3IgYW4gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVRydXN0ZWRUb2tlbklzc3Vlci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVUcnVzdGVkVG9rZW5Jc3N1ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVRydXN0ZWRUb2tlbklzc3VlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIFByaW5jaXBhbCdzIGFjY2VzcyBmcm9tIGEgc3BlY2lmaWVkIEFXUyBhY2NvdW50IHVzaW5nIGEgc3BlY2lmaWVkIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVBY2NvdW50QXNzaWdubWVudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBY2NvdW50QXNzaWdubWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQWNjb3VudEFzc2lnbm1lbnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQXBwbGljYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQXBwbGljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFwcGxpY2F0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGFjY2VzcyBzY29wZSB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFwcGxpY2F0aW9uQWNjZXNzU2NvcGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFwcGxpY2F0aW9uQWNjZXNzU2NvcGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYW4gYXBwbGljYXRpb24gYXNzaWdubWVudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVBcHBsaWNhdGlvbkFzc2lnbm1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQXBwbGljYXRpb25Bc3NpZ25tZW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBcHBsaWNhdGlvbkFzc2lnbm1lbnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYW4gYXV0aGVudGljYXRpb24gbWV0aG9kIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIGdyYW50IGZyb20gYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQXBwbGljYXRpb25HcmFudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBcHBsaWNhdGlvbkdyYW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBcHBsaWNhdGlvbkdyYW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBcHBsaWNhdGlvbkluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBcHBsaWNhdGlvbkluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGluYWN0aXZlIG9yIGV4cGlyZWQgY2VydGlmaWNhdGUgZnJvbSB0aGUgYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgdGhlIGlubGluZSBwb2xpY3kgZnJvbSBhIHNwZWNpZmllZCBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlSW5saW5lUG9saWN5RnJvbVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlSW5saW5lUG9saWN5RnJvbVBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUlubGluZVBvbGljeUZyb21QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGlkZW50aXR5IGNlbnRlciBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlSW5zdGFuY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGlzYWJsZSBBQkFDIGFuZCByZW1vdmUgdGhlIGF0dHJpYnV0ZXMgbGlzdCBmb3IgdGhlIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgdGhlIG1hbmFnZWQgYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZU1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlbW92ZSBwZXJtaXNzaW9ucyBib3VuZGFyeSBmcm9tIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBQZXJtaXNzaW9ucyBtYW5hZ2VtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlUGVybWlzc2lvbnNCb3VuZGFyeUZyb21QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVBlcm1pc3Npb25zQm91bmRhcnlGcm9tUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlUGVybWlzc2lvbnNCb3VuZGFyeUZyb21QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSBwcm9maWxlIGZvciBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVQcm9maWxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVQcm9maWxlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgdHJ1c3RlZCB0b2tlbiBpc3N1ZXIgZm9yIGFuIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVUcnVzdGVkVG9rZW5Jc3N1ZXIuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlVHJ1c3RlZFRva2VuSXNzdWVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVUcnVzdGVkVG9rZW5Jc3N1ZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSB0aGUgc3RhdHVzIG9mIHRoZSBhc3NpZ25tZW50IGNyZWF0aW9uIHJlcXVlc3RcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQWNjb3VudEFzc2lnbm1lbnRDcmVhdGlvblN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmUgdGhlIHN0YXR1cyBvZiBhbiBhc3NpZ25tZW50IGRlbGV0aW9uIHJlcXVlc3RcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudERlbGV0aW9uU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQWNjb3VudEFzc2lnbm1lbnREZWxldGlvblN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudERlbGV0aW9uU3RhdHVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBcHBsaWNhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUFwcGxpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFwcGxpY2F0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYW4gYXBwbGljYXRpb24gYXNzaWdubWVudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlQXBwbGljYXRpb25Bc3NpZ25tZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQXBwbGljYXRpb25Bc3NpZ25tZW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFwcGxpY2F0aW9uQXNzaWdubWVudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlc2NyaWJlIGFuIGFwcGxpY2F0aW9uIHByb3ZpZGVyXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlQXBwbGljYXRpb25Qcm92aWRlci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUFwcGxpY2F0aW9uUHJvdmlkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQXBwbGljYXRpb25Qcm92aWRlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIG9idGFpbiBpbmZvcm1hdGlvbiBhYm91dCBhbiBpZGVudGl0eSBjZW50ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVJbnN0YW5jZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHRoZSBsaXN0IG9mIGF0dHJpYnV0ZXMgdXNlZCBieSB0aGUgaW5zdGFuY2UgZm9yIEFCQUNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmUgYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVQZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSB0aGUgc3RhdHVzIGZvciB0aGUgZ2l2ZW4gUGVybWlzc2lvbiBTZXQgUHJvdmlzaW9uaW5nIHJlcXVlc3RcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlUGVybWlzc2lvblNldFByb3Zpc2lvbmluZ1N0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gb2J0YWluIHRoZSByZWdpb25zIHdoZXJlIHlvdXIgb3JnYW5pemF0aW9uIGhhcyBlbmFibGVkIEFXUyBJQU0gSWRlbnRpdHkgQ2VudGVyXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVSZWdpc3RlcmVkUmVnaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVSZWdpc3RlcmVkUmVnaW9ucycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlc2NyaWJlIGEgdHJ1c3RlZCB0b2tlbiBpc3N1ZXIgZm9yIGFuIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlVHJ1c3RlZFRva2VuSXNzdWVyLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlVHJ1c3RlZFRva2VuSXNzdWVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVRydXN0ZWRUb2tlbklzc3VlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRldGFjaCBhIGN1c3RvbWVyIG1hbmFnZWQgcG9saWN5IHJlZmVyZW5jZSBmcm9tIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBQZXJtaXNzaW9ucyBtYW5hZ2VtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGV0YWNoQ3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlRnJvbVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGV0YWNoQ3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlRnJvbVBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RldGFjaEN1c3RvbWVyTWFuYWdlZFBvbGljeVJlZmVyZW5jZUZyb21QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGV0YWNoIHRoZSBhdHRhY2hlZCBBV1MgbWFuYWdlZCBwb2xpY3kgZnJvbSB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RldGFjaE1hbmFnZWRQb2xpY3lGcm9tUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXRhY2hNYW5hZ2VkUG9saWN5RnJvbVBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RldGFjaE1hbmFnZWRQb2xpY3lGcm9tUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRpc2Fzc29jaWF0ZSBhIGRpcmVjdG9yeSB0byBiZSB1c2VkIGJ5IEFXUyBJQU0gSWRlbnRpdHkgQ2VudGVyXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gZHM6VW5hdXRob3JpemVBcHBsaWNhdGlvblxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvRGlzYXNzb2NpYXRlRGlyZWN0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEaXNhc3NvY2lhdGVEaXJlY3RvcnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkaXNhc3NvY2lhdGUgYSBkaXJlY3RvcnkgdXNlciBvciBncm91cCBmcm9tIGEgcHJvZmlsZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9EaXNhc3NvY2lhdGVQcm9maWxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEaXNhc3NvY2lhdGVQcm9maWxlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IGFuIGFjY2VzcyBzY29wZSB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0QXBwbGljYXRpb25BY2Nlc3NTY29wZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0QXBwbGljYXRpb25BY2Nlc3NTY29wZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgYXNzaWdubWVudCBjb25maWd1cmF0aW9ucyBmb3IgYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgYW4gYXV0aGVudGljYXRpb24gbWV0aG9kIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gb2J0YWluIGRldGFpbHMgYWJvdXQgYSBncmFudCBiZWxvbmdpbmcgdG8gYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRBcHBsaWNhdGlvbkdyYW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFwcGxpY2F0aW9uR3JhbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFwcGxpY2F0aW9uR3JhbnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBkZXRhaWxzIGZvciBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0dldEFwcGxpY2F0aW9uSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFwcGxpY2F0aW9uSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgc2Vzc2lvbiBjb25maWd1cmF0aW9uIGZvciBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0QXBwbGljYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0QXBwbGljYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGFwcGxpY2F0aW9uIHRlbXBsYXRlIGRldGFpbHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBcHBsaWNhdGlvblRlbXBsYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBcHBsaWNhdGlvblRlbXBsYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gb2J0YWluIHRoZSBpbmxpbmUgcG9saWN5IGFzc2lnbmVkIHRvIHRoZSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRJbmxpbmVQb2xpY3lGb3JQZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldElubGluZVBvbGljeUZvclBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldElubGluZVBvbGljeUZvclBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBkZXRhaWxzIGZvciBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0dldE1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIE1mYSBEZXZpY2UgTWFuYWdlbWVudCBzZXR0aW5ncyBmb3IgdGhlIGRpcmVjdG9yeVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0dldE1mYURldmljZU1hbmFnZW1lbnRGb3JEaXJlY3RvcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldE1mYURldmljZU1hbmFnZW1lbnRGb3JEaXJlY3RvcnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBkZXRhaWxzIG9mIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRQZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRQZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHBlcm1pc3Npb25zIGJvdW5kYXJ5IGZvciBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldFBlcm1pc3Npb25zQm91bmRhcnlGb3JQZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFBlcm1pc3Npb25zQm91bmRhcnlGb3JQZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRQZXJtaXNzaW9uc0JvdW5kYXJ5Rm9yUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGEgcHJvZmlsZSBmb3IgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRQcm9maWxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRQcm9maWxlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY2hlY2sgaWYgQVdTIElBTSBJZGVudGl0eSBDZW50ZXIgaXMgZW5hYmxlZFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0dldFNTT1N0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0U1NPU3RhdHVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgc2hhcmVkIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjdXJyZW50IFNTTyBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0dldFNoYXJlZFNzb0NvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFNoYXJlZFNzb0NvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBjb25maWd1cmF0aW9uIGZvciB0aGUgY3VycmVudCBTU08gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRTc29Db25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRTc29Db25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgdGhlIGZlZGVyYXRpb24gdHJ1c3QgaW4gYSB0YXJnZXQgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0dldFRydXN0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRUcnVzdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0aGUgYXBwbGljYXRpb24gaW5zdGFuY2UgYnkgdXBsb2FkaW5nIGFuIGFwcGxpY2F0aW9uIFNBTUwgbWV0YWRhdGEgZmlsZSBwcm92aWRlZCBieSB0aGUgc2VydmljZSBwcm92aWRlclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9JbXBvcnRBcHBsaWNhdGlvbkluc3RhbmNlU2VydmljZVByb3ZpZGVyTWV0YWRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0ltcG9ydEFwcGxpY2F0aW9uSW5zdGFuY2VTZXJ2aWNlUHJvdmlkZXJNZXRhZGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIHN0YXR1cyBvZiB0aGUgQVdTIGFjY291bnQgYXNzaWdubWVudCBjcmVhdGlvbiByZXF1ZXN0cyBmb3IgYSBzcGVjaWZpZWQgU1NPIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QWNjb3VudEFzc2lnbm1lbnRDcmVhdGlvblN0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIHN0YXR1cyBvZiB0aGUgQVdTIGFjY291bnQgYXNzaWdubWVudCBkZWxldGlvbiByZXF1ZXN0cyBmb3IgYSBzcGVjaWZpZWQgU1NPIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBY2NvdW50QXNzaWdubWVudERlbGV0aW9uU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBY2NvdW50QXNzaWdubWVudERlbGV0aW9uU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QWNjb3VudEFzc2lnbm1lbnREZWxldGlvblN0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIGFzc2lnbmVlIG9mIHRoZSBzcGVjaWZpZWQgQVdTIGFjY291bnQgd2l0aCB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBY2NvdW50QXNzaWdubWVudHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFjY291bnRBc3NpZ25tZW50cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFjY291bnRBc3NpZ25tZW50cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYWNjb3VudHMgYXNzaWduZWQgdG8gdXNlciBvciBncm91cFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QWNjb3VudEFzc2lnbm1lbnRzRm9yUHJpbmNpcGFsLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBY2NvdW50QXNzaWdubWVudHNGb3JQcmluY2lwYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBY2NvdW50QXNzaWdubWVudHNGb3JQcmluY2lwYWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFsbCB0aGUgQVdTIGFjY291bnRzIHdoZXJlIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiBzZXQgaXMgcHJvdmlzaW9uZWRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFjY291bnRzRm9yUHJvdmlzaW9uZWRQZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBY2NvdW50c0ZvclByb3Zpc2lvbmVkUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFjY291bnRzRm9yUHJvdmlzaW9uZWRQZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhY2Nlc3Mgc2NvcGVzIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFwcGxpY2F0aW9uQWNjZXNzU2NvcGVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uQWNjZXNzU2NvcGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhcHBsaWNhdGlvbiBhc3NpZ25tZW50c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBcHBsaWNhdGlvbkFzc2lnbm1lbnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBcHBsaWNhdGlvbkFzc2lnbm1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYXBwbGljYXRpb25zIGFzc2lnbmVkIHRvIHVzZXIgb3IgZ3JvdXBcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50c0ZvclByaW5jaXBhbC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50c0ZvclByaW5jaXBhbCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHNGb3JQcmluY2lwYWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdG8gYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2RzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGdyYW50cyBmcm9tIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFwcGxpY2F0aW9uR3JhbnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBcHBsaWNhdGlvbkdyYW50cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uR3JhbnRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYWxsIG9mIHRoZSBjZXJ0aWZpY2F0ZXMgZm9yIGEgZ2l2ZW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhbGwgYXBwbGljYXRpb24gaW5zdGFuY2VzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBzc286R2V0QXBwbGljYXRpb25JbnN0YW5jZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uSW5zdGFuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25JbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFwcGxpY2F0aW9uIHByb3ZpZGVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QXBwbGljYXRpb25Qcm92aWRlcnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uUHJvdmlkZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25Qcm92aWRlcnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhbGwgc3VwcG9ydGVkIGFwcGxpY2F0aW9uIHRlbXBsYXRlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gc3NvOkdldEFwcGxpY2F0aW9uVGVtcGxhdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBcHBsaWNhdGlvblRlbXBsYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uVGVtcGxhdGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYWxsIGFwcGxpY2F0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3RhbmNlIG9mIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFwcGxpY2F0aW9ucy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgY3VzdG9tZXIgbWFuYWdlZCBwb2xpY3kgcmVmZXJlbmNlcyB0aGF0IGFyZSBhdHRhY2hlZCB0byBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VzSW5QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VzSW5QZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0Q3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlc0luUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGRldGFpbHMgYWJvdXQgdGhlIGRpcmVjdG9yeSBjb25uZWN0ZWQgdG8gQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0RGlyZWN0b3J5QXNzb2NpYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0RGlyZWN0b3J5QXNzb2NpYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgU1NPIEluc3RhbmNlcyB0aGF0IHRoZSBjYWxsZXIgaGFzIGFjY2VzcyB0b1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0SW5zdGFuY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RJbnN0YW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RJbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBBV1MgbWFuYWdlZCBwb2xpY2llcyB0aGF0IGFyZSBhdHRhY2hlZCB0byBhIHNwZWNpZmllZCBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0TWFuYWdlZFBvbGljaWVzSW5QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RNYW5hZ2VkUG9saWNpZXNJblBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RNYW5hZ2VkUG9saWNpZXNJblBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBzdGF0dXMgb2YgdGhlIFBlcm1pc3Npb24gU2V0IFByb3Zpc2lvbmluZyByZXF1ZXN0cyBmb3IgYSBzcGVjaWZpZWQgU1NPIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UGVybWlzc2lvblNldFByb3Zpc2lvbmluZ1N0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGFsbCBwZXJtaXNzaW9uIHNldHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFBlcm1pc3Npb25TZXRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RQZXJtaXNzaW9uU2V0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFBlcm1pc3Npb25TZXRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhbGwgdGhlIHBlcm1pc3Npb24gc2V0cyB0aGF0IGFyZSBwcm92aXNpb25lZCB0byBhIHNwZWNpZmllZCBBV1MgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0UGVybWlzc2lvblNldHNQcm92aXNpb25lZFRvQWNjb3VudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0UGVybWlzc2lvblNldHNQcm92aXNpb25lZFRvQWNjb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFBlcm1pc3Npb25TZXRzUHJvdmlzaW9uZWRUb0FjY291bnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSB0aGUgZGlyZWN0b3J5IHVzZXIgb3IgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9maWxlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvTGlzdFByb2ZpbGVBc3NvY2lhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RQcm9maWxlQXNzb2NpYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYWxsIHByb2ZpbGVzIGZvciBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gc3NvOkdldFByb2ZpbGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RQcm9maWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFByb2ZpbGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgdGFncyB0aGF0IGFyZSBhdHRhY2hlZCB0byBhIHNwZWNpZmllZCByZXNvdXJjZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0VGFnc0ZvclJlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RUYWdzRm9yUmVzb3VyY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RUYWdzRm9yUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRydXN0ZWQgdG9rZW4gaXNzdWVycyBmb3IgYW4gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFRydXN0ZWRUb2tlbklzc3VlcnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFRydXN0ZWRUb2tlbklzc3VlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RUcnVzdGVkVG9rZW5Jc3N1ZXJzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcHJvdmlzaW9uIGEgc3BlY2lmaWVkIHBlcm1pc3Npb24gc2V0IHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Qcm92aXNpb25QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1Byb3Zpc2lvblBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1Byb3Zpc2lvblBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUvdXBkYXRlIGFuIGFjY2VzcyBzY29wZSB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9QdXRBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhZGQgYXNzaWdubWVudCBjb25maWd1cmF0aW9ucyB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9QdXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUvdXBkYXRlIGFuIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9QdXRBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUvdXBkYXRlIGEgZ3JhbnQgdG8gYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHV0QXBwbGljYXRpb25HcmFudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9QdXRBcHBsaWNhdGlvbkdyYW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRBcHBsaWNhdGlvbkdyYW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcHV0IHNlc3Npb24gY29uZmlndXJhdGlvbiBmb3IgYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHV0QXBwbGljYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9QdXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYXR0YWNoIGFuIElBTSBpbmxpbmUgcG9saWN5IHRvIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dElubGluZVBvbGljeVRvUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9QdXRJbmxpbmVQb2xpY3lUb1Blcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dElubGluZVBvbGljeVRvUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHB1dCBNZmEgRGV2aWNlIE1hbmFnZW1lbnQgc2V0dGluZ3MgZm9yIHRoZSBkaXJlY3RvcnlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvUHV0TWZhRGV2aWNlTWFuYWdlbWVudEZvckRpcmVjdG9yeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0TWZhRGV2aWNlTWFuYWdlbWVudEZvckRpcmVjdG9yeScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBwZXJtaXNzaW9ucyBib3VuZGFyeSB0byBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dFBlcm1pc3Npb25zQm91bmRhcnlUb1Blcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0UGVybWlzc2lvbnNCb3VuZGFyeVRvUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0UGVybWlzc2lvbnNCb3VuZGFyeVRvUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBhIHBvbGljeSB0byBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvUHV0UGVybWlzc2lvbnNQb2xpY3koKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dFBlcm1pc3Npb25zUG9saWN5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc2VhcmNoIGZvciBncm91cHMgd2l0aGluIHRoZSBhc3NvY2lhdGVkIGRpcmVjdG9yeVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gZHM6RGVzY3JpYmVEaXJlY3Rvcmllc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvU2VhcmNoR3JvdXBzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTZWFyY2hHcm91cHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzZWFyY2ggZm9yIHVzZXJzIHdpdGhpbiB0aGUgYXNzb2NpYXRlZCBkaXJlY3RvcnlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGRzOkRlc2NyaWJlRGlyZWN0b3JpZXNcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1NlYXJjaFVzZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTZWFyY2hVc2VycycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGluaXRpYWxpemUgQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBvcmdhbml6YXRpb25zOkRlc2NyaWJlT3JnYW5pemF0aW9uXG4gICAqIC0gb3JnYW5pemF0aW9uczpFbmFibGVBV1NTZXJ2aWNlQWNjZXNzXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9TdGFydFNTTygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU3RhcnRTU08nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhc3NvY2lhdGUgYSBzZXQgb2YgdGFncyB3aXRoIGEgc3BlY2lmaWVkIHJlc291cmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogVGFnZ2luZ1xuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZ1Jlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1RhZ1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdUYWdSZXNvdXJjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRpc2Fzc29jaWF0ZSBhIHNldCBvZiB0YWdzIGZyb20gYSBzcGVjaWZpZWQgcmVzb3VyY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVW50YWdSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VbnRhZ1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVbnRhZ1Jlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZUFwcGxpY2F0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZUFwcGxpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHNldCBhIGNlcnRpZmljYXRlIGFzIHRoZSBhY3RpdmUgb25lIGZvciB0aGlzIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VBY3RpdmVDZXJ0aWZpY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZUFjdGl2ZUNlcnRpZmljYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGRpc3BsYXkgZGF0YSBvZiBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlRGlzcGxheURhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VEaXNwbGF5RGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBmZWRlcmF0aW9uIHJlc3BvbnNlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGZlZGVyYXRpb24gcmVzcG9uc2Ugc2NoZW1hIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VTY2hlbWFDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VTY2hlbWFDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHNlY3VyaXR5IGRldGFpbHMgZm9yIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlU2VjdXJpdHlDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlU2VjdXJpdHlDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHNlcnZpY2UgcHJvdmlkZXIgcmVsYXRlZCBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVNlcnZpY2VQcm92aWRlckNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VTZXJ2aWNlUHJvdmlkZXJDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHRoZSBzdGF0dXMgb2YgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVN0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBhbiBpZGVudGl0eSBjZW50ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZUluc3RhbmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZUluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVJbnN0YW5jZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0aGUgYXR0cmlidXRlcyB0byB1c2Ugd2l0aCB0aGUgaW5zdGFuY2UgZm9yIEFCQUNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0aGUgc3RhdHVzIG9mIGEgbWFuYWdlZCBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZVN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2VTdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0aGUgcHJvZmlsZSBmb3IgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlUHJvZmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlUHJvZmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGN1cnJlbnQgU1NPIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZVNTT0NvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVNTT0NvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIGZlZGVyYXRpb24gdHJ1c3QgaW4gYSB0YXJnZXQgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVUcnVzdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlVHJ1c3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSB0cnVzdGVkIHRva2VuIGlzc3VlciBmb3IgYW4gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZVRydXN0ZWRUb2tlbklzc3Vlci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVUcnVzdGVkVG9rZW5Jc3N1ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVRydXN0ZWRUb2tlbklzc3VlcicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFjY2Vzc0xldmVsTGlzdDogQWNjZXNzTGV2ZWxMaXN0ID0ge1xuICAgIFdyaXRlOiBbXG4gICAgICAnQXNzb2NpYXRlRGlyZWN0b3J5JyxcbiAgICAgICdBc3NvY2lhdGVQcm9maWxlJyxcbiAgICAgICdDcmVhdGVBY2NvdW50QXNzaWdubWVudCcsXG4gICAgICAnQ3JlYXRlQXBwbGljYXRpb24nLFxuICAgICAgJ0NyZWF0ZUFwcGxpY2F0aW9uQXNzaWdubWVudCcsXG4gICAgICAnQ3JlYXRlQXBwbGljYXRpb25JbnN0YW5jZScsXG4gICAgICAnQ3JlYXRlQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlJyxcbiAgICAgICdDcmVhdGVJbnN0YW5jZScsXG4gICAgICAnQ3JlYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicsXG4gICAgICAnQ3JlYXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UnLFxuICAgICAgJ0NyZWF0ZVBlcm1pc3Npb25TZXQnLFxuICAgICAgJ0NyZWF0ZVByb2ZpbGUnLFxuICAgICAgJ0NyZWF0ZVRydXN0JyxcbiAgICAgICdDcmVhdGVUcnVzdGVkVG9rZW5Jc3N1ZXInLFxuICAgICAgJ0RlbGV0ZUFjY291bnRBc3NpZ25tZW50JyxcbiAgICAgICdEZWxldGVBcHBsaWNhdGlvbicsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb25BY2Nlc3NTY29wZScsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb25Bc3NpZ25tZW50JyxcbiAgICAgICdEZWxldGVBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kJyxcbiAgICAgICdEZWxldGVBcHBsaWNhdGlvbkdyYW50JyxcbiAgICAgICdEZWxldGVBcHBsaWNhdGlvbkluc3RhbmNlJyxcbiAgICAgICdEZWxldGVBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUnLFxuICAgICAgJ0RlbGV0ZUlubGluZVBvbGljeUZyb21QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdEZWxldGVJbnN0YW5jZScsXG4gICAgICAnRGVsZXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicsXG4gICAgICAnRGVsZXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UnLFxuICAgICAgJ0RlbGV0ZVBlcm1pc3Npb25TZXQnLFxuICAgICAgJ0RlbGV0ZVByb2ZpbGUnLFxuICAgICAgJ0RlbGV0ZVRydXN0ZWRUb2tlbklzc3VlcicsXG4gICAgICAnRGlzYXNzb2NpYXRlRGlyZWN0b3J5JyxcbiAgICAgICdEaXNhc3NvY2lhdGVQcm9maWxlJyxcbiAgICAgICdJbXBvcnRBcHBsaWNhdGlvbkluc3RhbmNlU2VydmljZVByb3ZpZGVyTWV0YWRhdGEnLFxuICAgICAgJ1Byb3Zpc2lvblBlcm1pc3Npb25TZXQnLFxuICAgICAgJ1B1dEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUnLFxuICAgICAgJ1B1dEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1B1dEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QnLFxuICAgICAgJ1B1dEFwcGxpY2F0aW9uR3JhbnQnLFxuICAgICAgJ1B1dEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1B1dElubGluZVBvbGljeVRvUGVybWlzc2lvblNldCcsXG4gICAgICAnUHV0TWZhRGV2aWNlTWFuYWdlbWVudEZvckRpcmVjdG9yeScsXG4gICAgICAnU3RhcnRTU08nLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uJyxcbiAgICAgICdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlQWN0aXZlQ2VydGlmaWNhdGUnLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VEaXNwbGF5RGF0YScsXG4gICAgICAnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVJlc3BvbnNlQ29uZmlndXJhdGlvbicsXG4gICAgICAnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVJlc3BvbnNlU2NoZW1hQ29uZmlndXJhdGlvbicsXG4gICAgICAnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVNlY3VyaXR5Q29uZmlndXJhdGlvbicsXG4gICAgICAnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVNlcnZpY2VQcm92aWRlckNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VTdGF0dXMnLFxuICAgICAgJ1VwZGF0ZUluc3RhbmNlJyxcbiAgICAgICdVcGRhdGVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uJyxcbiAgICAgICdVcGRhdGVNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZVN0YXR1cycsXG4gICAgICAnVXBkYXRlUHJvZmlsZScsXG4gICAgICAnVXBkYXRlU1NPQ29uZmlndXJhdGlvbicsXG4gICAgICAnVXBkYXRlVHJ1c3QnLFxuICAgICAgJ1VwZGF0ZVRydXN0ZWRUb2tlbklzc3VlcidcbiAgICBdLFxuICAgICdQZXJtaXNzaW9ucyBtYW5hZ2VtZW50JzogW1xuICAgICAgJ0F0dGFjaEN1c3RvbWVyTWFuYWdlZFBvbGljeVJlZmVyZW5jZVRvUGVybWlzc2lvblNldCcsXG4gICAgICAnQXR0YWNoTWFuYWdlZFBvbGljeVRvUGVybWlzc2lvblNldCcsXG4gICAgICAnRGVsZXRlUGVybWlzc2lvbnNCb3VuZGFyeUZyb21QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdEZXRhY2hDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VGcm9tUGVybWlzc2lvblNldCcsXG4gICAgICAnRGV0YWNoTWFuYWdlZFBvbGljeUZyb21QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdQdXRQZXJtaXNzaW9uc0JvdW5kYXJ5VG9QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdQdXRQZXJtaXNzaW9uc1BvbGljeScsXG4gICAgICAnVXBkYXRlUGVybWlzc2lvblNldCdcbiAgICBdLFxuICAgIFJlYWQ6IFtcbiAgICAgICdEZXNjcmliZUFjY291bnRBc3NpZ25tZW50Q3JlYXRpb25TdGF0dXMnLFxuICAgICAgJ0Rlc2NyaWJlQWNjb3VudEFzc2lnbm1lbnREZWxldGlvblN0YXR1cycsXG4gICAgICAnRGVzY3JpYmVBcHBsaWNhdGlvbicsXG4gICAgICAnRGVzY3JpYmVBcHBsaWNhdGlvbkFzc2lnbm1lbnQnLFxuICAgICAgJ0Rlc2NyaWJlQXBwbGljYXRpb25Qcm92aWRlcicsXG4gICAgICAnRGVzY3JpYmVJbnN0YW5jZScsXG4gICAgICAnRGVzY3JpYmVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uJyxcbiAgICAgICdEZXNjcmliZVBlcm1pc3Npb25TZXQnLFxuICAgICAgJ0Rlc2NyaWJlUGVybWlzc2lvblNldFByb3Zpc2lvbmluZ1N0YXR1cycsXG4gICAgICAnRGVzY3JpYmVSZWdpc3RlcmVkUmVnaW9ucycsXG4gICAgICAnRGVzY3JpYmVUcnVzdGVkVG9rZW5Jc3N1ZXInLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUnLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24nLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QnLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uR3JhbnQnLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uSW5zdGFuY2UnLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ0dldEFwcGxpY2F0aW9uVGVtcGxhdGUnLFxuICAgICAgJ0dldElubGluZVBvbGljeUZvclBlcm1pc3Npb25TZXQnLFxuICAgICAgJ0dldE1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlJyxcbiAgICAgICdHZXRNZmFEZXZpY2VNYW5hZ2VtZW50Rm9yRGlyZWN0b3J5JyxcbiAgICAgICdHZXRQZXJtaXNzaW9uU2V0JyxcbiAgICAgICdHZXRQZXJtaXNzaW9uc0JvdW5kYXJ5Rm9yUGVybWlzc2lvblNldCcsXG4gICAgICAnR2V0UHJvZmlsZScsXG4gICAgICAnR2V0U1NPU3RhdHVzJyxcbiAgICAgICdHZXRTaGFyZWRTc29Db25maWd1cmF0aW9uJyxcbiAgICAgICdHZXRTc29Db25maWd1cmF0aW9uJyxcbiAgICAgICdHZXRUcnVzdCcsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZXMnLFxuICAgICAgJ0xpc3REaXJlY3RvcnlBc3NvY2lhdGlvbnMnLFxuICAgICAgJ0xpc3RQcm9maWxlQXNzb2NpYXRpb25zJyxcbiAgICAgICdMaXN0VGFnc0ZvclJlc291cmNlJyxcbiAgICAgICdTZWFyY2hHcm91cHMnLFxuICAgICAgJ1NlYXJjaFVzZXJzJ1xuICAgIF0sXG4gICAgTGlzdDogW1xuICAgICAgJ0xpc3RBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzJyxcbiAgICAgICdMaXN0QWNjb3VudEFzc2lnbm1lbnREZWxldGlvblN0YXR1cycsXG4gICAgICAnTGlzdEFjY291bnRBc3NpZ25tZW50cycsXG4gICAgICAnTGlzdEFjY291bnRBc3NpZ25tZW50c0ZvclByaW5jaXBhbCcsXG4gICAgICAnTGlzdEFjY291bnRzRm9yUHJvdmlzaW9uZWRQZXJtaXNzaW9uU2V0JyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25BY2Nlc3NTY29wZXMnLFxuICAgICAgJ0xpc3RBcHBsaWNhdGlvbkFzc2lnbm1lbnRzJyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50c0ZvclByaW5jaXBhbCcsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2RzJyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25HcmFudHMnLFxuICAgICAgJ0xpc3RBcHBsaWNhdGlvbkluc3RhbmNlcycsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uUHJvdmlkZXJzJyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25UZW1wbGF0ZXMnLFxuICAgICAgJ0xpc3RBcHBsaWNhdGlvbnMnLFxuICAgICAgJ0xpc3RDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VzSW5QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdMaXN0SW5zdGFuY2VzJyxcbiAgICAgICdMaXN0TWFuYWdlZFBvbGljaWVzSW5QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdMaXN0UGVybWlzc2lvblNldFByb3Zpc2lvbmluZ1N0YXR1cycsXG4gICAgICAnTGlzdFBlcm1pc3Npb25TZXRzJyxcbiAgICAgICdMaXN0UGVybWlzc2lvblNldHNQcm92aXNpb25lZFRvQWNjb3VudCcsXG4gICAgICAnTGlzdFByb2ZpbGVzJyxcbiAgICAgICdMaXN0VHJ1c3RlZFRva2VuSXNzdWVycydcbiAgICBdLFxuICAgIFRhZ2dpbmc6IFtcbiAgICAgICdUYWdSZXNvdXJjZScsXG4gICAgICAnVW50YWdSZXNvdXJjZSdcbiAgICBdXG4gIH07XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIFBlcm1pc3Npb25TZXQgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvcGVybWlzc2lvbnNldHNjb25jZXB0Lmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGluc3RhbmNlSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaW5zdGFuY2VJZC5cbiAgICogQHBhcmFtIHBlcm1pc3Npb25TZXRJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBwZXJtaXNzaW9uU2V0SWQuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKi9cbiAgcHVibGljIG9uUGVybWlzc2lvblNldChpbnN0YW5jZUlkOiBzdHJpbmcsIHBlcm1pc3Npb25TZXRJZDogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpzc286OjpwZXJtaXNzaW9uU2V0LyR7IGluc3RhbmNlSWQgfS8keyBwZXJtaXNzaW9uU2V0SWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIEFjY291bnQgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvbWFuYWdlLXlvdXItYWNjb3VudHMuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gYWNjb3VudElkIC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvbkFjY291bnQoYWNjb3VudElkPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpzc286OjphY2NvdW50LyR7IGFjY291bnRJZCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBJbnN0YW5jZSB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfSW5zdGFuY2VNZXRhZGF0YS5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBpbnN0YW5jZUlkIC0gSWRlbnRpZmllciBmb3IgdGhlIGluc3RhbmNlSWQuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKi9cbiAgcHVibGljIG9uSW5zdGFuY2UoaW5zdGFuY2VJZDogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpzc286OjppbnN0YW5jZS8keyBpbnN0YW5jZUlkIH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBBcHBsaWNhdGlvbiB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQXBwbGljYXRpb24uaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gaW5zdGFuY2VJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBpbnN0YW5jZUlkLlxuICAgKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIElkZW50aWZpZXIgZm9yIHRoZSBhcHBsaWNhdGlvbklkLlxuICAgKiBAcGFyYW0gYWNjb3VudElkIC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXNvdXJjZVRhZygpXG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICovXG4gIHB1YmxpYyBvbkFwcGxpY2F0aW9uKGluc3RhbmNlSWQ6IHN0cmluZywgYXBwbGljYXRpb25JZDogc3RyaW5nLCBhY2NvdW50SWQ/OiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uID8/IHRoaXMuZGVmYXVsdFBhcnRpdGlvbiB9OnNzbzo6JHsgYWNjb3VudElkID8/IHRoaXMuZGVmYXVsdEFjY291bnQgfTphcHBsaWNhdGlvbi8keyBpbnN0YW5jZUlkIH0vJHsgYXBwbGljYXRpb25JZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgVHJ1c3RlZFRva2VuSXNzdWVyIHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9UcnVzdGVkVG9rZW5Jc3N1ZXJNZXRhZGF0YS5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBpbnN0YW5jZUlkIC0gSWRlbnRpZmllciBmb3IgdGhlIGluc3RhbmNlSWQuXG4gICAqIEBwYXJhbSB0cnVzdGVkVG9rZW5Jc3N1ZXJJZCAtIElkZW50aWZpZXIgZm9yIHRoZSB0cnVzdGVkVG9rZW5Jc3N1ZXJJZC5cbiAgICogQHBhcmFtIGFjY291bnRJZCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKi9cbiAgcHVibGljIG9uVHJ1c3RlZFRva2VuSXNzdWVyKGluc3RhbmNlSWQ6IHN0cmluZywgdHJ1c3RlZFRva2VuSXNzdWVySWQ6IHN0cmluZywgYWNjb3VudElkPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpzc286OiR7IGFjY291bnRJZCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06dHJ1c3RlZFRva2VuSXNzdWVyLyR7IGluc3RhbmNlSWQgfS8keyB0cnVzdGVkVG9rZW5Jc3N1ZXJJZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgQXBwbGljYXRpb25Qcm92aWRlciB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQXBwbGljYXRpb25Qcm92aWRlci5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvblByb3ZpZGVySWQgLSBJZGVudGlmaWVyIGZvciB0aGUgYXBwbGljYXRpb25Qcm92aWRlcklkLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uQXBwbGljYXRpb25Qcm92aWRlcihhcHBsaWNhdGlvblByb3ZpZGVySWQ6IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06c3NvOjphd3M6YXBwbGljYXRpb25Qcm92aWRlci8keyBhcHBsaWNhdGlvblByb3ZpZGVySWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWdzIHRoYXQgYXJlIHBhc3NlZCBpbiB0aGUgcmVxdWVzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvdGFnZ2luZy5odG1sXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9DcmVhdGVBcHBsaWNhdGlvbigpXG4gICAqIC0gLnRvQ3JlYXRlSW5zdGFuY2UoKVxuICAgKiAtIC50b0NyZWF0ZVBlcm1pc3Npb25TZXQoKVxuICAgKiAtIC50b0NyZWF0ZVRydXN0ZWRUb2tlbklzc3VlcigpXG4gICAqIC0gLnRvVGFnUmVzb3VyY2UoKVxuICAgKlxuICAgKiBAcGFyYW0gdGFnS2V5IFRoZSB0YWcga2V5IHRvIGNoZWNrXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQXdzUmVxdWVzdFRhZyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpSZXF1ZXN0VGFnLyR7IHRhZ0tleSB9YCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIHRhZ3MgYXNzb2NpYXRlZCB3aXRoIHRoZSByZXNvdXJjZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvdGFnZ2luZy5odG1sXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gcmVzb3VyY2UgdHlwZXM6XG4gICAqIC0gUGVybWlzc2lvblNldFxuICAgKiAtIEluc3RhbmNlXG4gICAqIC0gQXBwbGljYXRpb25cbiAgICogLSBUcnVzdGVkVG9rZW5Jc3N1ZXJcbiAgICpcbiAgICogQHBhcmFtIHRhZ0tleSBUaGUgdGFnIGtleSB0byBjaGVja1xuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkF3c1Jlc291cmNlVGFnKHRhZ0tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgYXdzOlJlc291cmNlVGFnLyR7IHRhZ0tleSB9YCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIHRhZyBrZXlzIHRoYXQgYXJlIHBhc3NlZCBpbiB0aGUgcmVxdWVzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvdGFnZ2luZy5odG1sXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9DcmVhdGVBcHBsaWNhdGlvbigpXG4gICAqIC0gLnRvQ3JlYXRlSW5zdGFuY2UoKVxuICAgKiAtIC50b0NyZWF0ZVBlcm1pc3Npb25TZXQoKVxuICAgKiAtIC50b0NyZWF0ZVRydXN0ZWRUb2tlbklzc3VlcigpXG4gICAqIC0gLnRvVGFnUmVzb3VyY2UoKVxuICAgKiAtIC50b1VudGFnUmVzb3VyY2UoKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkF3c1RhZ0tleXModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpUYWdLZXlzYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIGFjY291bnQgd2hpY2ggY3JlYXRlcyB0aGUgYXBwbGljYXRpb24uIFRoaXMgY29uZGl0aW9uIGtleSBpcyBub3Qgc3VwcG9ydGVkIGZvciBjdXN0b21lciBtYW5hZ2VkIFNBTUwgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9BUElfQXBwbGljYXRpb24uaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQXBwbGljYXRpb25Bc3NpZ25tZW50KClcbiAgICogLSAudG9EZWxldGVBcHBsaWNhdGlvbigpXG4gICAqIC0gLnRvRGVsZXRlQXBwbGljYXRpb25BY2Nlc3NTY29wZSgpXG4gICAqIC0gLnRvRGVsZXRlQXBwbGljYXRpb25Bc3NpZ25tZW50KClcbiAgICogLSAudG9EZWxldGVBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kKClcbiAgICogLSAudG9EZWxldGVBcHBsaWNhdGlvbkdyYW50KClcbiAgICogLSAudG9EZXNjcmliZUFwcGxpY2F0aW9uKClcbiAgICogLSAudG9EZXNjcmliZUFwcGxpY2F0aW9uQXNzaWdubWVudCgpXG4gICAqIC0gLnRvR2V0QXBwbGljYXRpb25BY2Nlc3NTY29wZSgpXG4gICAqIC0gLnRvR2V0QXBwbGljYXRpb25Bc3NpZ25tZW50Q29uZmlndXJhdGlvbigpXG4gICAqIC0gLnRvR2V0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCgpXG4gICAqIC0gLnRvR2V0QXBwbGljYXRpb25HcmFudCgpXG4gICAqIC0gLnRvR2V0QXBwbGljYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbigpXG4gICAqIC0gLnRvTGlzdEFwcGxpY2F0aW9uQWNjZXNzU2NvcGVzKClcbiAgICogLSAudG9MaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50cygpXG4gICAqIC0gLnRvTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHNGb3JQcmluY2lwYWwoKVxuICAgKiAtIC50b0xpc3RBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kcygpXG4gICAqIC0gLnRvTGlzdEFwcGxpY2F0aW9uR3JhbnRzKClcbiAgICogLSAudG9QdXRBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlKClcbiAgICogLSAudG9QdXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uKClcbiAgICogLSAudG9QdXRBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kKClcbiAgICogLSAudG9QdXRBcHBsaWNhdGlvbkdyYW50KClcbiAgICogLSAudG9QdXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uKClcbiAgICogLSAudG9VcGRhdGVBcHBsaWNhdGlvbigpXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gcmVzb3VyY2UgdHlwZXM6XG4gICAqIC0gQXBwbGljYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBcHBsaWNhdGlvbkFjY291bnQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYEFwcGxpY2F0aW9uQWNjb3VudGAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbc3NvXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NpYW1pZGVudGl0eWNlbnRlci5odG1sKS5cbiAgICpcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzPzogaWFtLlBvbGljeVN0YXRlbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG59XG4iXX0=
2024
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtaWRlbnRpdHljZW50ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpYW1pZGVudGl0eWNlbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsR0FBSSxTQUFRLHdCQUFlO0lBR3RDOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHFEQUFxRDtRQUMxRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscURBQXFELENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksb0NBQW9DO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLDZCQUE2QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7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QkFDekMsNkJBQTZCO2dCQUM3Qiw0QkFBNEI7Z0JBQzVCLHdDQUF3QztnQkFDeEMsc0NBQXNDO2dCQUN0Qyx1QkFBdUI7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsMEJBQTBCO2dCQUMxQiwwQkFBMEI7Z0JBQzFCLGtCQUFrQjtnQkFDbEIsb0RBQW9EO2dCQUNwRCxlQUFlO2dCQUNmLG9DQUFvQztnQkFDcEMscUNBQXFDO2dCQUNyQyxvQkFBb0I7Z0JBQ3BCLHdDQUF3QztnQkFDeEMsY0FBYztnQkFDZCx5QkFBeUI7YUFDMUI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQXNNRixDQUFDO0NBQ0Y7QUFsbUVELGtCQWttRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3Nzb10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzaWFtaWRlbnRpdHljZW50ZXIuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBTc28gZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdzc28nO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjb25uZWN0IGEgZGlyZWN0b3J5IHRvIGJlIHVzZWQgYnkgQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBkczpBdXRob3JpemVBcHBsaWNhdGlvblxuICAgKiAtIGlkZW50aXR5c3RvcmU6Q3JlYXRlSWRlbnRpdHlTdG9yZVxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9Bc3NvY2lhdGVEaXJlY3RvcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Fzc29jaWF0ZURpcmVjdG9yeScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBhc3NvY2lhdGlvbiBiZXR3ZWVuIGEgZGlyZWN0b3J5IHVzZXIgb3IgZ3JvdXAgYW5kIGEgcHJvZmlsZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9Bc3NvY2lhdGVQcm9maWxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBc3NvY2lhdGVQcm9maWxlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYXR0YWNoIGEgY3VzdG9tZXIgbWFuYWdlZCBwb2xpY3kgcmVmZXJlbmNlIHRvIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBQZXJtaXNzaW9ucyBtYW5hZ2VtZW50XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQXR0YWNoQ3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlVG9QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0F0dGFjaEN1c3RvbWVyTWFuYWdlZFBvbGljeVJlZmVyZW5jZVRvUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQXR0YWNoQ3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlVG9QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYXR0YWNoIGFuIEFXUyBtYW5hZ2VkIHBvbGljeSB0byBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0F0dGFjaE1hbmFnZWRQb2xpY3lUb1Blcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQXR0YWNoTWFuYWdlZFBvbGljeVRvUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQXR0YWNoTWFuYWdlZFBvbGljeVRvUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc2lnbiBhY2Nlc3MgdG8gYSBQcmluY2lwYWwgZm9yIGEgc3BlY2lmaWVkIEFXUyBhY2NvdW50IHVzaW5nIGEgc3BlY2lmaWVkIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBY2NvdW50QXNzaWdubWVudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBY2NvdW50QXNzaWdubWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQWNjb3VudEFzc2lnbm1lbnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUFwcGxpY2F0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUFwcGxpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVBcHBsaWNhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBhcHBsaWNhdGlvbiBhc3NpZ25tZW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUFwcGxpY2F0aW9uQXNzaWdubWVudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBcHBsaWNhdGlvbkFzc2lnbm1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUFwcGxpY2F0aW9uQXNzaWdubWVudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZSB0byBBV1MgSUFNIElkZW50aXR5IENlbnRlclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBcHBsaWNhdGlvbkluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVBcHBsaWNhdGlvbkluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWRkIGEgbmV3IGNlcnRpZmljYXRlIGZvciBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBpZGVudGl0eSBjZW50ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBpYW06Q3JlYXRlU2VydmljZUxpbmtlZFJvbGVcbiAgICogLSBpZGVudGl0eXN0b3JlOkNyZWF0ZUlkZW50aXR5U3RvcmVcbiAgICogLSBvcmdhbml6YXRpb25zOkRlc2NyaWJlT3JnYW5pemF0aW9uXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlSW5zdGFuY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZW5hYmxlIHRoZSBpbnN0YW5jZSBmb3IgQUJBQyBhbmQgc3BlY2lmeSB0aGUgYXR0cmlidXRlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGlhbTpBdHRhY2hSb2xlUG9saWN5XG4gICAqIC0gaWFtOkNyZWF0ZVJvbGVcbiAgICogLSBpYW06RGVsZXRlUm9sZVxuICAgKiAtIGlhbTpEZWxldGVSb2xlUG9saWN5XG4gICAqIC0gaWFtOkRldGFjaFJvbGVQb2xpY3lcbiAgICogLSBpYW06R2V0Um9sZVxuICAgKiAtIGlhbTpMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNcbiAgICogLSBpYW06TGlzdFJvbGVQb2xpY2llc1xuICAgKiAtIGlhbTpQdXRSb2xlUG9saWN5XG4gICAqIC0gaWFtOlVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBhIG1hbmFnZWQgYXBwbGljYXRpb24gaW5zdGFuY2UgdG8gQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZU1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHByb2ZpbGUgZm9yIGFuIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVByb2ZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVByb2ZpbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBmZWRlcmF0aW9uIHRydXN0IGluIGEgdGFyZ2V0IGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlVHJ1c3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVRydXN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgdHJ1c3RlZCB0b2tlbiBpc3N1ZXIgZm9yIGFuIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVUcnVzdGVkVG9rZW5Jc3N1ZXIuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlVHJ1c3RlZFRva2VuSXNzdWVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVUcnVzdGVkVG9rZW5Jc3N1ZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSBQcmluY2lwYWwncyBhY2Nlc3MgZnJvbSBhIHNwZWNpZmllZCBBV1MgYWNjb3VudCB1c2luZyBhIHNwZWNpZmllZCBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQWNjb3VudEFzc2lnbm1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQWNjb3VudEFzc2lnbm1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFjY291bnRBc3NpZ25tZW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUFwcGxpY2F0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFwcGxpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBcHBsaWNhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhbiBhY2Nlc3Mgc2NvcGUgdG8gYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQXBwbGljYXRpb25BY2Nlc3NTY29wZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGFwcGxpY2F0aW9uIGFzc2lnbm1lbnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQXBwbGljYXRpb25Bc3NpZ25tZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFwcGxpY2F0aW9uQXNzaWdubWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQXBwbGljYXRpb25Bc3NpZ25tZW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSBncmFudCBmcm9tIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUFwcGxpY2F0aW9uR3JhbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQXBwbGljYXRpb25HcmFudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQXBwbGljYXRpb25HcmFudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSB0aGUgYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQXBwbGljYXRpb25JbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQXBwbGljYXRpb25JbnN0YW5jZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhbiBpbmFjdGl2ZSBvciBleHBpcmVkIGNlcnRpZmljYXRlIGZyb20gdGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSBpbmxpbmUgcG9saWN5IGZyb20gYSBzcGVjaWZpZWQgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUlubGluZVBvbGljeUZyb21QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUlubGluZVBvbGljeUZyb21QZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVJbmxpbmVQb2xpY3lGcm9tUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhbiBpZGVudGl0eSBjZW50ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBpZGVudGl0eXN0b3JlOkRlbGV0ZUlkZW50aXR5U3RvcmVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVJbnN0YW5jZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVJbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkaXNhYmxlIEFCQUMgYW5kIHJlbW92ZSB0aGUgYXR0cmlidXRlcyBsaXN0IGZvciB0aGUgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSB0aGUgbWFuYWdlZCBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVQZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVQZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVtb3ZlIHBlcm1pc3Npb25zIGJvdW5kYXJ5IGZyb20gYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFBlcm1pc3Npb25zIG1hbmFnZW1lbnRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVQZXJtaXNzaW9uc0JvdW5kYXJ5RnJvbVBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlUGVybWlzc2lvbnNCb3VuZGFyeUZyb21QZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVQZXJtaXNzaW9uc0JvdW5kYXJ5RnJvbVBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgdGhlIHByb2ZpbGUgZm9yIGFuIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVByb2ZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZVByb2ZpbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSB0cnVzdGVkIHRva2VuIGlzc3VlciBmb3IgYW4gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZVRydXN0ZWRUb2tlbklzc3Vlci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVUcnVzdGVkVG9rZW5Jc3N1ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZVRydXN0ZWRUb2tlbklzc3VlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlc2NyaWJlIHRoZSBzdGF0dXMgb2YgdGhlIGFzc2lnbm1lbnQgY3JlYXRpb24gcmVxdWVzdFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUFjY291bnRBc3NpZ25tZW50Q3JlYXRpb25TdGF0dXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFjY291bnRBc3NpZ25tZW50Q3JlYXRpb25TdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSB0aGUgc3RhdHVzIG9mIGFuIGFzc2lnbm1lbnQgZGVsZXRpb24gcmVxdWVzdFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUFjY291bnRBc3NpZ25tZW50RGVsZXRpb25TdGF0dXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudERlbGV0aW9uU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFjY291bnRBc3NpZ25tZW50RGVsZXRpb25TdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBvYnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUFwcGxpY2F0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQXBwbGljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQXBwbGljYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhbiBhcHBsaWNhdGlvbiBhc3NpZ25tZW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBcHBsaWNhdGlvbkFzc2lnbm1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVBcHBsaWNhdGlvbkFzc2lnbm1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQXBwbGljYXRpb25Bc3NpZ25tZW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmUgYW4gYXBwbGljYXRpb24gcHJvdmlkZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBcHBsaWNhdGlvblByb3ZpZGVyLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQXBwbGljYXRpb25Qcm92aWRlcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVBcHBsaWNhdGlvblByb3ZpZGVyJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IGFuIGlkZW50aXR5IGNlbnRlciBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUluc3RhbmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIGxpc3Qgb2YgYXR0cmlidXRlcyB1c2VkIGJ5IHRoZSBpbnN0YW5jZSBmb3IgQUJBQ1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlc2NyaWJlIHRoZSBzdGF0dXMgZm9yIHRoZSBnaXZlbiBQZXJtaXNzaW9uIFNldCBQcm92aXNpb25pbmcgcmVxdWVzdFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVBlcm1pc3Npb25TZXRQcm92aXNpb25pbmdTdGF0dXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVBlcm1pc3Npb25TZXRQcm92aXNpb25pbmdTdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBvYnRhaW4gdGhlIHJlZ2lvbnMgd2hlcmUgeW91ciBvcmdhbml6YXRpb24gaGFzIGVuYWJsZWQgQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVJlZ2lzdGVyZWRSZWdpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVJlZ2lzdGVyZWRSZWdpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmUgYSB0cnVzdGVkIHRva2VuIGlzc3VlciBmb3IgYW4gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVUcnVzdGVkVG9rZW5Jc3N1ZXIuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVUcnVzdGVkVG9rZW5Jc3N1ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlVHJ1c3RlZFRva2VuSXNzdWVyJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGV0YWNoIGEgY3VzdG9tZXIgbWFuYWdlZCBwb2xpY3kgcmVmZXJlbmNlIGZyb20gYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFBlcm1pc3Npb25zIG1hbmFnZW1lbnRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXRhY2hDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VGcm9tUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXRhY2hDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VGcm9tUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGV0YWNoQ3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlRnJvbVBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXRhY2ggdGhlIGF0dGFjaGVkIEFXUyBtYW5hZ2VkIHBvbGljeSBmcm9tIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBQZXJtaXNzaW9ucyBtYW5hZ2VtZW50XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGV0YWNoTWFuYWdlZFBvbGljeUZyb21QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RldGFjaE1hbmFnZWRQb2xpY3lGcm9tUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGV0YWNoTWFuYWdlZFBvbGljeUZyb21QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGlzYXNzb2NpYXRlIGEgZGlyZWN0b3J5IHRvIGJlIHVzZWQgYnkgQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBkczpVbmF1dGhvcml6ZUFwcGxpY2F0aW9uXG4gICAqIC0gaWRlbnRpdHlzdG9yZTpEZWxldGVJZGVudGl0eVN0b3JlXG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0Rpc2Fzc29jaWF0ZURpcmVjdG9yeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGlzYXNzb2NpYXRlRGlyZWN0b3J5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGlzYXNzb2NpYXRlIGEgZGlyZWN0b3J5IHVzZXIgb3IgZ3JvdXAgZnJvbSBhIHByb2ZpbGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvRGlzYXNzb2NpYXRlUHJvZmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGlzYXNzb2NpYXRlUHJvZmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCBhbiBhY2Nlc3Mgc2NvcGUgdG8gYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIGFzc2lnbm1lbnQgY29uZmlndXJhdGlvbnMgZm9yIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0QXBwbGljYXRpb25Bc3NpZ25tZW50Q29uZmlndXJhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IGFuIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIG9idGFpbiBkZXRhaWxzIGFib3V0IGEgZ3JhbnQgYmVsb25naW5nIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0QXBwbGljYXRpb25HcmFudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBcHBsaWNhdGlvbkdyYW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBcHBsaWNhdGlvbkdyYW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgZGV0YWlscyBmb3IgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBcHBsaWNhdGlvbkluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBcHBsaWNhdGlvbkluc3RhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHNlc3Npb24gY29uZmlndXJhdGlvbiBmb3IgYW4gYXBwbGljYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhcHBsaWNhdGlvbiB0ZW1wbGF0ZSBkZXRhaWxzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvR2V0QXBwbGljYXRpb25UZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0QXBwbGljYXRpb25UZW1wbGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIG9idGFpbiB0aGUgaW5saW5lIHBvbGljeSBhc3NpZ25lZCB0byB0aGUgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0SW5saW5lUG9saWN5Rm9yUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRJbmxpbmVQb2xpY3lGb3JQZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRJbmxpbmVQb2xpY3lGb3JQZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgZGV0YWlscyBmb3IgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0TWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBNZmEgRGV2aWNlIE1hbmFnZW1lbnQgc2V0dGluZ3MgZm9yIHRoZSBkaXJlY3RvcnlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRNZmFEZXZpY2VNYW5hZ2VtZW50Rm9yRGlyZWN0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRNZmFEZXZpY2VNYW5hZ2VtZW50Rm9yRGlyZWN0b3J5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgZGV0YWlscyBvZiBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvR2V0UGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCBwZXJtaXNzaW9ucyBib3VuZGFyeSBmb3IgYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRQZXJtaXNzaW9uc0JvdW5kYXJ5Rm9yUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRQZXJtaXNzaW9uc0JvdW5kYXJ5Rm9yUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UGVybWlzc2lvbnNCb3VuZGFyeUZvclBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhIHByb2ZpbGUgZm9yIGFuIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvR2V0UHJvZmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UHJvZmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNoZWNrIGlmIEFXUyBJQU0gSWRlbnRpdHkgQ2VudGVyIGlzIGVuYWJsZWRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRTU09TdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFNTT1N0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIHNoYXJlZCBjb25maWd1cmF0aW9uIGZvciB0aGUgY3VycmVudCBTU08gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRTaGFyZWRTc29Db25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRTaGFyZWRTc29Db25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGN1cnJlbnQgU1NPIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvR2V0U3NvQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0U3NvQ29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIHRoZSBmZWRlcmF0aW9uIHRydXN0IGluIGEgdGFyZ2V0IGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9HZXRUcnVzdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0VHJ1c3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlIGJ5IHVwbG9hZGluZyBhbiBhcHBsaWNhdGlvbiBTQU1MIG1ldGFkYXRhIGZpbGUgcHJvdmlkZWQgYnkgdGhlIHNlcnZpY2UgcHJvdmlkZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvSW1wb3J0QXBwbGljYXRpb25JbnN0YW5jZVNlcnZpY2VQcm92aWRlck1ldGFkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdJbXBvcnRBcHBsaWNhdGlvbkluc3RhbmNlU2VydmljZVByb3ZpZGVyTWV0YWRhdGEnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBzdGF0dXMgb2YgdGhlIEFXUyBhY2NvdW50IGFzc2lnbm1lbnQgY3JlYXRpb24gcmVxdWVzdHMgZm9yIGEgc3BlY2lmaWVkIFNTTyBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QWNjb3VudEFzc2lnbm1lbnRDcmVhdGlvblN0YXR1cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QWNjb3VudEFzc2lnbm1lbnRDcmVhdGlvblN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFjY291bnRBc3NpZ25tZW50Q3JlYXRpb25TdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBzdGF0dXMgb2YgdGhlIEFXUyBhY2NvdW50IGFzc2lnbm1lbnQgZGVsZXRpb24gcmVxdWVzdHMgZm9yIGEgc3BlY2lmaWVkIFNTTyBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QWNjb3VudEFzc2lnbm1lbnREZWxldGlvblN0YXR1cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QWNjb3VudEFzc2lnbm1lbnREZWxldGlvblN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFjY291bnRBc3NpZ25tZW50RGVsZXRpb25TdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBhc3NpZ25lZSBvZiB0aGUgc3BlY2lmaWVkIEFXUyBhY2NvdW50IHdpdGggdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QWNjb3VudEFzc2lnbm1lbnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBY2NvdW50QXNzaWdubWVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBY2NvdW50QXNzaWdubWVudHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFjY291bnRzIGFzc2lnbmVkIHRvIHVzZXIgb3IgZ3JvdXBcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFjY291bnRBc3NpZ25tZW50c0ZvclByaW5jaXBhbC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QWNjb3VudEFzc2lnbm1lbnRzRm9yUHJpbmNpcGFsKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QWNjb3VudEFzc2lnbm1lbnRzRm9yUHJpbmNpcGFsJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhbGwgdGhlIEFXUyBhY2NvdW50cyB3aGVyZSB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24gc2V0IGlzIHByb3Zpc2lvbmVkXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBY2NvdW50c0ZvclByb3Zpc2lvbmVkUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QWNjb3VudHNGb3JQcm92aXNpb25lZFBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBY2NvdW50c0ZvclByb3Zpc2lvbmVkUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYWNjZXNzIHNjb3BlcyB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBcHBsaWNhdGlvbkFjY2Vzc1Njb3Blcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25BY2Nlc3NTY29wZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYXBwbGljYXRpb24gYXNzaWdubWVudHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFwcGxpY2F0aW9ucyBhc3NpZ25lZCB0byB1c2VyIG9yIGdyb3VwXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHNGb3JQcmluY2lwYWwuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHNGb3JQcmluY2lwYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBcHBsaWNhdGlvbkFzc2lnbm1lbnRzRm9yUHJpbmNpcGFsJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2RzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2RzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBncmFudHMgZnJvbSBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBcHBsaWNhdGlvbkdyYW50cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25HcmFudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBcHBsaWNhdGlvbkdyYW50cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGFsbCBvZiB0aGUgY2VydGlmaWNhdGVzIGZvciBhIGdpdmVuIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYWxsIGFwcGxpY2F0aW9uIGluc3RhbmNlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICogLSBzc286R2V0QXBwbGljYXRpb25JbnN0YW5jZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uSW5zdGFuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25JbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFwcGxpY2F0aW9uIHByb3ZpZGVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QXBwbGljYXRpb25Qcm92aWRlcnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFwcGxpY2F0aW9uUHJvdmlkZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25Qcm92aWRlcnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhbGwgc3VwcG9ydGVkIGFwcGxpY2F0aW9uIHRlbXBsYXRlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gc3NvOkdldEFwcGxpY2F0aW9uVGVtcGxhdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBcHBsaWNhdGlvblRlbXBsYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFwcGxpY2F0aW9uVGVtcGxhdGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYWxsIGFwcGxpY2F0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3RhbmNlIG9mIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFwcGxpY2F0aW9ucy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QXBwbGljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QXBwbGljYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgY3VzdG9tZXIgbWFuYWdlZCBwb2xpY3kgcmVmZXJlbmNlcyB0aGF0IGFyZSBhdHRhY2hlZCB0byBhIHBlcm1pc3Npb24gc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VzSW5QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VzSW5QZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0Q3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlc0luUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGRldGFpbHMgYWJvdXQgdGhlIGRpcmVjdG9yeSBjb25uZWN0ZWQgdG8gQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0RGlyZWN0b3J5QXNzb2NpYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0RGlyZWN0b3J5QXNzb2NpYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgU1NPIEluc3RhbmNlcyB0aGF0IHRoZSBjYWxsZXIgaGFzIGFjY2VzcyB0b1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0SW5zdGFuY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RJbnN0YW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RJbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBBV1MgbWFuYWdlZCBwb2xpY2llcyB0aGF0IGFyZSBhdHRhY2hlZCB0byBhIHNwZWNpZmllZCBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0TWFuYWdlZFBvbGljaWVzSW5QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RNYW5hZ2VkUG9saWNpZXNJblBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RNYW5hZ2VkUG9saWNpZXNJblBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBzdGF0dXMgb2YgdGhlIFBlcm1pc3Npb24gU2V0IFByb3Zpc2lvbmluZyByZXF1ZXN0cyBmb3IgYSBzcGVjaWZpZWQgU1NPIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RQZXJtaXNzaW9uU2V0UHJvdmlzaW9uaW5nU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UGVybWlzc2lvblNldFByb3Zpc2lvbmluZ1N0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGFsbCBwZXJtaXNzaW9uIHNldHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFBlcm1pc3Npb25TZXRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RQZXJtaXNzaW9uU2V0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFBlcm1pc3Npb25TZXRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhbGwgdGhlIHBlcm1pc3Npb24gc2V0cyB0aGF0IGFyZSBwcm92aXNpb25lZCB0byBhIHNwZWNpZmllZCBBV1MgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0UGVybWlzc2lvblNldHNQcm92aXNpb25lZFRvQWNjb3VudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0UGVybWlzc2lvblNldHNQcm92aXNpb25lZFRvQWNjb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFBlcm1pc3Npb25TZXRzUHJvdmlzaW9uZWRUb0FjY291bnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSB0aGUgZGlyZWN0b3J5IHVzZXIgb3IgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9maWxlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvTGlzdFByb2ZpbGVBc3NvY2lhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RQcm9maWxlQXNzb2NpYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYWxsIHByb2ZpbGVzIGZvciBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICogLSBzc286R2V0UHJvZmlsZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvTGlzdFByb2ZpbGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UHJvZmlsZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSB0YWdzIHRoYXQgYXJlIGF0dGFjaGVkIHRvIGEgc3BlY2lmaWVkIHJlc291cmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RUYWdzRm9yUmVzb3VyY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFRhZ3NGb3JSZXNvdXJjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFRhZ3NGb3JSZXNvdXJjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdHJ1c3RlZCB0b2tlbiBpc3N1ZXJzIGZvciBhbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0VHJ1c3RlZFRva2VuSXNzdWVycy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0VHJ1c3RlZFRva2VuSXNzdWVycygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFRydXN0ZWRUb2tlbklzc3VlcnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBwcm92aXNpb24gYSBzcGVjaWZpZWQgcGVybWlzc2lvbiBzZXQgdG8gdGhlIHNwZWNpZmllZCB0YXJnZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1Byb3Zpc2lvblBlcm1pc3Npb25TZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHJvdmlzaW9uUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHJvdmlzaW9uUGVybWlzc2lvblNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZS91cGRhdGUgYW4gYWNjZXNzIHNjb3BlIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0QXBwbGljYXRpb25BY2Nlc3NTY29wZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0QXBwbGljYXRpb25BY2Nlc3NTY29wZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBhc3NpZ25tZW50IGNvbmZpZ3VyYXRpb25zIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0QXBwbGljYXRpb25Bc3NpZ25tZW50Q29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0QXBwbGljYXRpb25Bc3NpZ25tZW50Q29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZS91cGRhdGUgYW4gYXV0aGVudGljYXRpb24gbWV0aG9kIHRvIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZS91cGRhdGUgYSBncmFudCB0byBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9QdXRBcHBsaWNhdGlvbkdyYW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dEFwcGxpY2F0aW9uR3JhbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dEFwcGxpY2F0aW9uR3JhbnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBwdXQgc2Vzc2lvbiBjb25maWd1cmF0aW9uIGZvciBhbiBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXBwbGljYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9QdXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhdHRhY2ggYW4gSUFNIGlubGluZSBwb2xpY3kgdG8gYSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHV0SW5saW5lUG9saWN5VG9QZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dElubGluZVBvbGljeVRvUGVybWlzc2lvblNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0SW5saW5lUG9saWN5VG9QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcHV0IE1mYSBEZXZpY2UgTWFuYWdlbWVudCBzZXR0aW5ncyBmb3IgdGhlIGRpcmVjdG9yeVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9QdXRNZmFEZXZpY2VNYW5hZ2VtZW50Rm9yRGlyZWN0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRNZmFEZXZpY2VNYW5hZ2VtZW50Rm9yRGlyZWN0b3J5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWRkIHBlcm1pc3Npb25zIGJvdW5kYXJ5IHRvIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBQZXJtaXNzaW9ucyBtYW5hZ2VtZW50XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHV0UGVybWlzc2lvbnNCb3VuZGFyeVRvUGVybWlzc2lvblNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9QdXRQZXJtaXNzaW9uc0JvdW5kYXJ5VG9QZXJtaXNzaW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRQZXJtaXNzaW9uc0JvdW5kYXJ5VG9QZXJtaXNzaW9uU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWRkIGEgcG9saWN5IHRvIGEgcGVybWlzc2lvbiBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBQZXJtaXNzaW9ucyBtYW5hZ2VtZW50XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9QdXRQZXJtaXNzaW9uc1BvbGljeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0UGVybWlzc2lvbnNQb2xpY3knKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzZWFyY2ggZm9yIGdyb3VwcyB3aXRoaW4gdGhlIGFzc29jaWF0ZWQgZGlyZWN0b3J5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBkczpEZXNjcmliZURpcmVjdG9yaWVzXG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1NlYXJjaEdyb3VwcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2VhcmNoR3JvdXBzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc2VhcmNoIGZvciB1c2VycyB3aXRoaW4gdGhlIGFzc29jaWF0ZWQgZGlyZWN0b3J5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBkczpEZXNjcmliZURpcmVjdG9yaWVzXG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1NlYXJjaFVzZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTZWFyY2hVc2VycycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGluaXRpYWxpemUgQVdTIElBTSBJZGVudGl0eSBDZW50ZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKiAtIGttczpEZXNjcmliZUtleVxuICAgKiAtIGttczpFbmNyeXB0XG4gICAqIC0ga21zOkdlbmVyYXRlRGF0YUtleVdpdGhvdXRQbGFpbnRleHRcbiAgICogLSBvcmdhbml6YXRpb25zOkRlc2NyaWJlT3JnYW5pemF0aW9uXG4gICAqIC0gb3JnYW5pemF0aW9uczpFbmFibGVBV1NTZXJ2aWNlQWNjZXNzXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9TdGFydFNTTygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU3RhcnRTU08nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhc3NvY2lhdGUgYSBzZXQgb2YgdGFncyB3aXRoIGEgc3BlY2lmaWVkIHJlc291cmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogVGFnZ2luZ1xuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZ1Jlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1RhZ1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdUYWdSZXNvdXJjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRpc2Fzc29jaWF0ZSBhIHNldCBvZiB0YWdzIGZyb20gYSBzcGVjaWZpZWQgcmVzb3VyY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVW50YWdSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VbnRhZ1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVbnRhZ1Jlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGFuIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBcHBsaWNhdGlvbkFjY291bnQoKVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZUFwcGxpY2F0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZUFwcGxpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHNldCBhIGNlcnRpZmljYXRlIGFzIHRoZSBhY3RpdmUgb25lIGZvciB0aGlzIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VBY3RpdmVDZXJ0aWZpY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZUFjdGl2ZUNlcnRpZmljYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGRpc3BsYXkgZGF0YSBvZiBhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlRGlzcGxheURhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VEaXNwbGF5RGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBmZWRlcmF0aW9uIHJlc3BvbnNlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGZlZGVyYXRpb24gcmVzcG9uc2Ugc2NoZW1hIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VTY2hlbWFDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlUmVzcG9uc2VTY2hlbWFDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHNlY3VyaXR5IGRldGFpbHMgZm9yIHRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlU2VjdXJpdHlDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlU2VjdXJpdHlDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHNlcnZpY2UgcHJvdmlkZXIgcmVsYXRlZCBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVNlcnZpY2VQcm92aWRlckNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VTZXJ2aWNlUHJvdmlkZXJDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHRoZSBzdGF0dXMgb2YgYW4gYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZVN0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBhbiBpZGVudGl0eSBjZW50ZXIgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBpZGVudGl0eXN0b3JlOlVwZGF0ZUlkZW50aXR5U3RvcmVcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKiAtIGttczpEZXNjcmliZUtleVxuICAgKiAtIGttczpFbmNyeXB0XG4gICAqIC0ga21zOkdlbmVyYXRlRGF0YUtleVdpdGhvdXRQbGFpbnRleHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVJbnN0YW5jZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVJbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIGF0dHJpYnV0ZXMgdG8gdXNlIHdpdGggdGhlIGluc3RhbmNlIGZvciBBQkFDXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIHN0YXR1cyBvZiBhIG1hbmFnZWQgYXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2VTdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZU1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlU3RhdHVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHRoZSBwZXJtaXNzaW9uIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFBlcm1pc3Npb25zIG1hbmFnZW1lbnRcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVQZXJtaXNzaW9uU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZVBlcm1pc3Npb25TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVBlcm1pc3Npb25TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIHByb2ZpbGUgZm9yIGFuIGFwcGxpY2F0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL2lhbS1hdXRoLWFjY2Vzcy11c2luZy1pZC1wb2xpY2llcy5odG1sI3BvbGljeWV4YW1wbGVcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZVByb2ZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVByb2ZpbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjdXJyZW50IFNTTyBpbnN0YW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L3VzZXJndWlkZS9pYW0tYXV0aC1hY2Nlc3MtdXNpbmctaWQtcG9saWNpZXMuaHRtbCNwb2xpY3lleGFtcGxlXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVTU09Db25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVTU09Db25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHRoZSBmZWRlcmF0aW9uIHRydXN0IGluIGEgdGFyZ2V0IGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBEZXBlbmRlbnQgYWN0aW9uczpcbiAgICogLSBrbXM6RGVjcnlwdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvaWFtLWF1dGgtYWNjZXNzLXVzaW5nLWlkLXBvbGljaWVzLmh0bWwjcG9saWN5ZXhhbXBsZVxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlVHJ1c3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVRydXN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGEgdHJ1c3RlZCB0b2tlbiBpc3N1ZXIgZm9yIGFuIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0ga21zOkRlY3J5cHRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVUcnVzdGVkVG9rZW5Jc3N1ZXIuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlVHJ1c3RlZFRva2VuSXNzdWVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVUcnVzdGVkVG9rZW5Jc3N1ZXInKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBXcml0ZTogW1xuICAgICAgJ0Fzc29jaWF0ZURpcmVjdG9yeScsXG4gICAgICAnQXNzb2NpYXRlUHJvZmlsZScsXG4gICAgICAnQ3JlYXRlQWNjb3VudEFzc2lnbm1lbnQnLFxuICAgICAgJ0NyZWF0ZUFwcGxpY2F0aW9uJyxcbiAgICAgICdDcmVhdGVBcHBsaWNhdGlvbkFzc2lnbm1lbnQnLFxuICAgICAgJ0NyZWF0ZUFwcGxpY2F0aW9uSW5zdGFuY2UnLFxuICAgICAgJ0NyZWF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZScsXG4gICAgICAnQ3JlYXRlSW5zdGFuY2UnLFxuICAgICAgJ0NyZWF0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ0NyZWF0ZU1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlJyxcbiAgICAgICdDcmVhdGVQZXJtaXNzaW9uU2V0JyxcbiAgICAgICdDcmVhdGVQcm9maWxlJyxcbiAgICAgICdDcmVhdGVUcnVzdCcsXG4gICAgICAnQ3JlYXRlVHJ1c3RlZFRva2VuSXNzdWVyJyxcbiAgICAgICdEZWxldGVBY2NvdW50QXNzaWdubWVudCcsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb24nLFxuICAgICAgJ0RlbGV0ZUFwcGxpY2F0aW9uQWNjZXNzU2NvcGUnLFxuICAgICAgJ0RlbGV0ZUFwcGxpY2F0aW9uQXNzaWdubWVudCcsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCcsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb25HcmFudCcsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb25JbnN0YW5jZScsXG4gICAgICAnRGVsZXRlQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlJyxcbiAgICAgICdEZWxldGVJbmxpbmVQb2xpY3lGcm9tUGVybWlzc2lvblNldCcsXG4gICAgICAnRGVsZXRlSW5zdGFuY2UnLFxuICAgICAgJ0RlbGV0ZUluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ0RlbGV0ZU1hbmFnZWRBcHBsaWNhdGlvbkluc3RhbmNlJyxcbiAgICAgICdEZWxldGVQZXJtaXNzaW9uU2V0JyxcbiAgICAgICdEZWxldGVQcm9maWxlJyxcbiAgICAgICdEZWxldGVUcnVzdGVkVG9rZW5Jc3N1ZXInLFxuICAgICAgJ0Rpc2Fzc29jaWF0ZURpcmVjdG9yeScsXG4gICAgICAnRGlzYXNzb2NpYXRlUHJvZmlsZScsXG4gICAgICAnSW1wb3J0QXBwbGljYXRpb25JbnN0YW5jZVNlcnZpY2VQcm92aWRlck1ldGFkYXRhJyxcbiAgICAgICdQcm92aXNpb25QZXJtaXNzaW9uU2V0JyxcbiAgICAgICdQdXRBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlJyxcbiAgICAgICdQdXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uJyxcbiAgICAgICdQdXRBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kJyxcbiAgICAgICdQdXRBcHBsaWNhdGlvbkdyYW50JyxcbiAgICAgICdQdXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uJyxcbiAgICAgICdQdXRJbmxpbmVQb2xpY3lUb1Blcm1pc3Npb25TZXQnLFxuICAgICAgJ1B1dE1mYURldmljZU1hbmFnZW1lbnRGb3JEaXJlY3RvcnknLFxuICAgICAgJ1N0YXJ0U1NPJyxcbiAgICAgICdVcGRhdGVBcHBsaWNhdGlvbicsXG4gICAgICAnVXBkYXRlQXBwbGljYXRpb25JbnN0YW5jZUFjdGl2ZUNlcnRpZmljYXRlJyxcbiAgICAgICdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlRGlzcGxheURhdGEnLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VSZXNwb25zZUNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VSZXNwb25zZVNjaGVtYUNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VTZWN1cml0eUNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1VwZGF0ZUFwcGxpY2F0aW9uSW5zdGFuY2VTZXJ2aWNlUHJvdmlkZXJDb25maWd1cmF0aW9uJyxcbiAgICAgICdVcGRhdGVBcHBsaWNhdGlvbkluc3RhbmNlU3RhdHVzJyxcbiAgICAgICdVcGRhdGVJbnN0YW5jZScsXG4gICAgICAnVXBkYXRlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicsXG4gICAgICAnVXBkYXRlTWFuYWdlZEFwcGxpY2F0aW9uSW5zdGFuY2VTdGF0dXMnLFxuICAgICAgJ1VwZGF0ZVByb2ZpbGUnLFxuICAgICAgJ1VwZGF0ZVNTT0NvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1VwZGF0ZVRydXN0JyxcbiAgICAgICdVcGRhdGVUcnVzdGVkVG9rZW5Jc3N1ZXInXG4gICAgXSxcbiAgICAnUGVybWlzc2lvbnMgbWFuYWdlbWVudCc6IFtcbiAgICAgICdBdHRhY2hDdXN0b21lck1hbmFnZWRQb2xpY3lSZWZlcmVuY2VUb1Blcm1pc3Npb25TZXQnLFxuICAgICAgJ0F0dGFjaE1hbmFnZWRQb2xpY3lUb1Blcm1pc3Npb25TZXQnLFxuICAgICAgJ0RlbGV0ZVBlcm1pc3Npb25zQm91bmRhcnlGcm9tUGVybWlzc2lvblNldCcsXG4gICAgICAnRGV0YWNoQ3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlRnJvbVBlcm1pc3Npb25TZXQnLFxuICAgICAgJ0RldGFjaE1hbmFnZWRQb2xpY3lGcm9tUGVybWlzc2lvblNldCcsXG4gICAgICAnUHV0UGVybWlzc2lvbnNCb3VuZGFyeVRvUGVybWlzc2lvblNldCcsXG4gICAgICAnUHV0UGVybWlzc2lvbnNQb2xpY3knLFxuICAgICAgJ1VwZGF0ZVBlcm1pc3Npb25TZXQnXG4gICAgXSxcbiAgICBSZWFkOiBbXG4gICAgICAnRGVzY3JpYmVBY2NvdW50QXNzaWdubWVudENyZWF0aW9uU3RhdHVzJyxcbiAgICAgICdEZXNjcmliZUFjY291bnRBc3NpZ25tZW50RGVsZXRpb25TdGF0dXMnLFxuICAgICAgJ0Rlc2NyaWJlQXBwbGljYXRpb24nLFxuICAgICAgJ0Rlc2NyaWJlQXBwbGljYXRpb25Bc3NpZ25tZW50JyxcbiAgICAgICdEZXNjcmliZUFwcGxpY2F0aW9uUHJvdmlkZXInLFxuICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2UnLFxuICAgICAgJ0Rlc2NyaWJlSW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvbicsXG4gICAgICAnRGVzY3JpYmVQZXJtaXNzaW9uU2V0JyxcbiAgICAgICdEZXNjcmliZVBlcm1pc3Npb25TZXRQcm92aXNpb25pbmdTdGF0dXMnLFxuICAgICAgJ0Rlc2NyaWJlUmVnaXN0ZXJlZFJlZ2lvbnMnLFxuICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZFRva2VuSXNzdWVyJyxcbiAgICAgICdHZXRBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlJyxcbiAgICAgICdHZXRBcHBsaWNhdGlvbkFzc2lnbm1lbnRDb25maWd1cmF0aW9uJyxcbiAgICAgICdHZXRBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kJyxcbiAgICAgICdHZXRBcHBsaWNhdGlvbkdyYW50JyxcbiAgICAgICdHZXRBcHBsaWNhdGlvbkluc3RhbmNlJyxcbiAgICAgICdHZXRBcHBsaWNhdGlvblNlc3Npb25Db25maWd1cmF0aW9uJyxcbiAgICAgICdHZXRBcHBsaWNhdGlvblRlbXBsYXRlJyxcbiAgICAgICdHZXRJbmxpbmVQb2xpY3lGb3JQZXJtaXNzaW9uU2V0JyxcbiAgICAgICdHZXRNYW5hZ2VkQXBwbGljYXRpb25JbnN0YW5jZScsXG4gICAgICAnR2V0TWZhRGV2aWNlTWFuYWdlbWVudEZvckRpcmVjdG9yeScsXG4gICAgICAnR2V0UGVybWlzc2lvblNldCcsXG4gICAgICAnR2V0UGVybWlzc2lvbnNCb3VuZGFyeUZvclBlcm1pc3Npb25TZXQnLFxuICAgICAgJ0dldFByb2ZpbGUnLFxuICAgICAgJ0dldFNTT1N0YXR1cycsXG4gICAgICAnR2V0U2hhcmVkU3NvQ29uZmlndXJhdGlvbicsXG4gICAgICAnR2V0U3NvQ29uZmlndXJhdGlvbicsXG4gICAgICAnR2V0VHJ1c3QnLFxuICAgICAgJ0xpc3RBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGVzJyxcbiAgICAgICdMaXN0RGlyZWN0b3J5QXNzb2NpYXRpb25zJyxcbiAgICAgICdMaXN0UHJvZmlsZUFzc29jaWF0aW9ucycsXG4gICAgICAnTGlzdFRhZ3NGb3JSZXNvdXJjZScsXG4gICAgICAnU2VhcmNoR3JvdXBzJyxcbiAgICAgICdTZWFyY2hVc2VycydcbiAgICBdLFxuICAgIExpc3Q6IFtcbiAgICAgICdMaXN0QWNjb3VudEFzc2lnbm1lbnRDcmVhdGlvblN0YXR1cycsXG4gICAgICAnTGlzdEFjY291bnRBc3NpZ25tZW50RGVsZXRpb25TdGF0dXMnLFxuICAgICAgJ0xpc3RBY2NvdW50QXNzaWdubWVudHMnLFxuICAgICAgJ0xpc3RBY2NvdW50QXNzaWdubWVudHNGb3JQcmluY2lwYWwnLFxuICAgICAgJ0xpc3RBY2NvdW50c0ZvclByb3Zpc2lvbmVkUGVybWlzc2lvblNldCcsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uQWNjZXNzU2NvcGVzJyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25Bc3NpZ25tZW50cycsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHNGb3JQcmluY2lwYWwnLFxuICAgICAgJ0xpc3RBcHBsaWNhdGlvbkF1dGhlbnRpY2F0aW9uTWV0aG9kcycsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uR3JhbnRzJyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25JbnN0YW5jZXMnLFxuICAgICAgJ0xpc3RBcHBsaWNhdGlvblByb3ZpZGVycycsXG4gICAgICAnTGlzdEFwcGxpY2F0aW9uVGVtcGxhdGVzJyxcbiAgICAgICdMaXN0QXBwbGljYXRpb25zJyxcbiAgICAgICdMaXN0Q3VzdG9tZXJNYW5hZ2VkUG9saWN5UmVmZXJlbmNlc0luUGVybWlzc2lvblNldCcsXG4gICAgICAnTGlzdEluc3RhbmNlcycsXG4gICAgICAnTGlzdE1hbmFnZWRQb2xpY2llc0luUGVybWlzc2lvblNldCcsXG4gICAgICAnTGlzdFBlcm1pc3Npb25TZXRQcm92aXNpb25pbmdTdGF0dXMnLFxuICAgICAgJ0xpc3RQZXJtaXNzaW9uU2V0cycsXG4gICAgICAnTGlzdFBlcm1pc3Npb25TZXRzUHJvdmlzaW9uZWRUb0FjY291bnQnLFxuICAgICAgJ0xpc3RQcm9maWxlcycsXG4gICAgICAnTGlzdFRydXN0ZWRUb2tlbklzc3VlcnMnXG4gICAgXSxcbiAgICBUYWdnaW5nOiBbXG4gICAgICAnVGFnUmVzb3VyY2UnLFxuICAgICAgJ1VudGFnUmVzb3VyY2UnXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBQZXJtaXNzaW9uU2V0IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL3Blcm1pc3Npb25zZXRzY29uY2VwdC5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBpbnN0YW5jZUlkIC0gSWRlbnRpZmllciBmb3IgdGhlIGluc3RhbmNlSWQuXG4gICAqIEBwYXJhbSBwZXJtaXNzaW9uU2V0SWQgLSBJZGVudGlmaWVyIGZvciB0aGUgcGVybWlzc2lvblNldElkLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvblBlcm1pc3Npb25TZXQoaW5zdGFuY2VJZDogc3RyaW5nLCBwZXJtaXNzaW9uU2V0SWQ6IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06c3NvOjo6cGVybWlzc2lvblNldC8keyBpbnN0YW5jZUlkIH0vJHsgcGVybWlzc2lvblNldElkIH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBBY2NvdW50IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL21hbmFnZS15b3VyLWFjY291bnRzLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGFjY291bnRJZCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqL1xuICBwdWJsaWMgb25BY2NvdW50KGFjY291bnRJZD86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06c3NvOjo6YWNjb3VudC8keyBhY2NvdW50SWQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgSW5zdGFuY2UgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0luc3RhbmNlTWV0YWRhdGEuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gaW5zdGFuY2VJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBpbnN0YW5jZUlkLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvbkluc3RhbmNlKGluc3RhbmNlSWQ6IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06c3NvOjo6aW5zdGFuY2UvJHsgaW5zdGFuY2VJZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgQXBwbGljYXRpb24gdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0FwcGxpY2F0aW9uLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGluc3RhbmNlSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaW5zdGFuY2VJZC5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgYXBwbGljYXRpb25JZC5cbiAgICogQHBhcmFtIGFjY291bnRJZCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVzb3VyY2VUYWcoKVxuICAgKiAtIC5pZkFwcGxpY2F0aW9uQWNjb3VudCgpXG4gICAqL1xuICBwdWJsaWMgb25BcHBsaWNhdGlvbihpbnN0YW5jZUlkOiBzdHJpbmcsIGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgYWNjb3VudElkPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpzc286OiR7IGFjY291bnRJZCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06YXBwbGljYXRpb24vJHsgaW5zdGFuY2VJZCB9LyR7IGFwcGxpY2F0aW9uSWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIFRydXN0ZWRUb2tlbklzc3VlciB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaW5nbGVzaWdub24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVHJ1c3RlZFRva2VuSXNzdWVyTWV0YWRhdGEuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gaW5zdGFuY2VJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBpbnN0YW5jZUlkLlxuICAgKiBAcGFyYW0gdHJ1c3RlZFRva2VuSXNzdWVySWQgLSBJZGVudGlmaWVyIGZvciB0aGUgdHJ1c3RlZFRva2VuSXNzdWVySWQuXG4gICAqIEBwYXJhbSBhY2NvdW50SWQgLSBBY2NvdW50IG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBhY2NvdW50LlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvblRydXN0ZWRUb2tlbklzc3VlcihpbnN0YW5jZUlkOiBzdHJpbmcsIHRydXN0ZWRUb2tlbklzc3VlcklkOiBzdHJpbmcsIGFjY291bnRJZD86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06c3NvOjokeyBhY2NvdW50SWQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OnRydXN0ZWRUb2tlbklzc3Vlci8keyBpbnN0YW5jZUlkIH0vJHsgdHJ1c3RlZFRva2VuSXNzdWVySWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIEFwcGxpY2F0aW9uUHJvdmlkZXIgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0FwcGxpY2F0aW9uUHJvdmlkZXIuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gYXBwbGljYXRpb25Qcm92aWRlcklkIC0gSWRlbnRpZmllciBmb3IgdGhlIGFwcGxpY2F0aW9uUHJvdmlkZXJJZC5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvbkFwcGxpY2F0aW9uUHJvdmlkZXIoYXBwbGljYXRpb25Qcm92aWRlcklkOiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uID8/IHRoaXMuZGVmYXVsdFBhcnRpdGlvbiB9OnNzbzo6YXdzOmFwcGxpY2F0aW9uUHJvdmlkZXIvJHsgYXBwbGljYXRpb25Qcm92aWRlcklkIH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSB0aGUgdGFncyB0aGF0IGFyZSBwYXNzZWQgaW4gdGhlIHJlcXVlc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL3RhZ2dpbmcuaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQXBwbGljYXRpb24oKVxuICAgKiAtIC50b0NyZWF0ZUluc3RhbmNlKClcbiAgICogLSAudG9DcmVhdGVQZXJtaXNzaW9uU2V0KClcbiAgICogLSAudG9DcmVhdGVUcnVzdGVkVG9rZW5Jc3N1ZXIoKVxuICAgKiAtIC50b1RhZ1Jlc291cmNlKClcbiAgICpcbiAgICogQHBhcmFtIHRhZ0tleSBUaGUgdGFnIGtleSB0byBjaGVja1xuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkF3c1JlcXVlc3RUYWcodGFnS2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBhd3M6UmVxdWVzdFRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWdzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVzb3VyY2VcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL3RhZ2dpbmcuaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIHJlc291cmNlIHR5cGVzOlxuICAgKiAtIFBlcm1pc3Npb25TZXRcbiAgICogLSBJbnN0YW5jZVxuICAgKiAtIEFwcGxpY2F0aW9uXG4gICAqIC0gVHJ1c3RlZFRva2VuSXNzdWVyXG4gICAqXG4gICAqIEBwYXJhbSB0YWdLZXkgVGhlIHRhZyBrZXkgdG8gY2hlY2tcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBd3NSZXNvdXJjZVRhZyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpSZXNvdXJjZVRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWcga2V5cyB0aGF0IGFyZSBwYXNzZWQgaW4gdGhlIHJlcXVlc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpbmdsZXNpZ25vbi9sYXRlc3QvdXNlcmd1aWRlL3RhZ2dpbmcuaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQXBwbGljYXRpb24oKVxuICAgKiAtIC50b0NyZWF0ZUluc3RhbmNlKClcbiAgICogLSAudG9DcmVhdGVQZXJtaXNzaW9uU2V0KClcbiAgICogLSAudG9DcmVhdGVUcnVzdGVkVG9rZW5Jc3N1ZXIoKVxuICAgKiAtIC50b1RhZ1Jlc291cmNlKClcbiAgICogLSAudG9VbnRhZ1Jlc291cmNlKClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBd3NUYWdLZXlzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBhd3M6VGFnS2V5c2AsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSBhY2NvdW50IHdoaWNoIGNyZWF0ZXMgdGhlIGFwcGxpY2F0aW9uLiBUaGlzIGNvbmRpdGlvbiBrZXkgaXMgbm90IHN1cHBvcnRlZCBmb3IgY3VzdG9tZXIgbWFuYWdlZCBTQU1MIGFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2luZ2xlc2lnbm9uL2xhdGVzdC91c2VyZ3VpZGUvQVBJX0FwcGxpY2F0aW9uLmh0bWxcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUFwcGxpY2F0aW9uQXNzaWdubWVudCgpXG4gICAqIC0gLnRvRGVsZXRlQXBwbGljYXRpb24oKVxuICAgKiAtIC50b0RlbGV0ZUFwcGxpY2F0aW9uQWNjZXNzU2NvcGUoKVxuICAgKiAtIC50b0RlbGV0ZUFwcGxpY2F0aW9uQXNzaWdubWVudCgpXG4gICAqIC0gLnRvRGVsZXRlQXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCgpXG4gICAqIC0gLnRvRGVsZXRlQXBwbGljYXRpb25HcmFudCgpXG4gICAqIC0gLnRvRGVzY3JpYmVBcHBsaWNhdGlvbigpXG4gICAqIC0gLnRvRGVzY3JpYmVBcHBsaWNhdGlvbkFzc2lnbm1lbnQoKVxuICAgKiAtIC50b0dldEFwcGxpY2F0aW9uQWNjZXNzU2NvcGUoKVxuICAgKiAtIC50b0dldEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb24oKVxuICAgKiAtIC50b0dldEFwcGxpY2F0aW9uQXV0aGVudGljYXRpb25NZXRob2QoKVxuICAgKiAtIC50b0dldEFwcGxpY2F0aW9uR3JhbnQoKVxuICAgKiAtIC50b0dldEFwcGxpY2F0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24oKVxuICAgKiAtIC50b0xpc3RBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlcygpXG4gICAqIC0gLnRvTGlzdEFwcGxpY2F0aW9uQXNzaWdubWVudHMoKVxuICAgKiAtIC50b0xpc3RBcHBsaWNhdGlvbkFzc2lnbm1lbnRzRm9yUHJpbmNpcGFsKClcbiAgICogLSAudG9MaXN0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZHMoKVxuICAgKiAtIC50b0xpc3RBcHBsaWNhdGlvbkdyYW50cygpXG4gICAqIC0gLnRvUHV0QXBwbGljYXRpb25BY2Nlc3NTY29wZSgpXG4gICAqIC0gLnRvUHV0QXBwbGljYXRpb25Bc3NpZ25tZW50Q29uZmlndXJhdGlvbigpXG4gICAqIC0gLnRvUHV0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZCgpXG4gICAqIC0gLnRvUHV0QXBwbGljYXRpb25HcmFudCgpXG4gICAqIC0gLnRvUHV0QXBwbGljYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbigpXG4gICAqIC0gLnRvVXBkYXRlQXBwbGljYXRpb24oKVxuICAgKlxuICAgKiBBcHBsaWVzIHRvIHJlc291cmNlIHR5cGVzOlxuICAgKiAtIEFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQXBwbGljYXRpb25BY2NvdW50KHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBBcHBsaWNhdGlvbkFjY291bnRgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3Nzb10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzaWFtaWRlbnRpdHljZW50ZXIuaHRtbCkuXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxufVxuIl19