@jjrawlins/cdk-diff-pr-github-action 0.0.2-beta → 0.0.5-beta

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 (243) hide show
  1. package/.jsii +273 -2
  2. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +274 -3
  3. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +273 -3
  4. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +352 -3
  5. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +423 -29
  6. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +4317 -0
  7. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  8. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  9. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +4317 -0
  10. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  11. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  12. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +4070 -0
  13. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  14. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  15. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +4070 -0
  16. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  17. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  18. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +4070 -0
  19. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  20. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  21. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +3946 -0
  22. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  23. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  24. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.jsii +3917 -0
  25. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.junie/guidelines.md +62 -0
  26. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.tool-versions +3 -0
  27. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +276 -0
  28. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  29. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  30. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +8 -0
  31. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +96 -0
  32. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  33. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +144 -0
  34. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  35. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  36. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  37. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  38. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +2 -0
  39. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +19 -0
  40. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +137 -0
  41. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  42. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  43. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +276 -0
  44. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  45. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  46. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +10 -0
  47. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +96 -0
  48. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  49. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +144 -0
  50. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  51. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  52. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  53. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  54. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  55. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +122 -0
  56. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +2 -0
  57. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +19 -0
  58. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +137 -0
  59. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  60. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  61. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +298 -0
  62. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  63. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  64. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +10 -0
  65. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +101 -0
  66. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  67. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +144 -0
  68. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  69. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  70. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  71. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  72. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  73. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  74. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  75. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +122 -0
  76. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +3 -0
  77. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +20 -0
  78. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +136 -0
  79. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  80. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  81. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +396 -0
  82. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  83. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  84. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +10 -0
  85. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +101 -0
  86. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  87. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +144 -0
  88. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  89. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  90. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  91. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  92. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  93. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  94. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  95. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +122 -0
  96. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +3 -0
  97. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +20 -0
  98. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +136 -0
  99. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  100. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  101. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +396 -0
  102. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  103. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  104. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +10 -0
  105. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +101 -0
  106. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  107. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +143 -0
  108. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  109. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  110. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  111. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  112. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  113. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  114. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  115. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +122 -0
  116. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +3 -0
  117. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +20 -0
  118. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +136 -0
  119. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  120. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  121. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +396 -0
  122. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  123. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  124. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +10 -0
  125. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +101 -0
  126. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  127. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +143 -0
  128. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.d.ts +18 -0
  129. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.js +216 -0
  130. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  131. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  132. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  133. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  134. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  135. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  136. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  137. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +162 -0
  138. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +4 -0
  139. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +21 -0
  140. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +136 -0
  141. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  142. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  143. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +584 -0
  144. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +202 -0
  145. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +146 -0
  146. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +10 -0
  147. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +101 -0
  148. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +22 -0
  149. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +143 -0
  150. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.d.ts +18 -0
  151. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.js +216 -0
  152. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  153. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  154. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.d.ts +9 -0
  155. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +256 -0
  156. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.d.ts +1 -0
  157. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/describe-cfn-changeset.js +204 -0
  158. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  159. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +162 -0
  160. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +4 -0
  161. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +21 -0
  162. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +136 -0
  163. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +10 -0
  164. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -0
  165. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +344 -36
  166. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/LICENSE +3 -3
  167. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +4 -4
  168. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.d.ts +3 -1
  169. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +9 -4
  170. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +2 -2
  171. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +18 -19
  172. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.d.ts +18 -0
  173. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.js +217 -0
  174. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  175. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  176. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +3 -3
  177. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.d.ts +1 -0
  178. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +162 -0
  179. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +2 -0
  180. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +3 -1
  181. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +1 -2
  182. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +1 -1
  183. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -1
  184. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +306 -5
  185. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +4 -4
  186. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +6 -1
  187. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +2 -2
  188. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +18 -19
  189. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.d.ts +17 -0
  190. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.js +217 -0
  191. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.d.ts +10 -0
  192. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +76 -0
  193. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +3 -3
  194. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +41 -1
  195. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +2 -0
  196. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +3 -1
  197. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +1 -2
  198. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +1 -1
  199. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -1
  200. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +268 -0
  201. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +4 -4
  202. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffIamTemplate.js +2 -2
  203. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +2 -2
  204. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +18 -19
  205. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.d.ts +21 -0
  206. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.js +242 -0
  207. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftIamTemplate.js +2 -2
  208. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +3 -3
  209. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-drift-detection-script.d.ts +15 -0
  210. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-drift-detection-script.js +196 -0
  211. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +41 -1
  212. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +1 -0
  213. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +2 -1
  214. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +1 -1
  215. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +1 -1
  216. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -1
  217. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/API.md +203 -0
  218. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/README.md +4 -4
  219. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.d.ts +2 -2
  220. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDiffStackWorkflow.js +18 -19
  221. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.d.ts +21 -0
  222. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/CdkDriftDetectionWorkflow.js +242 -0
  223. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-changeset-script.js +3 -3
  224. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-drift-detection-script.d.ts +15 -0
  225. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/cdk-drift-detection-script.js +196 -0
  226. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js +41 -1
  227. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.d.ts +1 -0
  228. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/lib/index.js +2 -1
  229. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/package.json +1 -1
  230. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.lock +1 -1
  231. package/.yalc/@jjrawlins/cdk-diff-pr-github-action/yalc.sig +1 -1
  232. package/API.md +209 -6
  233. package/README.md +4 -4
  234. package/lib/CdkDriftDetectionWorkflow.d.ts +21 -0
  235. package/lib/CdkDriftDetectionWorkflow.js +242 -0
  236. package/lib/bin/cdk-changeset-script.js +3 -3
  237. package/lib/bin/cdk-drift-detection-script.d.ts +15 -0
  238. package/lib/bin/cdk-drift-detection-script.js +196 -0
  239. package/lib/bin/detect-drift.js +41 -1
  240. package/lib/index.d.ts +1 -0
  241. package/lib/index.js +2 -1
  242. package/package.json +1 -1
  243. package/yalc.lock +1 -1
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CdkDriftDetectionWorkflow = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const github_1 = require("projen/lib/github");
7
+ const workflows_model_1 = require("projen/lib/github/workflows-model");
8
+ const githubActionsAwsCredentialsVersion = 'v5';
9
+ const githubActionsCheckoutVersion = 'v5';
10
+ const githubActionsSetupNodeVersion = 'v5';
11
+ const githubActionsUploadArtifactVersion = 'v4';
12
+ const githubActionsDownloadArtifactVersion = 'v5';
13
+ const githubActionsGithubScriptVersion = 'v8';
14
+ class CdkDriftDetectionWorkflow {
15
+ constructor(props) {
16
+ const name = props.workflowName ?? 'CDK Drift Detection';
17
+ const fileName = toKebabCase(name) + '.yml';
18
+ const nodeVersion = props.nodeVersion ?? '24.x';
19
+ const createIssues = props.createIssues ?? true;
20
+ const project = props.project;
21
+ const gh = project.github ?? new github_1.GitHub(project);
22
+ const workflow = new github_1.GithubWorkflow(gh, name, { fileName });
23
+ // triggers: schedule + manual dispatch with stage choice
24
+ const stageChoices = props.stacks.map((s) => s.stackName ?? stageFromStack(s.stackName));
25
+ workflow.on({
26
+ schedule: props.schedule ? [{ cron: props.schedule }] : undefined,
27
+ workflowDispatch: {
28
+ inputs: {
29
+ stage: {
30
+ description: 'Stage to check for drift (leave empty for all)',
31
+ required: false,
32
+ type: 'choice',
33
+ options: stageChoices,
34
+ },
35
+ },
36
+ },
37
+ });
38
+ // One job per stage
39
+ const jobs = {};
40
+ for (const stack of props.stacks) {
41
+ const short = stack.stackName ?? stageFromStack(stack.stackName);
42
+ const jobId = `drift-${short}`;
43
+ const resultsFile = `drift-results-${short}.json`;
44
+ const ifCond = "${{ github.event_name == 'schedule' || github.event.inputs.stage == '' || github.event.inputs.stage == '" + short + "' }}";
45
+ jobs[jobId] = {
46
+ name: `Drift Detection - ${short}`,
47
+ runsOn: ['ubuntu-latest'],
48
+ permissions: {
49
+ contents: workflows_model_1.JobPermission.READ,
50
+ idToken: workflows_model_1.JobPermission.WRITE,
51
+ issues: workflows_model_1.JobPermission.WRITE,
52
+ },
53
+ env: {
54
+ AWS_DEFAULT_REGION: stack.driftDetectionRoleToAssumeRegion,
55
+ AWS_REGION: stack.driftDetectionRoleToAssumeRegion,
56
+ DRIFT_DETECTION_OUTPUT: resultsFile,
57
+ STAGE_NAME: short,
58
+ STACK_NAME: stack.stackName,
59
+ },
60
+ if: ifCond,
61
+ steps: [
62
+ { name: 'Checkout', uses: `actions/checkout@${githubActionsCheckoutVersion}` },
63
+ {
64
+ name: 'Setup Node.js',
65
+ uses: `actions/setup-node@${githubActionsSetupNodeVersion}`,
66
+ with: { 'node-version': nodeVersion },
67
+ },
68
+ { name: 'Install dependencies', run: 'yarn install --frozen-lockfile || npm ci' },
69
+ {
70
+ name: 'AWS Credentials',
71
+ uses: `aws-actions/configure-aws-credentials@${githubActionsAwsCredentialsVersion}`,
72
+ with: {
73
+ 'role-to-assume': stack.driftDetectionRoleToAssumeArn,
74
+ 'role-session-name': 'GitHubAction',
75
+ 'aws-region': stack.driftDetectionRoleToAssumeRegion,
76
+ },
77
+ },
78
+ {
79
+ name: 'Detect drift',
80
+ id: 'drift',
81
+ continueOnError: true, // allow artifact upload and issue creation even when drift is detected
82
+ run: [
83
+ 'set -e',
84
+ // Use the bundled script from this package
85
+ 'node ./node_modules/@jjrawlins/cdk-diff-pr-github-action/lib/bin/detect-drift.js',
86
+ 'if [ -f "$DRIFT_DETECTION_OUTPUT" ]; then echo "Results file created: $DRIFT_DETECTION_OUTPUT"; fi',
87
+ ].join('\n'),
88
+ env: {
89
+ STACK_NAME: stack.stackName,
90
+ AWS_REGION: stack.driftDetectionRoleToAssumeRegion,
91
+ DRIFT_DETECTION_OUTPUT: resultsFile,
92
+ },
93
+ },
94
+ {
95
+ name: 'Upload results',
96
+ uses: `actions/upload-artifact@${githubActionsUploadArtifactVersion}`,
97
+ with: { name: `drift-results-${short}`, path: resultsFile, ifNoFilesFound: 'ignore' },
98
+ },
99
+ ...(createIssues
100
+ ? [
101
+ {
102
+ name: 'Create Issue on Drift',
103
+ if: "always() && steps.drift.outcome == 'failure' && github.event_name == 'schedule'",
104
+ uses: `actions/github-script@${githubActionsGithubScriptVersion}`,
105
+ with: { script: issueScript(short, stack.driftDetectionRoleToAssumeRegion, resultsFile) },
106
+ },
107
+ ]
108
+ : []),
109
+ ],
110
+ };
111
+ }
112
+ // summary aggregator job
113
+ jobs['drift-summary'] = {
114
+ name: 'Drift Detection Summary',
115
+ needs: Object.keys(jobs).filter((j) => j.startsWith('drift-') && j !== 'drift-summary'),
116
+ runsOn: ['ubuntu-latest'],
117
+ permissions: { contents: workflows_model_1.JobPermission.READ },
118
+ steps: [
119
+ {
120
+ name: 'Download all artifacts',
121
+ uses: `actions/download-artifact@${githubActionsDownloadArtifactVersion}`,
122
+ with: { path: 'drift-results' },
123
+ },
124
+ { name: 'Generate summary', shell: 'bash', run: summaryScript() },
125
+ ],
126
+ };
127
+ workflow.addJobs(jobs);
128
+ }
129
+ }
130
+ exports.CdkDriftDetectionWorkflow = CdkDriftDetectionWorkflow;
131
+ _a = JSII_RTTI_SYMBOL_1;
132
+ CdkDriftDetectionWorkflow[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflow", version: "0.0.0" };
133
+ function stageFromStack(stackName) {
134
+ const parts = stackName.split('-');
135
+ return parts[parts.length - 1] || stackName;
136
+ }
137
+ function issueScript(stage, region, resultsFile) {
138
+ // Construct a plain JS script string (no template string nesting mishaps)
139
+ const lines = [
140
+ "const fs = require('fs');",
141
+ `const resultsFile = '${resultsFile}';`,
142
+ "if (!fs.existsSync(resultsFile)) { console.log('No results file found'); return; }",
143
+ "const results = JSON.parse(fs.readFileSync(resultsFile, 'utf8'));",
144
+ "const driftedStacks = results.filter(r => r.driftStatus === 'DRIFTED');",
145
+ "if (driftedStacks.length === 0) { console.log('No drift detected'); return; }",
146
+ `const title = 'Drift Detected in ${stage}';`,
147
+ `let body = '## Drift Detection Report\\n\\n' + '**Stage:** ${stage}\\n' + '**Region:** ${region}\\n' + '**Time:** ' + new Date().toISOString() + '\\n\\n';`,
148
+ "body += '### Summary\\n';",
149
+ "body += '- Total stacks checked: ' + results.length + '\\n';",
150
+ "body += '- Drifted stacks: ' + driftedStacks.length + '\\n\\n';",
151
+ "body += '### Drifted Stacks\\n';",
152
+ 'for (const s of driftedStacks) {',
153
+ ' const resources = s.driftedResources || [];',
154
+ " body += '#### ' + s.stackName + '\\n';",
155
+ " body += '- Drifted resources: ' + resources.length + '\\n';",
156
+ " for (const r of resources) { body += ' - ' + r.logicalResourceId + ' (' + r.resourceType + ')\\n'; }",
157
+ " body += '\\n';",
158
+ '}',
159
+ "body += '### Action Required\\n' + 'Please review the drifted resources and either:\\n1. Update the infrastructure code to match the actual state\\n2. Restore the resources to match the expected state\\n\\n';",
160
+ 'body += `[View workflow run](${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId})`;',
161
+ // List or update an issue with labels
162
+ `const issues = await github.rest.issues.listForRepo({ owner: context.repo.owner, repo: context.repo.repo, state: 'open', labels: ['drift-detection', '${stage}'] });`,
163
+ 'if (issues.data.length === 0) {',
164
+ ` await github.rest.issues.create({ owner: context.repo.owner, repo: context.repo.repo, title, body, labels: ['drift-detection', '${stage}'] });`,
165
+ '} else {',
166
+ ' const issue = issues.data[0];',
167
+ ' await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, body });',
168
+ '}',
169
+ ];
170
+ return lines.join('\n');
171
+ }
172
+ function summaryScript() {
173
+ return [
174
+ '#!/bin/bash',
175
+ 'set -e',
176
+ 'echo "## Drift Detection Summary" >> $GITHUB_STEP_SUMMARY',
177
+ 'echo "" >> $GITHUB_STEP_SUMMARY',
178
+ '',
179
+ 'total_stacks=0',
180
+ 'total_drifted=0',
181
+ 'total_errors=0',
182
+ '',
183
+ 'shopt -s nullglob',
184
+ 'for file in drift-results-*.json drift-results/*/drift-results-*.json; do',
185
+ ' if [[ -f "$file" ]]; then',
186
+ ' stage=$(basename "$file" | sed -E \"s/^drift-results-([^.]+)\\.json$/\\1/\")',
187
+ ' echo "### Stage: $stage" >> $GITHUB_STEP_SUMMARY',
188
+ ' jq -r \'' +
189
+ '. as $results |\n' +
190
+ '"- Total stacks: " + ($results | length | tostring) + "\\n" +\n' +
191
+ '"- Drifted: " + ([.[] | select(.driftStatus == "DRIFTED")] | length | tostring) + "\\n" +\n' +
192
+ '"- Errors: " + ([.[] | select(.error)] | length | tostring) + "\\n" +\n' +
193
+ '([.[] | select(.driftStatus == "DRIFTED")] | if length > 0 then "\\n**Drifted stacks:**\\n" + (map(" - " + .stackName + " (" + ((.driftedResources // []) | length | tostring) + " resources)") | join("\\n")) else "" end)\n' +
194
+ '\'' +
195
+ ' "$file" >> $GITHUB_STEP_SUMMARY',
196
+ ' echo "" >> $GITHUB_STEP_SUMMARY',
197
+ ' total_stacks=$((total_stacks + $(jq \"length\" \"$file\")))',
198
+ ' total_drifted=$((total_drifted + $(jq \"[.[] | select(.driftStatus == \\\"DRIFTED\\\")] | length\" \"$file\")))',
199
+ ' total_errors=$((total_errors + $(jq \"[.[] | select(.error)] | length\" \"$file\")))',
200
+ ' fi',
201
+ 'done',
202
+ '',
203
+ 'echo "### Overall Summary" >> $GITHUB_STEP_SUMMARY',
204
+ 'echo "- Total stacks checked: $total_stacks" >> $GITHUB_STEP_SUMMARY',
205
+ 'echo "- Total drifted stacks: $total_drifted" >> $GITHUB_STEP_SUMMARY',
206
+ 'echo "- Total errors: $total_errors" >> $GITHUB_STEP_SUMMARY',
207
+ '',
208
+ 'if [[ $total_drifted -gt 0 ]]; then',
209
+ ' echo "" >> $GITHUB_STEP_SUMMARY',
210
+ ' echo "⚠️ **Action required:** Drift detected in $total_drifted stacks" >> $GITHUB_STEP_SUMMARY',
211
+ 'fi',
212
+ ].join('\n');
213
+ }
214
+ function toKebabCase(s) {
215
+ return s.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '').toLowerCase();
216
+ }
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRHJpZnREZXRlY3Rpb25Xb3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9DZGtEcmlmdERldGVjdGlvbldvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQTJEO0FBQzNELHVFQUFrRTtBQUVsRSxNQUFNLGtDQUFrQyxHQUFHLElBQUksQ0FBQztBQUNoRCxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQztBQUMxQyxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FBQztBQUMzQyxNQUFNLGtDQUFrQyxHQUFHLElBQUksQ0FBQztBQUNoRCxNQUFNLG9DQUFvQyxHQUFHLElBQUksQ0FBQztBQUNsRCxNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQztBQWtCOUMsTUFBYSx5QkFBeUI7SUFDcEMsWUFBWSxLQUFxQztRQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLHFCQUFxQixDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDNUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU5QixNQUFNLEVBQUUsR0FBSSxPQUFlLENBQUMsTUFBTSxJQUFJLElBQUksZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1RCx5REFBeUQ7UUFDekQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENB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SUFDcEIsT0FBTztRQUNMLGFBQWE7UUFDYixRQUFRO1FBQ1IsMkRBQTJEO1FBQzNELGlDQUFpQztRQUNqQyxFQUFFO1FBQ0YsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsRUFBRTtRQUNGLG1CQUFtQjtRQUNuQiwyRUFBMkU7UUFDM0UsNkJBQTZCO1FBQzdCLGtGQUFrRjtRQUNsRixzREFBc0Q7UUFDdEQsY0FBYztZQUNaLG1CQUFtQjtZQUNuQixpRUFBaUU7WUFDakUsNkZBQTZGO1lBQzdGLHlFQUF5RTtZQUN6RSxnT0FBZ087WUFDbE8sSUFBSTtZQUNKLGtDQUFrQztRQUNsQyxxQ0FBcUM7UUFDckMsaUVBQWlFO1FBQ2pFLHFIQUFxSDtRQUNySCwwRkFBMEY7UUFDMUYsTUFBTTtRQUNOLE1BQU07UUFDTixFQUFFO1FBQ0Ysb0RBQW9EO1FBQ3BELHNFQUFzRTtRQUN0RSx1RUFBdUU7UUFDdkUsOERBQThEO1FBQzlELEVBQUU7UUFDRixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLGtHQUFrRztRQUNsRyxJQUFJO0tBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsQ0FBUztJQUM1QixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0SHViLCBHaXRodWJXb3JrZmxvdyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuXG5jb25zdCBnaXRodWJBY3Rpb25zQXdzQ3JlZGVudGlhbHNWZXJzaW9uID0gJ3Y1JztcbmNvbnN0IGdpdGh1YkFjdGlvbnNDaGVja291dFZlcnNpb24gPSAndjUnO1xuY29uc3QgZ2l0aHViQWN0aW9uc1NldHVwTm9kZVZlcnNpb24gPSAndjUnO1xuY29uc3QgZ2l0aHViQWN0aW9uc1VwbG9hZEFydGlmYWN0VmVyc2lvbiA9ICd2NCc7XG5jb25zdCBnaXRodWJBY3Rpb25zRG93bmxvYWRBcnRpZmFjdFZlcnNpb24gPSAndjUnO1xuY29uc3QgZ2l0aHViQWN0aW9uc0dpdGh1YlNjcmlwdFZlcnNpb24gPSAndjgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrIHtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRyaWZ0RGV0ZWN0aW9uUm9sZVRvQXNzdW1lUmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRyaWZ0RGV0ZWN0aW9uUm9sZVRvQXNzdW1lQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZhaWxPbkRyaWZ0PzogYm9vbGVhbjsgLy8gaWYgdHJ1ZSwgZmFpbCBqb2Igd2hlbiBkcmlmdCBkZXRlY3RlZCAoZGVmYXVsdCB0cnVlKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka0RyaWZ0RGV0ZWN0aW9uV29ya2Zsb3dQcm9wcyB7XG4gIHJlYWRvbmx5IHByb2plY3Q6IGFueTsgLy8gYXZvaWQgZXhwb3J0aW5nIHByb2plbiB0eXBlcyBpbiBwdWJsaWMgQVBJXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZT86IHN0cmluZzsgLy8gd29ya2Zsb3cgd29ya2Zsb3dOYW1lIChhbHNvIHVzZWQgdG8gZGVyaXZlIGZpbGUgd29ya2Zsb3dOYW1lKVxuICByZWFkb25seSBzY2hlZHVsZT86IHN0cmluZzsgLy8gY3JvbiBleHByZXNzaW9uLCBlLmcuICcwIDAgKiAqIConXG4gIHJlYWRvbmx5IGNyZWF0ZUlzc3Vlcz86IGJvb2xlYW47IC8vIGNyZWF0ZS91cGRhdGUgaXNzdWUgd2hlbiBkcmlmdCBkZXRlY3RlZCBvbiBzY2hlZHVsZSAoZGVmYXVsdCB0cnVlKVxuICByZWFkb25seSBzdGFja3M6IFN0YWNrW107XG4gIHJlYWRvbmx5IG5vZGVWZXJzaW9uPzogc3RyaW5nOyAvLyBlLmcuLCAnMjQueCdcbn1cblxuZXhwb3J0IGNsYXNzIENka0RyaWZ0RGV0ZWN0aW9uV29ya2Zsb3cge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogQ2RrRHJpZnREZXRlY3Rpb25Xb3JrZmxvd1Byb3BzKSB7XG4gICAgY29uc3QgbmFtZSA9IHByb3BzLndvcmtmbG93TmFtZSA/PyAnQ0RLIERyaWZ0IERldGVjdGlvbic7XG4gICAgY29uc3QgZmlsZU5hbWUgPSB0b0tlYmFiQ2FzZShuYW1lKSArICcueW1sJztcbiAgICBjb25zdCBub2RlVmVyc2lvbiA9IHByb3BzLm5vZGVWZXJzaW9uID8/ICcyNC54JztcbiAgICBjb25zdCBjcmVhdGVJc3N1ZXMgPSBwcm9wcy5jcmVhdGVJc3N1ZXMgPz8gdHJ1ZTtcbiAgICBjb25zdCBwcm9qZWN0ID0gcHJvcHMucHJvamVjdDtcblxuICAgIGNvbnN0IGdoID0gKHByb2plY3QgYXMgYW55KS5naXRodWIgPz8gbmV3IEdpdEh1Yihwcm9qZWN0KTtcbiAgICBjb25zdCB3b3JrZmxvdyA9IG5ldyBHaXRodWJXb3JrZmxvdyhnaCwgbmFtZSwgeyBmaWxlTmFtZSB9KTtcblxuICAgIC8vIHRyaWdnZXJzOiBzY2hlZHVsZSArIG1hbnVhbCBkaXNwYXRjaCB3aXRoIHN0YWdlIGNob2ljZVxuICAgIGNvbnN0IHN0YWdlQ2hvaWNlcyA9IHByb3BzLnN0YWNrcy5tYXAoKHMpID0+IHMuc3RhY2tOYW1lID8/IHN0YWdlRnJvbVN0YWNrKHMuc3RhY2tOYW1lKSk7XG4gICAgd29ya2Zsb3cub24oe1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnNjaGVkdWxlID8gW3sgY3JvbjogcHJvcHMuc2NoZWR1bGUgfV0gOiB1bmRlZmluZWQsXG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7XG4gICAgICAgIGlucHV0czoge1xuICAgICAgICAgIHN0YWdlOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1N0YWdlIHRvIGNoZWNrIGZvciBkcmlmdCAobGVhdmUgZW1wdHkgZm9yIGFsbCknLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgdHlwZTogJ2Nob2ljZScsXG4gICAgICAgICAgICBvcHRpb25zOiBzdGFnZUNob2ljZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBPbmUgam9iIHBlciBzdGFnZVxuICAgIGNvbnN0IGpvYnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHN0YWNrIG9mIHByb3BzLnN0YWNrcykge1xuICAgICAgY29uc3Qgc2hvcnQgPSBzdGFjay5zdGFja05hbWUgPz8gc3RhZ2VGcm9tU3RhY2soc3RhY2suc3RhY2tOYW1lKTtcbiAgICAgIGNvbnN0IGpvYklkID0gYGRyaWZ0LSR7c2hvcnR9YDtcbiAgICAgIGNvbnN0IHJlc3VsdHNGaWxlID0gYGRyaWZ0LXJlc3VsdHMtJHtzaG9ydH0uanNvbmA7XG4gICAgICBjb25zdCBpZkNvbmQgPSBcIiR7eyBnaXRodWIuZXZlbnRfbmFtZSA9PSAnc2NoZWR1bGUnIHx8IGdpdGh1Yi5ldmVudC5pbnB1dHMuc3RhZ2UgPT0gJycgfHwgZ2l0aHViLmV2ZW50LmlucHV0cy5zdGFnZSA9PSAnXCIgKyBzaG9ydCArIFwiJyB9fVwiO1xuXG4gICAgICBqb2JzW2pvYklkXSA9IHtcbiAgICAgICAgbmFtZTogYERyaWZ0IERldGVjdGlvbiAtICR7c2hvcnR9YCxcbiAgICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgaXNzdWVzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICB9LFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICBBV1NfREVGQVVMVF9SRUdJT046IHN0YWNrLmRyaWZ0RGV0ZWN0aW9uUm9sZVRvQXNzdW1lUmVnaW9uLFxuICAgICAgICAgIEFXU19SRUdJT046IHN0YWNrLmRyaWZ0RGV0ZWN0aW9uUm9sZVRvQXNzdW1lUmVnaW9uLFxuICAgICAgICAgIERSSUZUX0RFVEVDVElPTl9PVVRQVVQ6IHJlc3VsdHNGaWxlLFxuICAgICAgICAgIFNUQUdFX05BTUU6IHNob3J0LFxuICAgICAgICAgIFNUQUNLX05BTUU6IHN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgaWY6IGlmQ29uZCxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7IG5hbWU6ICdDaGVja291dCcsIHVzZXM6IGBhY3Rpb25zL2NoZWNrb3V0QCR7Z2l0aHViQWN0aW9uc0NoZWNrb3V0VmVyc2lvbn1gIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgICAgdXNlczogYGFjdGlvbnMvc2V0dXAtbm9kZUAke2dpdGh1YkFjdGlvbnNTZXR1cE5vZGVWZXJzaW9ufWAsXG4gICAgICAgICAgICB3aXRoOiB7ICdub2RlLXZlcnNpb24nOiBub2RlVmVyc2lvbiB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLCBydW46ICd5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgfHwgbnBtIGNpJyB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdBV1MgQ3JlZGVudGlhbHMnLFxuICAgICAgICAgICAgdXNlczogYGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAJHtnaXRodWJBY3Rpb25zQXdzQ3JlZGVudGlhbHNWZXJzaW9ufWAsXG4gICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IHN0YWNrLmRyaWZ0RGV0ZWN0aW9uUm9sZVRvQXNzdW1lQXJuLFxuICAgICAgICAgICAgICAncm9sZS1zZXNzaW9uLW5hbWUnOiAnR2l0SHViQWN0aW9uJyxcbiAgICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiBzdGFjay5kcmlmdERldGVjdGlvblJvbGVUb0Fzc3VtZVJlZ2lvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnRGV0ZWN0IGRyaWZ0JyxcbiAgICAgICAgICAgIGlkOiAnZHJpZnQnLFxuICAgICAgICAgICAgY29udGludWVPbkVycm9yOiB0cnVlLCAvLyBhbGxvdyBhcnRpZmFjdCB1cGxvYWQgYW5kIGlzc3VlIGNyZWF0aW9uIGV2ZW4gd2hlbiBkcmlmdCBpcyBkZXRlY3RlZFxuICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICdzZXQgLWUnLFxuICAgICAgICAgICAgICAvLyBVc2UgdGhlIGJ1bmRsZWQgc2NyaXB0IGZyb20gdGhpcyBwYWNrYWdlXG4gICAgICAgICAgICAgICdub2RlIC4vbm9kZV9tb2R1bGVzL0BqanJhd2xpbnMvY2RrLWRpZmYtcHItZ2l0aHViLWFjdGlvbi9saWIvYmluL2RldGVjdC1kcmlmdC5qcycsXG4gICAgICAgICAgICAgICdpZiBbIC1mIFwiJERSSUZUX0RFVEVDVElPTl9PVVRQVVRcIiBdOyB0aGVuIGVjaG8gXCJSZXN1bHRzIGZpbGUgY3JlYXRlZDogJERSSUZUX0RFVEVDVElPTl9PVVRQVVRcIjsgZmknLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgICBTVEFDS19OQU1FOiBzdGFjay5zdGFja05hbWUsXG4gICAgICAgICAgICAgIEFXU19SRUdJT046IHN0YWNrLmRyaWZ0RGV0ZWN0aW9uUm9sZVRvQXNzdW1lUmVnaW9uLFxuICAgICAgICAgICAgICBEUklGVF9ERVRFQ1RJT05fT1VUUFVUOiByZXN1bHRzRmlsZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnVXBsb2FkIHJlc3VsdHMnLFxuICAgICAgICAgICAgdXNlczogYGFjdGlvbnMvdXBsb2FkLWFydGlmYWN0QCR7Z2l0aHViQWN0aW9uc1VwbG9hZEFydGlmYWN0VmVyc2lvbn1gLFxuICAgICAgICAgICAgd2l0aDogeyBuYW1lOiBgZHJpZnQtcmVzdWx0cy0ke3Nob3J0fWAsIHBhdGg6IHJlc3VsdHNGaWxlLCBpZk5vRmlsZXNGb3VuZDogJ2lnbm9yZScgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLihcbiAgICAgICAgICAgIGNyZWF0ZUlzc3Vlc1xuICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnQ3JlYXRlIElzc3VlIG9uIERyaWZ0JyxcbiAgICAgICAgICAgICAgICAgIGlmOiBcImFsd2F5cygpICYmIHN0ZXBzLmRyaWZ0Lm91dGNvbWUgPT0gJ2ZhaWx1cmUnICYmIGdpdGh1Yi5ldmVudF9uYW1lID09ICdzY2hlZHVsZSdcIixcbiAgICAgICAgICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL2dpdGh1Yi1zY3JpcHRAJHtnaXRodWJBY3Rpb25zR2l0aHViU2NyaXB0VmVyc2lvbn1gLFxuICAgICAgICAgICAgICAgICAgd2l0aDogeyBzY3JpcHQ6IGlzc3VlU2NyaXB0KHNob3J0LCBzdGFjay5kcmlmdERldGVjdGlvblJvbGVUb0Fzc3VtZVJlZ2lvbiwgcmVzdWx0c0ZpbGUpIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gc3VtbWFyeSBhZ2dyZWdhdG9yIGpvYlxuICAgIGpvYnNbJ2RyaWZ0LXN1bW1hcnknXSA9IHtcbiAgICAgIG5hbWU6ICdEcmlmdCBEZXRlY3Rpb24gU3VtbWFyeScsXG4gICAgICBuZWVkczogT2JqZWN0LmtleXMoam9icykuZmlsdGVyKChqKSA9PiBqLnN0YXJ0c1dpdGgoJ2RyaWZ0LScpICYmIGogIT09ICdkcmlmdC1zdW1tYXJ5JyksXG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgcGVybWlzc2lvbnM6IHsgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCB9LFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdEb3dubG9hZCBhbGwgYXJ0aWZhY3RzJyxcbiAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEAke2dpdGh1YkFjdGlvbnNEb3dubG9hZEFydGlmYWN0VmVyc2lvbn1gLFxuICAgICAgICAgIHdpdGg6IHsgcGF0aDogJ2RyaWZ0LXJlc3VsdHMnIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgbmFtZTogJ0dlbmVyYXRlIHN1bW1hcnknLCBzaGVsbDogJ2Jhc2gnLCBydW46IHN1bW1hcnlTY3JpcHQoKSB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgd29ya2Zsb3cuYWRkSm9icyhqb2JzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFnZUZyb21TdGFjayhzdGFja05hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzID0gc3RhY2tOYW1lLnNwbGl0KCctJyk7XG4gIHJldHVybiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSB8fCBzdGFja05hbWU7XG59XG5cbmZ1bmN0aW9uIGlzc3VlU2NyaXB0KHN0YWdlOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCByZXN1bHRzRmlsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gQ29uc3RydWN0IGEgcGxhaW4gSlMgc2NyaXB0IHN0cmluZyAobm8gdGVtcGxhdGUgc3RyaW5nIG5lc3RpbmcgbWlzaGFwcylcbiAgY29uc3QgbGluZXMgPSBbXG4gICAgXCJjb25zdCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XCIsXG4gICAgYGNvbnN0IHJlc3VsdHNGaWxlID0gJyR7cmVzdWx0c0ZpbGV9JztgLFxuICAgIFwiaWYgKCFmcy5leGlzdHNTeW5jKHJlc3VsdHNGaWxlKSkgeyBjb25zb2xlLmxvZygnTm8gcmVzdWx0cyBmaWxlIGZvdW5kJyk7IHJldHVybjsgfVwiLFxuICAgIFwiY29uc3QgcmVzdWx0cyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHJlc3VsdHNGaWxlLCAndXRmOCcpKTtcIixcbiAgICBcImNvbnN0IGRyaWZ0ZWRTdGFja3MgPSByZXN1bHRzLmZpbHRlcihyID0+IHIuZHJpZnRTdGF0dXMgPT09ICdEUklGVEVEJyk7XCIsXG4gICAgXCJpZiAoZHJpZnRlZFN0YWNrcy5sZW5ndGggPT09IDApIHsgY29uc29sZS5sb2coJ05vIGRyaWZ0IGRldGVjdGVkJyk7IHJldHVybjsgfVwiLFxuICAgIGBjb25zdCB0aXRsZSA9ICdEcmlmdCBEZXRlY3RlZCBpbiAke3N0YWdlfSc7YCxcbiAgICBgbGV0IGJvZHkgPSAnIyMgRHJpZnQgRGV0ZWN0aW9uIFJlcG9ydFxcXFxuXFxcXG4nICsgJyoqU3RhZ2U6KiogJHtzdGFnZX1cXFxcbicgKyAnKipSZWdpb246KiogJHtyZWdpb259XFxcXG4nICsgJyoqVGltZToqKiAnICsgbmV3IERhdGUoKS50b0lTT1N0cmluZygpICsgJ1xcXFxuXFxcXG4nO2AsXG4gICAgXCJib2R5ICs9ICcjIyMgU3VtbWFyeVxcXFxuJztcIixcbiAgICBcImJvZHkgKz0gJy0gVG90YWwgc3RhY2tzIGNoZWNrZWQ6ICcgKyByZXN1bHRzLmxlbmd0aCArICdcXFxcbic7XCIsXG4gICAgXCJib2R5ICs9ICctIERyaWZ0ZWQgc3RhY2tzOiAnICsgZHJpZnRlZFN0YWNrcy5sZW5ndGggKyAnXFxcXG5cXFxcbic7XCIsXG4gICAgXCJib2R5ICs9ICcjIyMgRHJpZnRlZCBTdGFja3NcXFxcbic7XCIsXG4gICAgJ2ZvciAoY29uc3QgcyBvZiBkcmlmdGVkU3RhY2tzKSB7JyxcbiAgICAnICBjb25zdCByZXNvdXJjZXMgPSBzLmRyaWZ0ZWRSZXNvdXJjZXMgfHwgW107JyxcbiAgICBcIiAgYm9keSArPSAnIyMjIyAnICsgcy5zdGFja05hbWUgKyAnXFxcXG4nO1wiLFxuICAgIFwiICBib2R5ICs9ICctIERyaWZ0ZWQgcmVzb3VyY2VzOiAnICsgcmVzb3VyY2VzLmxlbmd0aCArICdcXFxcbic7XCIsXG4gICAgXCIgIGZvciAoY29uc3QgciBvZiByZXNvdXJjZXMpIHsgYm9keSArPSAnICAtICcgKyByLmxvZ2ljYWxSZXNvdXJjZUlkICsgJyAoJyArIHIucmVzb3VyY2VUeXBlICsgJylcXFxcbic7IH1cIixcbiAgICBcIiAgYm9keSArPSAnXFxcXG4nO1wiLFxuICAgICd9JyxcbiAgICBcImJvZHkgKz0gJyMjIyBBY3Rpb24gUmVxdWlyZWRcXFxcbicgKyAnUGxlYXNlIHJldmlldyB0aGUgZHJpZnRlZCByZXNvdXJjZXMgYW5kIGVpdGhlcjpcXFxcbjEuIFVwZGF0ZSB0aGUgaW5mcmFzdHJ1Y3R1cmUgY29kZSB0byBtYXRjaCB0aGUgYWN0dWFsIHN0YXRlXFxcXG4yLiBSZXN0b3JlIHRoZSByZXNvdXJjZXMgdG8gbWF0Y2ggdGhlIGV4cGVjdGVkIHN0YXRlXFxcXG5cXFxcbic7XCIsXG4gICAgJ2JvZHkgKz0gYFtWaWV3IHdvcmtmbG93IHJ1bl0oJHtjb250ZXh0LnNlcnZlclVybH0vJHtjb250ZXh0LnJlcG8ub3duZXJ9LyR7Y29udGV4dC5yZXBvLnJlcG99L2FjdGlvbnMvcnVucy8ke2NvbnRleHQucnVuSWR9KWA7JyxcbiAgICAvLyBMaXN0IG9yIHVwZGF0ZSBhbiBpc3N1ZSB3aXRoIGxhYmVsc1xuICAgIGBjb25zdCBpc3N1ZXMgPSBhd2FpdCBnaXRodWIucmVzdC5pc3N1ZXMubGlzdEZvclJlcG8oeyBvd25lcjogY29udGV4dC5yZXBvLm93bmVyLCByZXBvOiBjb250ZXh0LnJlcG8ucmVwbywgc3RhdGU6ICdvcGVuJywgbGFiZWxzOiBbJ2RyaWZ0LWRldGVjdGlvbicsICcke3N0YWdlfSddIH0pO2AsXG4gICAgJ2lmIChpc3N1ZXMuZGF0YS5sZW5ndGggPT09IDApIHsnLFxuICAgIGAgIGF3YWl0IGdpdGh1Yi5yZXN0Lmlzc3Vlcy5jcmVhdGUoeyBvd25lcjogY29udGV4dC5yZXBvLm93bmVyLCByZXBvOiBjb250ZXh0LnJlcG8ucmVwbywgdGl0bGUsIGJvZHksIGxhYmVsczogWydkcmlmdC1kZXRlY3Rpb24nLCAnJHtzdGFnZX0nXSB9KTtgLFxuICAgICd9IGVsc2UgeycsXG4gICAgJyAgY29uc3QgaXNzdWUgPSBpc3N1ZXMuZGF0YVswXTsnLFxuICAgICcgIGF3YWl0IGdpdGh1Yi5yZXN0Lmlzc3Vlcy5jcmVhdGVDb21tZW50KHsgb3duZXI6IGNvbnRleHQucmVwby5vd25lciwgcmVwbzogY29udGV4dC5yZXBvLnJlcG8sIGlzc3VlX251bWJlcjogaXNzdWUubnVtYmVyLCBib2R5IH0pOycsXG4gICAgJ30nLFxuICBdO1xuICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG59XG5cbmZ1bmN0aW9uIHN1bW1hcnlTY3JpcHQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIFtcbiAgICAnIyEvYmluL2Jhc2gnLFxuICAgICdzZXQgLWUnLFxuICAgICdlY2hvIFwiIyMgRHJpZnQgRGV0ZWN0aW9uIFN1bW1hcnlcIiA+PiAkR0lUSFVCX1NURVBfU1VNTUFSWScsXG4gICAgJ2VjaG8gXCJcIiA+PiAkR0lUSFVCX1NURVBfU1VNTUFSWScsXG4gICAgJycsXG4gICAgJ3RvdGFsX3N0YWNrcz0wJyxcbiAgICAndG90YWxfZHJpZnRlZD0wJyxcbiAgICAndG90YWxfZXJyb3JzPTAnLFxuICAgICcnLFxuICAgICdzaG9wdCAtcyBudWxsZ2xvYicsXG4gICAgJ2ZvciBmaWxlIGluIGRyaWZ0LXJlc3VsdHMtKi5qc29uIGRyaWZ0LXJlc3VsdHMvKi9kcmlmdC1yZXN1bHRzLSouanNvbjsgZG8nLFxuICAgICcgIGlmIFtbIC1mIFwiJGZpbGVcIiBdXTsgdGhlbicsXG4gICAgJyAgICBzdGFnZT0kKGJhc2VuYW1lIFwiJGZpbGVcIiB8IHNlZCAtRSBcXFwicy9eZHJpZnQtcmVzdWx0cy0oW14uXSspXFxcXC5qc29uJC9cXFxcMS9cXFwiKScsXG4gICAgJyAgICBlY2hvIFwiIyMjIFN0YWdlOiAkc3RhZ2VcIiA+PiAkR0lUSFVCX1NURVBfU1VNTUFSWScsXG4gICAgJyAgICBqcSAtciBcXCcnICtcbiAgICAgICcuIGFzICRyZXN1bHRzIHxcXG4nICtcbiAgICAgICdcIi0gVG90YWwgc3RhY2tzOiBcIiArICgkcmVzdWx0cyB8IGxlbmd0aCB8IHRvc3RyaW5nKSArIFwiXFxcXG5cIiArXFxuJyArXG4gICAgICAnXCItIERyaWZ0ZWQ6IFwiICsgKFsuW10gfCBzZWxlY3QoLmRyaWZ0U3RhdHVzID09IFwiRFJJRlRFRFwiKV0gfCBsZW5ndGggfCB0b3N0cmluZykgKyBcIlxcXFxuXCIgK1xcbicgK1xuICAgICAgJ1wiLSBFcnJvcnM6IFwiICsgKFsuW10gfCBzZWxlY3QoLmVycm9yKV0gfCBsZW5ndGggfCB0b3N0cmluZykgKyBcIlxcXFxuXCIgK1xcbicgK1xuICAgICAgJyhbLltdIHwgc2VsZWN0KC5kcmlmdFN0YXR1cyA9PSBcIkRSSUZURURcIildIHwgaWYgbGVuZ3RoID4gMCB0aGVuIFwiXFxcXG4qKkRyaWZ0ZWQgc3RhY2tzOioqXFxcXG5cIiArIChtYXAoXCIgIC0gXCIgKyAuc3RhY2tOYW1lICsgXCIgKFwiICsgKCguZHJpZnRlZFJlc291cmNlcyAvLyBbXSkgfCBsZW5ndGggfCB0b3N0cmluZykgKyBcIiByZXNvdXJjZXMpXCIpIHwgam9pbihcIlxcXFxuXCIpKSBlbHNlIFwiXCIgZW5kKVxcbicgK1xuICAgICdcXCcnICtcbiAgICAnIFwiJGZpbGVcIiA+PiAkR0lUSFVCX1NURVBfU1VNTUFSWScsXG4gICAgJyAgICBlY2hvIFwiXCIgPj4gJEdJVEhVQl9TVEVQX1NVTU1BUlknLFxuICAgICcgICAgdG90YWxfc3RhY2tzPSQoKHRvdGFsX3N0YWNrcyArICQoanEgXFxcImxlbmd0aFxcXCIgXFxcIiRmaWxlXFxcIikpKScsXG4gICAgJyAgICB0b3RhbF9kcmlmdGVkPSQoKHRvdGFsX2RyaWZ0ZWQgKyAkKGpxIFxcXCJbLltdIHwgc2VsZWN0KC5kcmlmdFN0YXR1cyA9PSBcXFxcXFxcIkRSSUZURURcXFxcXFxcIildIHwgbGVuZ3RoXFxcIiBcXFwiJGZpbGVcXFwiKSkpJyxcbiAgICAnICAgIHRvdGFsX2Vycm9ycz0kKCh0b3RhbF9lcnJvcnMgKyAkKGpxIFxcXCJbLltdIHwgc2VsZWN0KC5lcnJvcildIHwgbGVuZ3RoXFxcIiBcXFwiJGZpbGVcXFwiKSkpJyxcbiAgICAnICBmaScsXG4gICAgJ2RvbmUnLFxuICAgICcnLFxuICAgICdlY2hvIFwiIyMjIE92ZXJhbGwgU3VtbWFyeVwiID4+ICRHSVRIVUJfU1RFUF9TVU1NQVJZJyxcbiAgICAnZWNobyBcIi0gVG90YWwgc3RhY2tzIGNoZWNrZWQ6ICR0b3RhbF9zdGFja3NcIiA+PiAkR0lUSFVCX1NURVBfU1VNTUFSWScsXG4gICAgJ2VjaG8gXCItIFRvdGFsIGRyaWZ0ZWQgc3RhY2tzOiAkdG90YWxfZHJpZnRlZFwiID4+ICRHSVRIVUJfU1RFUF9TVU1NQVJZJyxcbiAgICAnZWNobyBcIi0gVG90YWwgZXJyb3JzOiAkdG90YWxfZXJyb3JzXCIgPj4gJEdJVEhVQl9TVEVQX1NVTU1BUlknLFxuICAgICcnLFxuICAgICdpZiBbWyAkdG90YWxfZHJpZnRlZCAtZ3QgMCBdXTsgdGhlbicsXG4gICAgJyAgZWNobyBcIlwiID4+ICRHSVRIVUJfU1RFUF9TVU1NQVJZJyxcbiAgICAnICBlY2hvIFwi4pqg77iPICoqQWN0aW9uIHJlcXVpcmVkOioqIERyaWZ0IGRldGVjdGVkIGluICR0b3RhbF9kcmlmdGVkIHN0YWNrc1wiID4+ICRHSVRIVUJfU1RFUF9TVU1NQVJZJyxcbiAgICAnZmknLFxuICBdLmpvaW4oJ1xcbicpO1xufVxuXG5mdW5jdGlvbiB0b0tlYmFiQ2FzZShzOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcy5yZXBsYWNlKC9bXmEtekEtWjAtOV0rL2csICctJykucmVwbGFjZSgvXi0rfC0rJC9nLCAnJykudG9Mb3dlckNhc2UoKTtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export interface CdkDriftIamTemplateProps {
2
+ readonly project: any;
3
+ readonly roleName: string;
4
+ readonly outputPath?: string;
5
+ readonly oidcRoleArn: string;
6
+ readonly oidcRegion: string;
7
+ }
8
+ export declare class CdkDriftIamTemplate {
9
+ constructor(props: CdkDriftIamTemplateProps);
10
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CdkDriftIamTemplate = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const projen_1 = require("projen");
7
+ class CdkDriftIamTemplate {
8
+ constructor(props) {
9
+ const outputPath = props.outputPath ?? 'cdk-drift-workflow-iam-template.yaml';
10
+ props.project.addTask('deploy-cdkdrift-iam-template', {
11
+ description: 'Deploy the CDK Drift Detection IAM template via CloudFormation (accepts extra AWS CLI args, e.g., --parameter-overrides Key=Value...)',
12
+ receiveArgs: true,
13
+ exec: `aws cloudformation deploy --template-file ${outputPath} --stack-name cdk-drift-workflow-iam-role --capabilities CAPABILITY_NAMED_IAM`,
14
+ });
15
+ new projen_1.TextFile(props.project, outputPath, {
16
+ lines: [
17
+ "AWSTemplateFormatVersion: '2010-09-09'",
18
+ "Description: 'IAM role for CDK Drift Detection Workflow'",
19
+ '',
20
+ 'Parameters:',
21
+ ' GitHubOIDCRoleArn:',
22
+ ' Type: String',
23
+ " Description: 'ARN of the existing GitHub OIDC role that can assume this drift role'",
24
+ ` Default: '${props.oidcRoleArn}'`,
25
+ '',
26
+ 'Resources:',
27
+ ' # CloudFormation Drift Detection Role - minimal permissions for drift detection operations',
28
+ ' CdkDriftRole:',
29
+ ' Type: AWS::IAM::Role',
30
+ ' Properties:',
31
+ " RoleName: '" + props.roleName + "'",
32
+ ' AssumeRolePolicyDocument:',
33
+ " Version: '2012-10-17'",
34
+ ' Statement:',
35
+ ' - Effect: Allow',
36
+ ' Principal:',
37
+ ' AWS: !Ref GitHubOIDCRoleArn',
38
+ ' Action: sts:AssumeRole',
39
+ ' Condition:',
40
+ ' StringEquals:',
41
+ " aws:RequestedRegion: '" + props.oidcRegion + "'",
42
+ ' Policies:',
43
+ ' - PolicyName: CloudFormationDriftAccess',
44
+ ' PolicyDocument:',
45
+ " Version: '2012-10-17'",
46
+ ' Statement:',
47
+ ' # CloudFormation drift detection operations',
48
+ ' - Effect: Allow',
49
+ ' Action:',
50
+ ' - cloudformation:DetectStackDrift',
51
+ ' - cloudformation:DescribeStackDriftDetectionStatus',
52
+ ' - cloudformation:DescribeStackResourceDrifts',
53
+ ' - cloudformation:DescribeStacks',
54
+ ' - cloudformation:ListStackResources',
55
+ " Resource: '*'",
56
+ '',
57
+ 'Outputs:',
58
+ ' CdkDriftRoleArn:',
59
+ " Description: 'ARN of the CDK drift detection role'",
60
+ ' Value: !GetAtt CdkDriftRole.Arn',
61
+ ' Export:',
62
+ " Name: !Sub '${AWS::StackName}-CdkDriftRoleArn'",
63
+ '',
64
+ ' CdkDriftRoleName:',
65
+ " Description: 'Name of the CDK drift detection role'",
66
+ ' Value: !Ref CdkDriftRole',
67
+ ' Export:',
68
+ " Name: !Sub '${AWS::StackName}-CdkDriftRoleName'",
69
+ ],
70
+ });
71
+ }
72
+ }
73
+ exports.CdkDriftIamTemplate = CdkDriftIamTemplate;
74
+ _a = JSII_RTTI_SYMBOL_1;
75
+ CdkDriftIamTemplate[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplate", version: "0.0.0" };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRHJpZnRJYW1UZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9DZGtEcmlmdElhbVRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWtDO0FBVWxDLE1BQWEsbUJBQW1CO0lBQzlCLFlBQVksS0FBK0I7UUFDekMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxzQ0FBc0MsQ0FBQztRQUU5RSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRTtZQUNwRCxXQUFXLEVBQ1QsdUlBQXVJO1lBQ3pJLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLElBQUksRUFDRiw2Q0FBNkMsVUFBVSwrRUFBK0U7U0FDekksQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQkFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFO1lBQ3RDLEtBQUssRUFBRTtnQkFDTCx3Q0FBd0M7Z0JBQ3hDLDBEQUEwRDtnQkFDMUQsRUFBRTtnQkFDRixhQUFhO2dCQUNiLHNCQUFzQjtnQkFDdEIsa0JBQWtCO2dCQUNsQix5RkFBeUY7Z0JBQ3pGLGlCQUFpQixLQUFLLENBQUMsV0FBVyxHQUFHO2dCQUNyQyxFQUFFO2dCQUNGLFlBQVk7Z0JBQ1osOEZBQThGO2dCQUM5RixpQkFBaUI7Z0JBQ2pCLDBCQUEwQjtnQkFDMUIsaUJBQWlCO2dCQUNqQixtQkFBbUIsR0FBRyxLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUc7Z0JBQzFDLGlDQUFpQztnQkFDakMsK0JBQStCO2dCQUMvQixvQkFBb0I7Z0JBQ3BCLDJCQUEyQjtnQkFDM0Isd0JBQXdCO2dCQUN4QiwyQ0FBMkM7Z0JBQzNDLG9DQUFvQztnQkFDcEMsd0JBQXdCO2dCQUN4Qiw2QkFBNkI7Z0JBQzdCLHdDQUF3QyxHQUFHLEtBQUssQ0FBQyxVQUFVLEdBQUcsR0FBRztnQkFDakUsaUJBQWlCO2dCQUNqQixpREFBaUQ7Z0JBQ2pELDJCQUEyQjtnQkFDM0IsbUNBQW1DO2dCQUNuQyx3QkFBd0I7Z0JBQ3hCLDJEQUEyRDtnQkFDM0QsK0JBQStCO2dCQUMvQix5QkFBeUI7Z0JBQ3pCLHFEQUFxRDtnQkFDckQsc0VBQXNFO2dCQUN0RSxnRUFBZ0U7Z0JBQ2hFLG1EQUFtRDtnQkFDbkQsdURBQXVEO2dCQUN2RCwrQkFBK0I7Z0JBQy9CLEVBQUU7Z0JBQ0YsVUFBVTtnQkFDVixvQkFBb0I7Z0JBQ3BCLHdEQUF3RDtnQkFDeEQscUNBQXFDO2dCQUNyQyxhQUFhO2dCQUNiLHNEQUFzRDtnQkFDdEQsRUFBRTtnQkFDRixxQkFBcUI7Z0JBQ3JCLHlEQUF5RDtnQkFDekQsOEJBQThCO2dCQUM5QixhQUFhO2dCQUNiLHVEQUF1RDthQUN4RDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcEVILGtEQXFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSAncHJvamVuJztcblxuZXhwb3J0IGludGVyZmFjZSBDZGtEcmlmdElhbVRlbXBsYXRlUHJvcHMge1xuICByZWFkb25seSBwcm9qZWN0OiBhbnk7XG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9pZGNSb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9pZGNSZWdpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENka0RyaWZ0SWFtVGVtcGxhdGUge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogQ2RrRHJpZnRJYW1UZW1wbGF0ZVByb3BzKSB7XG4gICAgY29uc3Qgb3V0cHV0UGF0aCA9IHByb3BzLm91dHB1dFBhdGggPz8gJ2Nkay1kcmlmdC13b3JrZmxvdy1pYW0tdGVtcGxhdGUueWFtbCc7XG5cbiAgICBwcm9wcy5wcm9qZWN0LmFkZFRhc2soJ2RlcGxveS1jZGtkcmlmdC1pYW0tdGVtcGxhdGUnLCB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0RlcGxveSB0aGUgQ0RLIERyaWZ0IERldGVjdGlvbiBJQU0gdGVtcGxhdGUgdmlhIENsb3VkRm9ybWF0aW9uIChhY2NlcHRzIGV4dHJhIEFXUyBDTEkgYXJncywgZS5nLiwgLS1wYXJhbWV0ZXItb3ZlcnJpZGVzIEtleT1WYWx1ZS4uLiknLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgICBleGVjOlxuICAgICAgICBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlcGxveSAtLXRlbXBsYXRlLWZpbGUgJHtvdXRwdXRQYXRofSAtLXN0YWNrLW5hbWUgY2RrLWRyaWZ0LXdvcmtmbG93LWlhbS1yb2xlIC0tY2FwYWJpbGl0aWVzIENBUEFCSUxJVFlfTkFNRURfSUFNYCxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZShwcm9wcy5wcm9qZWN0LCBvdXRwdXRQYXRoLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICBcIkFXU1RlbXBsYXRlRm9ybWF0VmVyc2lvbjogJzIwMTAtMDktMDknXCIsXG4gICAgICAgIFwiRGVzY3JpcHRpb246ICdJQU0gcm9sZSBmb3IgQ0RLIERyaWZ0IERldGVjdGlvbiBXb3JrZmxvdydcIixcbiAgICAgICAgJycsXG4gICAgICAgICdQYXJhbWV0ZXJzOicsXG4gICAgICAgICcgIEdpdEh1Yk9JRENSb2xlQXJuOicsXG4gICAgICAgICcgICAgVHlwZTogU3RyaW5nJyxcbiAgICAgICAgXCIgICAgRGVzY3JpcHRpb246ICdBUk4gb2YgdGhlIGV4aXN0aW5nIEdpdEh1YiBPSURDIHJvbGUgdGhhdCBjYW4gYXNzdW1lIHRoaXMgZHJpZnQgcm9sZSdcIixcbiAgICAgICAgYCAgICBEZWZhdWx0OiAnJHtwcm9wcy5vaWRjUm9sZUFybn0nYCxcbiAgICAgICAgJycsXG4gICAgICAgICdSZXNvdXJjZXM6JyxcbiAgICAgICAgJyAgIyBDbG91ZEZvcm1hdGlvbiBEcmlmdCBEZXRlY3Rpb24gUm9sZSAtIG1pbmltYWwgcGVybWlzc2lvbnMgZm9yIGRyaWZ0IGRldGVjdGlvbiBvcGVyYXRpb25zJyxcbiAgICAgICAgJyAgQ2RrRHJpZnRSb2xlOicsXG4gICAgICAgICcgICAgVHlwZTogQVdTOjpJQU06OlJvbGUnLFxuICAgICAgICAnICAgIFByb3BlcnRpZXM6JyxcbiAgICAgICAgXCIgICAgICBSb2xlTmFtZTogJ1wiICsgcHJvcHMucm9sZU5hbWUgKyBcIidcIixcbiAgICAgICAgJyAgICAgIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudDonLFxuICAgICAgICBcIiAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAgICcgICAgICAgIFN0YXRlbWVudDonLFxuICAgICAgICAnICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAgICcgICAgICAgICAgICBQcmluY2lwYWw6JyxcbiAgICAgICAgJyAgICAgICAgICAgICAgQVdTOiAhUmVmIEdpdEh1Yk9JRENSb2xlQXJuJyxcbiAgICAgICAgJyAgICAgICAgICAgIEFjdGlvbjogc3RzOkFzc3VtZVJvbGUnLFxuICAgICAgICAnICAgICAgICAgICAgQ29uZGl0aW9uOicsXG4gICAgICAgICcgICAgICAgICAgICAgIFN0cmluZ0VxdWFsczonLFxuICAgICAgICBcIiAgICAgICAgICAgICAgICBhd3M6UmVxdWVzdGVkUmVnaW9uOiAnXCIgKyBwcm9wcy5vaWRjUmVnaW9uICsgXCInXCIsXG4gICAgICAgICcgICAgICBQb2xpY2llczonLFxuICAgICAgICAnICAgICAgICAtIFBvbGljeU5hbWU6IENsb3VkRm9ybWF0aW9uRHJpZnRBY2Nlc3MnLFxuICAgICAgICAnICAgICAgICAgIFBvbGljeURvY3VtZW50OicsXG4gICAgICAgIFwiICAgICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAgICcgICAgICAgICAgICBTdGF0ZW1lbnQ6JyxcbiAgICAgICAgJyAgICAgICAgICAgICAgIyBDbG91ZEZvcm1hdGlvbiBkcmlmdCBkZXRlY3Rpb24gb3BlcmF0aW9ucycsXG4gICAgICAgICcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRldGVjdFN0YWNrRHJpZnQnLFxuICAgICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXMnLFxuICAgICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHMnLFxuICAgICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrcycsXG4gICAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkxpc3RTdGFja1Jlc291cmNlcycsXG4gICAgICAgIFwiICAgICAgICAgICAgICAgIFJlc291cmNlOiAnKidcIixcbiAgICAgICAgJycsXG4gICAgICAgICdPdXRwdXRzOicsXG4gICAgICAgICcgIENka0RyaWZ0Um9sZUFybjonLFxuICAgICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgQ0RLIGRyaWZ0IGRldGVjdGlvbiByb2xlJ1wiLFxuICAgICAgICAnICAgIFZhbHVlOiAhR2V0QXR0IENka0RyaWZ0Um9sZS5Bcm4nLFxuICAgICAgICAnICAgIEV4cG9ydDonLFxuICAgICAgICBcIiAgICAgIE5hbWU6ICFTdWIgJyR7QVdTOjpTdGFja05hbWV9LUNka0RyaWZ0Um9sZUFybidcIixcbiAgICAgICAgJycsXG4gICAgICAgICcgIENka0RyaWZ0Um9sZU5hbWU6JyxcbiAgICAgICAgXCIgICAgRGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBDREsgZHJpZnQgZGV0ZWN0aW9uIHJvbGUnXCIsXG4gICAgICAgICcgICAgVmFsdWU6ICFSZWYgQ2RrRHJpZnRSb2xlJyxcbiAgICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgICAgXCIgICAgICBOYW1lOiAhU3ViICcke0FXUzo6U3RhY2tOYW1lfS1DZGtEcmlmdFJvbGVOYW1lJ1wiLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -41,8 +41,8 @@ class CdkChangesetScript {
41
41
  ' const props: string[] = [];',
42
42
  ' for (const d of details) {',
43
43
  " if (d?.Target?.Attribute !== 'Properties') continue;",
44
- " const name = d?.Target?.Name ?? '-';",
45
- ' props.push(`- ${name}`);',
44
+ " const workflowName = d?.Target?.Name ?? '-';",
45
+ ' props.push(`- ${workflowName}`);',
46
46
  ' }',
47
47
  " return props.join('<br>');",
48
48
  '}',
@@ -253,4 +253,4 @@ class CdkChangesetScript {
253
253
  }
254
254
  }
255
255
  exports.CdkChangesetScript = CdkChangesetScript;
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNoYW5nZXNldC1zY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2Nkay1jaGFuZ2VzZXQtc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQVFsQyxNQUFhLGtCQUFrQjtJQUM3QixZQUFZLEtBQThCO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksb0NBQW9DLENBQUM7UUFFNUUsSUFBSSxpQkFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFO1lBQ3RDLEtBQUssRUFBRTtnQkFDTCwyQ0FBMkM7Z0JBQzNDLGtHQUFrRztnQkFDbEcsRUFBRTtnQkFDRix5R0FBeUc7Z0JBQ3pHLEVBQUU7Z0JBQ0YsS0FBSztnQkFDTCx3QkFBd0I7Z0JBQ3hCLEtBQUs7Z0JBQ0wsMEVBQTBFO2dCQUMxRSxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsNkNBQTZDO2dCQUM3QyxpRUFBaUU7Z0JBQ2pFLEtBQUs7Z0JBQ0wsZ0RBQWdEO2dCQUNoRCwyREFBMkQ7Z0JBQzNELDhDQUE4QztnQkFDOUMsbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLG1CQUFtQjtnQkFDbkIsTUFBTTtnQkFDTiwwREFBMEQ7Z0JBQzFELHNDQUFzQztnQkFDdEMsR0FBRztnQkFDSCxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsK0VBQStFO2dCQUMvRSx3Q0FBd0M7Z0JBQ3hDLEtBQUs7Z0JBQ0wsdURBQXVEO2dCQUN2RCwwREFBMEQ7Z0JBQzFELCtCQUErQjtnQkFDL0IsOEJBQThCO2dCQUM5QiwwREFBMEQ7Z0JBQzFELDBDQUEwQztnQkFDMUMsOEJBQThCO2dCQUM5QixLQUFLO2dCQUNMLDhCQUE4QjtnQkFDOUIsR0FBRztnQkFDSCxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsd0ZBQXdGO2dCQUN4Rix5R0FBeUc7Z0JBQ3pHLDJHQUEyRztnQkFDM0csS0FBSztnQkFDTCx1R0FBdUc7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QUMvRCx5RUFBeUU7Z0JBQ3pFLDJCQUEyQjtnQkFDM0IsYUFBYTtnQkFDYixLQUFLO2dCQUNMLEVBQUU7Z0JBQ0YsNkZBQTZGO2dCQUM3RixnQ0FBZ0M7Z0JBQ2hDLDJDQUEyQztnQkFDM0MsbUJBQW1CO2dCQUNuQiwyQkFBMkI7Z0JBQzNCLHlCQUF5QjtnQkFDekIsTUFBTTtnQkFDTixrQ0FBa0M7Z0JBQ2xDLG1DQUFtQztnQkFDbkMsbUJBQW1CO2dCQUNuQiwyQkFBMkI7Z0JBQzNCLHlCQUF5QjtnQkFDekIsTUFBTTtnQkFDTixvR0FBb0c7Z0JBQ3BHLEVBQUU7Z0JBQ0YsNkdBQTZHO2dCQUM3Ryx3REFBd0Q7Z0JBQ3hELEVBQUU7Z0JBQ0Ysc0JBQXNCO2dCQUN0Qix1RUFBdUU7Z0JBQ3ZFLHNCQUFzQjtnQkFDdEIsRUFBRTtnQkFDRiwrQ0FBK0M7Z0JBQy9DLDhCQUE4QjtnQkFDOUIsV0FBVztnQkFDWCwyREFBMkQ7Z0JBQzNELHNGQUFzRjtnQkFDdEYsd0JBQXdCO2dCQUN4QixtRkFBbUY7Z0JBQ25GLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxFQUFFO2dCQUNGLG1DQUFtQztnQkFDbkMsNkNBQTZDO2dCQUM3QyxXQUFXO2dCQUNYLHdFQUF3RTtnQkFDeEUsNkRBQTZEO2dCQUM3RCx3QkFBd0I7Z0JBQ3hCLDRFQUE0RTtnQkFDNUUsZ0VBQWdFO2dCQUNoRSxPQUFPO2dCQUNQLEtBQUs7Z0JBQ0wsRUFBRTtnQkFDRiw0R0FBNEc7Z0JBQzVHLDhDQUE4QztnQkFDOUMsMEVBQTBFO2dCQUMxRSxLQUFLO2dCQUNMLEdBQUc7Z0JBQ0gsRUFBRTtnQkFDRix5QkFBeUI7Z0JBQ3pCLHVCQUF1QjtnQkFDdkIseUJBQXlCO2dCQUN6QixLQUFLO2FBQ047U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExUEQsZ0RBMFBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuaW50ZXJmYWNlIENka0NoYW5nZXNldFNjcmlwdFByb3BzIHtcbiAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcDtcbiAgb3V0cHV0UGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENka0NoYW5nZXNldFNjcmlwdCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDZGtDaGFuZ2VzZXRTY3JpcHRQcm9wcykge1xuICAgIGNvbnN0IG91dHB1dFBhdGggPSBwcm9wcy5vdXRwdXRQYXRoID8/ICdwcm9qZW5yYy9kZXNjcmliZS1jZm4tY2hhbmdlc2V0LnRzJztcblxuICAgIG5ldyBUZXh0RmlsZShwcm9wcy5wcm9qZWN0LCBvdXRwdXRQYXRoLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICBcImltcG9ydCB7IGFwcGVuZEZpbGUgfSBmcm9tICdmcy9wcm9taXNlcyc7XCIsXG4gICAgICAgIFwiaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlQ2hhbmdlU2V0Q29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XCIsXG4gICAgICAgICcnLFxuICAgICAgICBcInR5cGUgQ2hhbmdlID0gTm9uTnVsbGFibGU8QXdhaXRlZDxSZXR1cm5UeXBlPENsb3VkRm9ybWF0aW9uQ2xpZW50WydzZW5kJ10+PiBleHRlbmRzIGFueSA/IGFueSA6IG5ldmVyPjtcIixcbiAgICAgICAgJycsXG4gICAgICAgICcvKionLFxuICAgICAgICAnICogU21hbGwgc2xlZXAgaGVscGVyLicsXG4gICAgICAgICcgKi8nLFxuICAgICAgICAnY29uc3Qgc2xlZXAgPSAobXM6IG51bWJlcikgPT4gbmV3IFByb21pc2UoKHJlcykgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcvKionLFxuICAgICAgICAnICogQnVpbGQgdGhlIEhUTUwgY29sb3IgY2hpcCBmb3IgYW4gYWN0aW9uLicsXG4gICAgICAgICcgKiBNb2RpZnk9Ymx1ZSwgQWRkPWdyZWVuLCBSZW1vdmU9cmVkIChtYXRjaCBwcmV0dHlfZm9ybWF0LnB5KS4nLFxuICAgICAgICAnICovJyxcbiAgICAgICAgJ2Z1bmN0aW9uIGFjdGlvbkNoaXAoYWN0aW9uPzogc3RyaW5nKTogc3RyaW5nIHsnLFxuICAgICAgICAnICAvLyBVc2UgZW1vamkgaW5zdGVhZCBvZiBleHRlcm5hbCBpbWFnZXMgZm9yIHJlbGlhYmlsaXR5JyxcbiAgICAgICAgJyAgY29uc3QgZW1vamlNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7JyxcbiAgICAgICAgXCIgICAgTW9kaWZ5OiAn8J+UtScsXCIsXG4gICAgICAgIFwiICAgIEFkZDogJ/Cfn6InLFwiLFxuICAgICAgICBcIiAgICBSZW1vdmU6ICfwn5S0JyxcIixcbiAgICAgICAgJyAgfTsnLFxuICAgICAgICBcIiAgY29uc3QgbWFyayA9IGFjdGlvbiA/IChlbW9qaU1hcFthY3Rpb25dID8/ICfimqonKSA6ICfimqonO1wiLFxuICAgICAgICBcIiAgcmV0dXJuIGAke21hcmt9ICR7YWN0aW9uID8/ICctJ31gO1wiLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnLyoqJyxcbiAgICAgICAgXCIgKiBFeHRyYWN0IGNoYW5nZWQgcHJvcGVydHkgbmFtZXMgb25seSB3aGVyZSBUYXJnZXQuQXR0cmlidXRlID09ICdQcm9wZXJ0aWVzJ1wiLFxuICAgICAgICAnICogam9pbmVkIGJ5IDxicj4sIHByZWZpeGVkIHdpdGggXCItIFwiLicsXG4gICAgICAgICcgKi8nLFxuICAgICAgICAnZnVuY3Rpb24gY2hhbmdlZFByb3BlcnRpZXNIVE1MKGNoYW5nZTogYW55KTogc3RyaW5nIHsnLFxuICAgICAgICAnICBjb25zdCBkZXRhaWxzID0gY2hhbmdlPy5SZXNvdXJjZUNoYW5nZT8uRGV0YWlscyA/PyBbXTsnLFxuICAgICAgICAnICBjb25zdCBwcm9wczogc3RyaW5nW10gPSBbXTsnLFxuICAgICAgICAnICBmb3IgKGNvbnN0IGQgb2YgZGV0YWlscykgeycsXG4gICAgICAgIFwiICAgIGlmIChkPy5UYXJnZXQ/LkF0dHJpYnV0ZSAhPT0gJ1Byb3BlcnRpZXMnKSBjb250aW51ZTtcIixcbiAgICAgICAgXCIgICAgY29uc3QgbmFtZSA9IGQ/LlRhcmdldD8uTmFtZSA/PyAnLSc7XCIsXG4gICAgICAgICcgICAgcHJvcHMucHVzaChgLSAke25hbWV9YCk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgIFwiICByZXR1cm4gcHJvcHMuam9pbignPGJyPicpO1wiLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnLyoqJyxcbiAgICAgICAgJyAqIERldGVybWluZSBpZiBhIGNoYW5nZSBzaG91bGQgYmUgaWdub3JlZCBiYXNlZCBvbiBsb2dpY2FsIElEcyBhbmQvb3IgcmVzb3VyY2UgdHlwZXMuJyxcbiAgICAgICAgXCIgKiAtIElHTk9SRV9MT0dJQ0FMX0lEUzogY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbG9naWNhbCBJRHMgdG8gaWdub3JlIChkZWZhdWx0IGluY2x1ZGVzICdDREtNZXRhZGF0YScpXCIsXG4gICAgICAgIFwiICogLSBJR05PUkVfUkVTT1VSQ0VfVFlQRVM6IGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHJlc291cmNlIHR5cGVzIHRvIGlnbm9yZSAoZS5nLiwgJ0FXUzo6Q0RLOjpNZXRhZGF0YScpXCIsXG4gICAgICAgICcgKi8nLFxuICAgICAgICAnZnVuY3Rpb24gc2hvdWxkSWdub3JlQ2hhbmdlKGNoYW5nZTogYW55LCBpZ25vcmVJZHM6IFNldDxzdHJpbmc+LCBpZ25vcmVUeXBlczogU2V0PHN0cmluZz4pOiBib29sZWFuIHsnLFxuICAgICAgICAnICBjb25zdCByYyA9IGNoYW5nZT8uUmVzb3VyY2VDaGFuZ2UgPz8ge307JyxcbiAgICAgICAgJyAgY29uc3QgbG9naWNhbElkID0gcmM/LkxvZ2ljYWxSZXNvdXJjZUlkIGFzIHN0cmluZyB8IHVuZGVmaW5lZDsnLFxuICAgICAgICAnICBjb25zdCByZXNvdXJjZVR5cGUgPSByYz8uUmVzb3VyY2VUeXBlIGFzIHN0cmluZyB8IHVuZGVmaW5lZDsnLFxuICAgICAgICAnICBpZiAobG9naWNhbElkICYmIGlnbm9yZUlkcy5oYXMobG9naWNhbElkKSkgcmV0dXJuIHRydWU7JyxcbiAgICAgICAgJyAgaWYgKHJlc291cmNlVHlwZSAmJiBpZ25vcmVUeXBlcy5oYXMocmVzb3VyY2VUeXBlKSkgcmV0dXJuIHRydWU7JyxcbiAgICAgICAgJyAgcmV0dXJuIGZhbHNlOycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcvKionLFxuICAgICAgICAnICogR2VuZXJhdGUgdGhlIEhUTUwgYm9keSBzaW1pbGFyIHRvIHByZXR0eV9mb3JtYXQucHknLFxuICAgICAgICAnICovJyxcbiAgICAgICAgJ2Z1bmN0aW9uIGJ1aWxkSHRtbChzdGFja05hbWU6IHN0cmluZywgY2hhbmdlczogYW55W10pOiBzdHJpbmcgeycsXG4gICAgICAgICcgIGxldCBib2R5ID0gYDxoMT5DaGFuZ2Ugc2V0PC9oMT48aDI+U3RhY2sgTmFtZTogJHtzdGFja05hbWV9PC9oMj48YnI+YDsnLFxuICAgICAgICAnICBpZiAoKGNoYW5nZXM/Lmxlbmd0aCA/PyAwKSA+IDApIHsnLFxuICAgICAgICBcIiAgICBib2R5ICs9ICc8dGFibGU+PHRyPjx0aD5BY3Rpb24mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L3RoPjx0aD5JRDwvdGg+PHRoPlR5cGU8L3RoPjx0aD5SZXBsYWNlbWVudDwvdGg+PHRoPkNoYW5nZWQgUHJvcGVydGllczwvdGg+PC90cj4nO1wiLFxuICAgICAgICAnICAgIGZvciAoY29uc3QgYyBvZiBjaGFuZ2VzKSB7JyxcbiAgICAgICAgJyAgICAgIGNvbnN0IHJjID0gYz8uUmVzb3VyY2VDaGFuZ2UgPz8ge307JyxcbiAgICAgICAgJyAgICAgIGNvbnN0IGFjdGlvbiA9IGFjdGlvbkNoaXAocmM/LkFjdGlvbik7JyxcbiAgICAgICAgXCIgICAgICBjb25zdCBsb2dpY2FsSWQgPSByYz8uTG9naWNhbFJlc291cmNlSWQgPz8gJy0nO1wiLFxuICAgICAgICBcIiAgICAgIGNvbnN0IHR5cGUgPSByYz8uUmVzb3VyY2VUeXBlID8/ICctJztcIixcbiAgICAgICAgXCIgICAgICBjb25zdCByZXBsYWNlbWVudCA9IHJjPy5SZXBsYWNlbWVudCA/PyAnLSc7XCIsXG4gICAgICAgICcgICAgICBjb25zdCBkZXRhaWxzID0gY2hhbmdlZFByb3BlcnRpZXNIVE1MKGMpOycsXG4gICAgICAgICcnLFxuICAgICAgICBcIiAgICAgIGJvZHkgKz0gJzx0cj4nO1wiLFxuICAgICAgICAnICAgICAgYm9keSArPSBgPHRkPiR7YWN0aW9ufTwvdGQ+YDsnLFxuICAgICAgICAnICAgICAgYm9keSArPSBgPHRkPiR7bG9naWNhbElkfTwvdGQ+YDsnLFxuICAgICAgICAnICAgICAgYm9keSArPSBgPHRkPiR7dHlwZX08L3RkPmA7JyxcbiAgICAgICAgJyAgICAgIGJvZHkgKz0gYDx0ZD4ke3JlcGxhY2VtZW50fTwvdGQ+YDsnLFxuICAgICAgICAnICAgICAgYm9keSArPSBgPHRkPiR7ZGV0YWlsc308L3RkPmA7JyxcbiAgICAgICAgXCIgICAgICBib2R5ICs9ICc8L3RyPic7XCIsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgIFwiICAgIGJvZHkgKz0gJzwvdGFibGU+JztcIixcbiAgICAgICAgJyAgfSBlbHNlIHsnLFxuICAgICAgICBcIiAgICBib2R5ICs9ICdubyBjaGFuZ2UuJztcIixcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgIHJldHVybiBib2R5OycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcvKionLFxuICAgICAgICAnICogUG9sbCBEZXNjcmliZUNoYW5nZVNldCB1bnRpbCBhIHRlcm1pbmFsIHN0YXR1cywgdGhlbiBwYWdpbmF0ZSB0byByZXRyaWV2ZSBhbGwgQ2hhbmdlcy4nLFxuICAgICAgICAnICovJyxcbiAgICAgICAgJ2FzeW5jIGZ1bmN0aW9uIGdldFRlcm1pbmFsQ2hhbmdlU2V0KCcsXG4gICAgICAgICcgIGNsaWVudDogQ2xvdWRGb3JtYXRpb25DbGllbnQsJyxcbiAgICAgICAgJyAgc3RhY2tOYW1lOiBzdHJpbmcsJyxcbiAgICAgICAgJyAgY2hhbmdlU2V0TmFtZTogc3RyaW5nLCcsXG4gICAgICAgICcgIG1heEF0dGVtcHRzID0gNjAsJyxcbiAgICAgICAgJyAgZGVsYXlNcyA9IDMwMDAsJyxcbiAgICAgICAgJyk6IFByb21pc2U8eyBzdGF0dXM/OiBzdHJpbmc7IHN0YXR1c1JlYXNvbj86IHN0cmluZzsgY2hhbmdlczogYW55W10gfT4geycsXG4gICAgICAgICcgIGZvciAobGV0IGF0dGVtcHQgPSAxOyBhdHRlbXB0IDw9IG1heEF0dGVtcHRzOyBhdHRlbXB0KyspIHsnLFxuICAgICAgICAnICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBjbGllbnQuc2VuZChuZXcgRGVzY3JpYmVDaGFuZ2VTZXRDb21tYW5kKHsnLFxuICAgICAgICAnICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsJyxcbiAgICAgICAgJyAgICAgIENoYW5nZVNldE5hbWU6IGNoYW5nZVNldE5hbWUsJyxcbiAgICAgICAgJyAgICB9KSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgY29uc3Qgc3RhdHVzID0gcmVzcC5TdGF0dXM7JyxcbiAgICAgICAgJyAgICBjb25zdCBzdGF0dXNSZWFzb24gPSByZXNwLlN0YXR1c1JlYXNvbjsnLFxuICAgICAgICAnJyxcbiAgICAgICAgXCIgICAgaWYgKHN0YXR1cyA9PT0gJ0NSRUFURV9DT01QTEVURScgfHwgc3RhdHVzID09PSAnRkFJTEVEJykge1wiLFxuICAgICAgICAnICAgICAgLy8gR2F0aGVyIGFsbCBwYWdlcycsXG4gICAgICAgICcgICAgICBjb25zdCBjaGFuZ2VzOiBhbnlbXSA9IFtdOycsXG4gICAgICAgICcgICAgICBpZiAocmVzcC5DaGFuZ2VzKSBjaGFuZ2VzLnB1c2goLi4ucmVzcC5DaGFuZ2VzKTsnLFxuICAgICAgICAnICAgICAgbGV0IG5leHQgPSByZXNwLk5leHRUb2tlbjsnLFxuICAgICAgICAnICAgICAgd2hpbGUgKG5leHQpIHsnLFxuICAgICAgICAnICAgICAgICBjb25zdCBwYWdlID0gYXdhaXQgY2xpZW50LnNlbmQobmV3IERlc2NyaWJlQ2hhbmdlU2V0Q29tbWFuZCh7JyxcbiAgICAgICAgJyAgICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSwnLFxuICAgICAgICAnICAgICAgICAgIENoYW5nZVNldE5hbWU6IGNoYW5nZVNldE5hbWUsJyxcbiAgICAgICAgJyAgICAgICAgICBOZXh0VG9rZW46IG5leHQsJyxcbiAgICAgICAgJyAgICAgICAgfSkpOycsXG4gICAgICAgICcgICAgICAgIGlmIChwYWdlLkNoYW5nZXMpIGNoYW5nZXMucHVzaCguLi5wYWdlLkNoYW5nZXMpOycsXG4gICAgICAgICcgICAgICAgIG5leHQgPSBwYWdlLk5leHRUb2tlbjsnLFxuICAgICAgICAnICAgICAgfScsXG4gICAgICAgICcgICAgICByZXR1cm4geyBzdGF0dXMsIHN0YXR1c1JlYXNvbiwgY2hhbmdlcyB9OycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIC8vIE5vdCB0ZXJtaW5hbCB5ZXQ7IHdhaXQgYW5kIHJldHJ5JyxcbiAgICAgICAgJyAgICBhd2FpdCBzbGVlcChkZWxheU1zKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgIFwiICB0aHJvdyBuZXcgRXJyb3IoJ1RpbWVkIG91dCB3YWl0aW5nIGZvciBjaGFuZ2Ugc2V0IHRvIHJlYWNoIGEgdGVybWluYWwgc3RhdHVzLicpO1wiLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnYXN5bmMgZnVuY3Rpb24gcG9zdEdpdGh1YkNvbW1lbnQodXJsOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGJvZHk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4geycsXG4gICAgICAgICcgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwgeycsXG4gICAgICAgIFwiICAgIG1ldGhvZDogJ1BPU1QnLFwiLFxuICAgICAgICAnICAgIGhlYWRlcnM6IHsnLFxuICAgICAgICBcIiAgICAgICdBdXRob3JpemF0aW9uJzogYHRva2VuICR7dG9rZW59YCxcIixcbiAgICAgICAgXCIgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFwiLFxuICAgICAgICBcIiAgICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vdm5kLmdpdGh1Yitqc29uJyxcIixcbiAgICAgICAgJyAgICB9LCcsXG4gICAgICAgICcgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBib2R5IH0pLCcsXG4gICAgICAgICcgIH0pOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICBpZiAoIXJlcy5vaykgeycsXG4gICAgICAgIFwiICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+ICcnKTtcIixcbiAgICAgICAgJyAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwb3N0IEdpdEh1YiBjb21tZW50OiAke3Jlcy5zdGF0dXN9ICR7cmVzLnN0YXR1c1RleHR9ICR7dGV4dH1gKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2FzeW5jIGZ1bmN0aW9uIGFwcGVuZFN0ZXBTdW1tYXJ5KHN1bW1hcnlQYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4geycsXG4gICAgICAgIFwiICBhd2FpdCBhcHBlbmRGaWxlKHN1bW1hcnlQYXRoLCBgJHtjb250ZW50fVxcXFxuYCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1wiLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnYXN5bmMgZnVuY3Rpb24gbWFpbigpIHsnLFxuICAgICAgICAnICBjb25zdCB7JyxcbiAgICAgICAgJyAgICBTVEFDS19OQU1FLCcsXG4gICAgICAgICcgICAgQ0hBTkdFX1NFVF9OQU1FLCcsXG4gICAgICAgICcgICAgQVdTX1JFR0lPTiwnLFxuICAgICAgICAnICAgIEdJVEhVQl9UT0tFTiwnLFxuICAgICAgICAnICAgIEdJVEhVQl9DT01NRU5UX1VSTCwnLFxuICAgICAgICAnICAgIEdJVEhVQl9TVEVQX1NVTU1BUlksJyxcbiAgICAgICAgJyAgICBJR05PUkVfTE9HSUNBTF9JRFMsJyxcbiAgICAgICAgJyAgICBJR05PUkVfUkVTT1VSQ0VfVFlQRVMsJyxcbiAgICAgICAgJyAgfSA9IHByb2Nlc3MuZW52OycsXG4gICAgICAgICcnLFxuICAgICAgICAnICBpZiAoIVNUQUNLX05BTUUpIHsnLFxuICAgICAgICBcIiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NUQUNLX05BTUUgaXMgcmVxdWlyZWQnKTtcIixcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgIGNvbnN0IHJlZ2lvbiA9IEFXU19SRUdJT04gfHwgcHJvY2Vzcy5lbnYuQVdTX0RFRkFVTFRfUkVHSU9OOycsXG4gICAgICAgICcgIGlmICghcmVnaW9uKSB7JyxcbiAgICAgICAgXCIgICAgdGhyb3cgbmV3IEVycm9yKCdBV1NfUkVHSU9OIGlzIHJlcXVpcmVkJyk7XCIsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgY29uc3QgY2hhbmdlU2V0TmFtZSA9IENIQU5HRV9TRVRfTkFNRSB8fCBTVEFDS19OQU1FOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICBjb25zdCBjbGllbnQgPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoeyByZWdpb24gfSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIGxldCBzdGF0dXM6IHN0cmluZyB8IHVuZGVmaW5lZDsnLFxuICAgICAgICAnICBsZXQgc3RhdHVzUmVhc29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7JyxcbiAgICAgICAgJyAgbGV0IGNoYW5nZXM6IGFueVtdID0gW107JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHRyeSB7JyxcbiAgICAgICAgJyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRUZXJtaW5hbENoYW5nZVNldChjbGllbnQsIFNUQUNLX05BTUUsIGNoYW5nZVNldE5hbWUpOycsXG4gICAgICAgICcgICAgc3RhdHVzID0gcmVzdWx0LnN0YXR1czsnLFxuICAgICAgICAnICAgIHN0YXR1c1JlYXNvbiA9IHJlc3VsdC5zdGF0dXNSZWFzb247JyxcbiAgICAgICAgJyAgICBjaGFuZ2VzID0gcmVzdWx0LmNoYW5nZXMgPz8gW107JyxcbiAgICAgICAgJyAgfSBjYXRjaCAoZXJyOiBhbnkpIHsnLFxuICAgICAgICAnICAgIC8vIElmIERlc2NyaWJlQ2hhbmdlU2V0IGZhaWxzIGVudGlyZWx5LCBzdXJmYWNlIHRoZSBlcnJvcicsXG4gICAgICAgIFwiICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlc2NyaWJpbmcgY2hhbmdlIHNldDonLCBlcnI/Lm1lc3NhZ2UgfHwgZXJyKTtcIixcbiAgICAgICAgJyAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTsnLFxuICAgICAgICAnICAgIHJldHVybjsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgIFwiICAvLyBBcHBseSBpZ25vcmVzIGZyb20gZW52IHZhcnMgKElEcyBhbmQgdHlwZXMpLiBEZWZhdWx0IGlnbm9yZSBJRHMgaW5jbHVkZSAnQ0RLTWV0YWRhdGEnLlwiLFxuICAgICAgICAnICBjb25zdCBpZ25vcmVJZFNldCA9IG5ldyBTZXQoJyxcbiAgICAgICAgXCIgICAgKElHTk9SRV9MT0dJQ0FMX0lEUyA/PyAnQ0RLTWV0YWRhdGEnKVwiLFxuICAgICAgICBcIiAgICAgIC5zcGxpdCgnLCcpXCIsXG4gICAgICAgICcgICAgICAubWFwKHMgPT4gcy50cmltKCkpJyxcbiAgICAgICAgJyAgICAgIC5maWx0ZXIoQm9vbGVhbiksJyxcbiAgICAgICAgJyAgKTsnLFxuICAgICAgICAnICBjb25zdCBpZ25vcmVUeXBlU2V0ID0gbmV3IFNldCgnLFxuICAgICAgICBcIiAgICAoSUdOT1JFX1JFU09VUkNFX1RZUEVTID8/ICcnKVwiLFxuICAgICAgICBcIiAgICAgIC5zcGxpdCgnLCcpXCIsXG4gICAgICAgICcgICAgICAubWFwKHMgPT4gcy50cmltKCkpJyxcbiAgICAgICAgJyAgICAgIC5maWx0ZXIoQm9vbGVhbiksJyxcbiAgICAgICAgJyAgKTsnLFxuICAgICAgICAnICBjb25zdCBmaWx0ZXJlZENoYW5nZXMgPSBjaGFuZ2VzLmZpbHRlcihjID0+ICFzaG91bGRJZ25vcmVDaGFuZ2UoYywgaWdub3JlSWRTZXQsIGlnbm9yZVR5cGVTZXQpKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgLy8gQnVpbGQgSFRNTCBleGFjdGx5IGxpa2UgcHJldHR5X2Zvcm1hdC5weSBsb2dpYyAodGFibGUgd2hlbiB0aGVyZSBhcmUgY2hhbmdlczsgXCJubyBjaGFuZ2UuXCIgb3RoZXJ3aXNlKS4nLFxuICAgICAgICAnICBjb25zdCBodG1sID0gYnVpbGRIdG1sKFNUQUNLX05BTUUsIGZpbHRlcmVkQ2hhbmdlcyk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8vIFByaW50IHRvIHN0ZG91dCcsXG4gICAgICAgICcgIC8vIFRoaXMgYWxsb3dzIGNhcHR1cmluZyBvdXRwdXQgb3IgcmVkaXJlY3RpbmcgdG8gYSBmaWxlIGlmIG5lZWRlZC4nLFxuICAgICAgICAnICBjb25zb2xlLmxvZyhodG1sKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgLy8gT3B0aW9uYWxseSBhcHBlbmQgdG8gR2l0SHViIFN0ZXAgU3VtbWFyeScsXG4gICAgICAgICcgIGlmIChHSVRIVUJfU1RFUF9TVU1NQVJZKSB7JyxcbiAgICAgICAgJyAgICB0cnkgeycsXG4gICAgICAgICcgICAgICBhd2FpdCBhcHBlbmRTdGVwU3VtbWFyeShHSVRIVUJfU1RFUF9TVU1NQVJZLCBodG1sKTsnLFxuICAgICAgICAnICAgICAgY29uc29sZS5lcnJvcihgQXBwZW5kZWQgSFRNTCB0byBHSVRIVUJfU1RFUF9TVU1NQVJZOiAke0dJVEhVQl9TVEVQX1NVTU1BUll9YCk7JyxcbiAgICAgICAgJyAgICB9IGNhdGNoIChlOiBhbnkpIHsnLFxuICAgICAgICBcIiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBhcHBlbmQgdG8gR0lUSFVCX1NURVBfU1VNTUFSWTonLCBlPy5tZXNzYWdlIHx8IGUpO1wiLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8vIE9wdGlvbmFsbHkgcG9zdCBhIFBSIGNvbW1lbnQnLFxuICAgICAgICAnICBpZiAoR0lUSFVCX1RPS0VOICYmIEdJVEhVQl9DT01NRU5UX1VSTCkgeycsXG4gICAgICAgICcgICAgdHJ5IHsnLFxuICAgICAgICAnICAgICAgYXdhaXQgcG9zdEdpdGh1YkNvbW1lbnQoR0lUSFVCX0NPTU1FTlRfVVJMLCBHSVRIVUJfVE9LRU4sIGh0bWwpOycsXG4gICAgICAgIFwiICAgICAgY29uc29sZS5lcnJvcignUG9zdGVkIEhUTUwgYXMgYSBHaXRIdWIgUFIgY29tbWVudC4nKTtcIixcbiAgICAgICAgJyAgICB9IGNhdGNoIChlOiBhbnkpIHsnLFxuICAgICAgICBcIiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBwb3N0IEdpdEh1YiBQUiBjb21tZW50OicsIGU/Lm1lc3NhZ2UgfHwgZSk7XCIsXG4gICAgICAgICcgICAgICAvLyBEbyBub3QgZmFpbCB0aGUgd2hvbGUgc2NyaXB0IGp1c3QgZm9yIGNvbW1lbnQgcG9zdGluZycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgXCIgIC8vIE5vdGU6IFdoZW4gc3RhdHVzIGlzIEZBSUxFRCBkdWUgdG8gXFxcImRpZG4ndCBjb250YWluIGNoYW5nZXNcXFwiLCB0aGUgSFRNTCBuYXR1cmFsbHkgc2F5cyBcXFwibm8gY2hhbmdlLlxcXCJcIixcbiAgICAgICAgXCIgIGlmIChzdGF0dXMgPT09ICdGQUlMRUQnICYmIHN0YXR1c1JlYXNvbikge1wiLFxuICAgICAgICAnICAgIGNvbnNvbGUuZXJyb3IoYENoYW5nZSBzZXQgc3RhdHVzOiBGQUlMRUQuIFJlYXNvbjogJHtzdGF0dXNSZWFzb259YCk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICdtYWluKCkuY2F0Y2goKGVycikgPT4geycsXG4gICAgICAgICcgIGNvbnNvbGUuZXJyb3IoZXJyKTsnLFxuICAgICAgICAnICBwcm9jZXNzLmV4aXRDb2RlID0gMTsnLFxuICAgICAgICAnfSk7JyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNoYW5nZXNldC1zY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2Nkay1jaGFuZ2VzZXQtc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQVFsQyxNQUFhLGtCQUFrQjtJQUM3QixZQUFZLEtBQThCO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksb0NBQW9DLENBQUM7UUFFNUUsSUFBSSxpQkFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFO1lBQ3RDLEtBQUssRUFBRTtnQkFDTCwyQ0FBMkM7Z0JBQzNDLGtHQUFrRztnQkFDbEcsRUFBRTtnQkFDRix5R0FBeUc7Z0JBQ3pHLEVBQUU7Z0JBQ0YsS0FBSztnQkFDTCx3QkFBd0I7Z0JBQ3hCLEtBQUs7Z0JBQ0wsMEVBQTBFO2dCQUMxRSxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsNkNBQTZDO2dCQUM3QyxpRUFBaUU7Z0JBQ2pFLEtBQUs7Z0JBQ0wsZ0RBQWdEO2dCQUNoRCwyREFBMkQ7Z0JBQzNELDhDQUE4QztnQkFDOUMsbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLG1CQUFtQjtnQkFDbkIsTUFBTTtnQkFDTiwwREFBMEQ7Z0JBQzFELHNDQUFzQztnQkFDdEMsR0FBRztnQkFDSCxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsK0VBQStFO2dCQUMvRSx3Q0FBd0M7Z0JBQ3hDLEtBQUs7Z0JBQ0wsdURBQXVEO2dCQUN2RCwwREFBMEQ7Z0JBQzFELCtCQUErQjtnQkFDL0IsOEJBQThCO2dCQUM5QiwwREFBMEQ7Z0JBQzFELGtEQUFrRDtnQkFDbEQsc0NBQXNDO2dCQUN0QyxLQUFLO2dCQUNMLDhCQUE4QjtnQkFDOUIsR0FBRztnQkFDSCxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsd0ZBQXdGO2dCQUN4Rix5R0FBeUc7Z0JBQ3pHLDJHQUEyRztnQkFDM0csS0FBSztnQkFDTCx1R0FBdUc7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QUMvRCx5RUFBeUU7Z0JBQ3pFLDJCQUEyQjtnQkFDM0IsYUFBYTtnQkFDYixLQUFLO2dCQUNMLEVBQUU7Z0JBQ0YsNkZBQTZGO2dCQUM3RixnQ0FBZ0M7Z0JBQ2hDLDJDQUEyQztnQkFDM0MsbUJBQW1CO2dCQUNuQiwyQkFBMkI7Z0JBQzNCLHlCQUF5QjtnQkFDekIsTUFBTTtnQkFDTixrQ0FBa0M7Z0JBQ2xDLG1DQUFtQztnQkFDbkMsbUJBQW1CO2dCQUNuQiwyQkFBMkI7Z0JBQzNCLHlCQUF5QjtnQkFDekIsTUFBTTtnQkFDTixvR0FBb0c7Z0JBQ3BHLEVBQUU7Z0JBQ0YsNkdBQTZHO2dCQUM3Ryx3REFBd0Q7Z0JBQ3hELEVBQUU7Z0JBQ0Ysc0JBQXNCO2dCQUN0Qix1RUFBdUU7Z0JBQ3ZFLHNCQUFzQjtnQkFDdEIsRUFBRTtnQkFDRiwrQ0FBK0M7Z0JBQy9DLDhCQUE4QjtnQkFDOUIsV0FBVztnQkFDWCwyREFBMkQ7Z0JBQzNELHNGQUFzRjtnQkFDdEYsd0JBQXdCO2dCQUN4QixtRkFBbUY7Z0JBQ25GLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxFQUFFO2dCQUNGLG1DQUFtQztnQkFDbkMsNkNBQTZDO2dCQUM3QyxXQUFXO2dCQUNYLHdFQUF3RTtnQkFDeEUsNkRBQTZEO2dCQUM3RCx3QkFBd0I7Z0JBQ3hCLDRFQUE0RTtnQkFDNUUsZ0VBQWdFO2dCQUNoRSxPQUFPO2dCQUNQLEtBQUs7Z0JBQ0wsRUFBRTtnQkFDRiw0R0FBNEc7Z0JBQzVHLDhDQUE4QztnQkFDOUMsMEVBQTBFO2dCQUMxRSxLQUFLO2dCQUNMLEdBQUc7Z0JBQ0gsRUFBRTtnQkFDRix5QkFBeUI7Z0JBQ3pCLHVCQUF1QjtnQkFDdkIseUJBQXlCO2dCQUN6QixLQUFLO2FBQ047U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExUEQsZ0RBMFBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuaW50ZXJmYWNlIENka0NoYW5nZXNldFNjcmlwdFByb3BzIHtcbiAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcDtcbiAgb3V0cHV0UGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENka0NoYW5nZXNldFNjcmlwdCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDZGtDaGFuZ2VzZXRTY3JpcHRQcm9wcykge1xuICAgIGNvbnN0IG91dHB1dFBhdGggPSBwcm9wcy5vdXRwdXRQYXRoID8/ICdwcm9qZW5yYy9kZXNjcmliZS1jZm4tY2hhbmdlc2V0LnRzJztcblxuICAgIG5ldyBUZXh0RmlsZShwcm9wcy5wcm9qZWN0LCBvdXRwdXRQYXRoLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICBcImltcG9ydCB7IGFwcGVuZEZpbGUgfSBmcm9tICdmcy9wcm9taXNlcyc7XCIsXG4gICAgICAgIFwiaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlQ2hhbmdlU2V0Q29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XCIsXG4gICAgICAgICcnLFxuICAgICAgICBcInR5cGUgQ2hhbmdlID0gTm9uTnVsbGFibGU8QXdhaXRlZDxSZXR1cm5UeXBlPENsb3VkRm9ybWF0aW9uQ2xpZW50WydzZW5kJ10+PiBleHRlbmRzIGFueSA/IGFueSA6IG5ldmVyPjtcIixcbiAgICAgICAgJycsXG4gICAgICAgICcvKionLFxuICAgICAgICAnICogU21hbGwgc2xlZXAgaGVscGVyLicsXG4gICAgICAgICcgKi8nLFxuICAgICAgICAnY29uc3Qgc2xlZXAgPSAobXM6IG51bWJlcikgPT4gbmV3IFByb21pc2UoKHJlcykgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcvKionLFxuICAgICAgICAnICogQnVpbGQgdGhlIEhUTUwgY29sb3IgY2hpcCBmb3IgYW4gYWN0aW9uLicsXG4gICAgICAgICcgKiBNb2RpZnk9Ymx1ZSwgQWRkPWdyZWVuLCBSZW1vdmU9cmVkIChtYXRjaCBwcmV0dHlfZm9ybWF0LnB5KS4nLFxuICAgICAgICAnICovJyxcbiAgICAgICAgJ2Z1bmN0aW9uIGFjdGlvbkNoaXAoYWN0aW9uPzogc3RyaW5nKTogc3RyaW5nIHsnLFxuICAgICAgICAnICAvLyBVc2UgZW1vamkgaW5zdGVhZCBvZiBleHRlcm5hbCBpbWFnZXMgZm9yIHJlbGlhYmlsaXR5JyxcbiAgICAgICAgJyAgY29uc3QgZW1vamlNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7JyxcbiAgICAgICAgXCIgICAgTW9kaWZ5OiAn8J+UtScsXCIsXG4gICAgICAgIFwiICAgIEFkZDogJ/Cfn6InLFwiLFxuICAgICAgICBcIiAgICBSZW1vdmU6ICfwn5S0JyxcIixcbiAgICAgICAgJyAgfTsnLFxuICAgICAgICBcIiAgY29uc3QgbWFyayA9IGFjdGlvbiA/IChlbW9qaU1hcFthY3Rpb25dID8/ICfimqonKSA6ICfimqonO1wiLFxuICAgICAgICBcIiAgcmV0dXJuIGAke21hcmt9ICR7YWN0aW9uID8/ICctJ31gO1wiLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnLyoqJyxcbiAgICAgICAgXCIgKiBFeHRyYWN0IGNoYW5nZWQgcHJvcGVydHkgbmFtZXMgb25seSB3aGVyZSBUYXJnZXQuQXR0cmlidXRlID09ICdQcm9wZXJ0aWVzJ1wiLFxuICAgICAgICAnICogam9pbmVkIGJ5IDxicj4sIHByZWZpeGVkIHdpdGggXCItIFwiLicsXG4gICAgICAgICcgKi8nLFxuICAgICAgICAnZnVuY3Rpb24gY2hhbmdlZFByb3BlcnRpZXNIVE1MKGNoYW5nZTogYW55KTogc3RyaW5nIHsnLFxuICAgICAgICAnICBjb25zdCBkZXRhaWxzID0gY2hhbmdlPy5SZXNvdXJjZUNoYW5nZT8uRGV0YWlscyA/PyBbXTsnLFxuICAgICAgICAnICBjb25zdCBwcm9wczogc3RyaW5nW10gPSBbXTsnLFxuICAgICAgICAnICBmb3IgKGNvbnN0IGQgb2YgZGV0YWlscykgeycsXG4gICAgICAgIFwiICAgIGlmIChkPy5UYXJnZXQ/LkF0dHJpYnV0ZSAhPT0gJ1Byb3BlcnRpZXMnKSBjb250aW51ZTtcIixcbiAgICAgICAgXCIgICAgY29uc3Qgd29ya2Zsb3dOYW1lID0gZD8uVGFyZ2V0Py5OYW1lID8/ICctJztcIixcbiAgICAgICAgJyAgICBwcm9wcy5wdXNoKGAtICR7d29ya2Zsb3dOYW1lfWApOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICBcIiAgcmV0dXJuIHByb3BzLmpvaW4oJzxicj4nKTtcIixcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJy8qKicsXG4gICAgICAgICcgKiBEZXRlcm1pbmUgaWYgYSBjaGFuZ2Ugc2hvdWxkIGJlIGlnbm9yZWQgYmFzZWQgb24gbG9naWNhbCBJRHMgYW5kL29yIHJlc291cmNlIHR5cGVzLicsXG4gICAgICAgIFwiICogLSBJR05PUkVfTE9HSUNBTF9JRFM6IGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGxvZ2ljYWwgSURzIHRvIGlnbm9yZSAoZGVmYXVsdCBpbmNsdWRlcyAnQ0RLTWV0YWRhdGEnKVwiLFxuICAgICAgICBcIiAqIC0gSUdOT1JFX1JFU09VUkNFX1RZUEVTOiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiByZXNvdXJjZSB0eXBlcyB0byBpZ25vcmUgKGUuZy4sICdBV1M6OkNESzo6TWV0YWRhdGEnKVwiLFxuICAgICAgICAnICovJyxcbiAgICAgICAgJ2Z1bmN0aW9uIHNob3VsZElnbm9yZUNoYW5nZShjaGFuZ2U6IGFueSwgaWdub3JlSWRzOiBTZXQ8c3RyaW5nPiwgaWdub3JlVHlwZXM6IFNldDxzdHJpbmc+KTogYm9vbGVhbiB7JyxcbiAgICAgICAgJyAgY29uc3QgcmMgPSBjaGFuZ2U/LlJlc291cmNlQ2hhbmdlID8/IHt9OycsXG4gICAgICAgICcgIGNvbnN0IGxvZ2ljYWxJZCA9IHJjPy5Mb2dpY2FsUmVzb3VyY2VJZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7JyxcbiAgICAgICAgJyAgY29uc3QgcmVzb3VyY2VUeXBlID0gcmM/LlJlc291cmNlVHlwZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7JyxcbiAgICAgICAgJyAgaWYgKGxvZ2ljYWxJZCAmJiBpZ25vcmVJZHMuaGFzKGxvZ2ljYWxJZCkpIHJldHVybiB0cnVlOycsXG4gICAgICAgICcgIGlmIChyZXNvdXJjZVR5cGUgJiYgaWdub3JlVHlwZXMuaGFzKHJlc291cmNlVHlwZSkpIHJldHVybiB0cnVlOycsXG4gICAgICAgICcgIHJldHVybiBmYWxzZTsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnLyoqJyxcbiAgICAgICAgJyAqIEdlbmVyYXRlIHRoZSBIVE1MIGJvZHkgc2ltaWxhciB0byBwcmV0dHlfZm9ybWF0LnB5JyxcbiAgICAgICAgJyAqLycsXG4gICAgICAgICdmdW5jdGlvbiBidWlsZEh0bWwoc3RhY2tOYW1lOiBzdHJpbmcsIGNoYW5nZXM6IGFueVtdKTogc3RyaW5nIHsnLFxuICAgICAgICAnICBsZXQgYm9keSA9IGA8aDE+Q2hhbmdlIHNldDwvaDE+PGgyPlN0YWNrIE5hbWU6ICR7c3RhY2tOYW1lfTwvaDI+PGJyPmA7JyxcbiAgICAgICAgJyAgaWYgKChjaGFuZ2VzPy5sZW5ndGggPz8gMCkgPiAwKSB7JyxcbiAgICAgICAgXCIgICAgYm9keSArPSAnPHRhYmxlPjx0cj48dGg+QWN0aW9uJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90aD48dGg+SUQ8L3RoPjx0aD5UeXBlPC90aD48dGg+UmVwbGFjZW1lbnQ8L3RoPjx0aD5DaGFuZ2VkIFByb3BlcnRpZXM8L3RoPjwvdHI+JztcIixcbiAgICAgICAgJyAgICBmb3IgKGNvbnN0IGMgb2YgY2hhbmdlcykgeycsXG4gICAgICAgICcgICAgICBjb25zdCByYyA9IGM/LlJlc291cmNlQ2hhbmdlID8/IHt9OycsXG4gICAgICAgICcgICAgICBjb25zdCBhY3Rpb24gPSBhY3Rpb25DaGlwKHJjPy5BY3Rpb24pOycsXG4gICAgICAgIFwiICAgICAgY29uc3QgbG9naWNhbElkID0gcmM/LkxvZ2ljYWxSZXNvdXJjZUlkID8/ICctJztcIixcbiAgICAgICAgXCIgICAgICBjb25zdCB0eXBlID0gcmM/LlJlc291cmNlVHlwZSA/PyAnLSc7XCIsXG4gICAgICAgIFwiICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSByYz8uUmVwbGFjZW1lbnQgPz8gJy0nO1wiLFxuICAgICAgICAnICAgICAgY29uc3QgZGV0YWlscyA9IGNoYW5nZWRQcm9wZXJ0aWVzSFRNTChjKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgXCIgICAgICBib2R5ICs9ICc8dHI+JztcIixcbiAgICAgICAgJyAgICAgIGJvZHkgKz0gYDx0ZD4ke2FjdGlvbn08L3RkPmA7JyxcbiAgICAgICAgJyAgICAgIGJvZHkgKz0gYDx0ZD4ke2xvZ2ljYWxJZH08L3RkPmA7JyxcbiAgICAgICAgJyAgICAgIGJvZHkgKz0gYDx0ZD4ke3R5cGV9PC90ZD5gOycsXG4gICAgICAgICcgICAgICBib2R5ICs9IGA8dGQ+JHtyZXBsYWNlbWVudH08L3RkPmA7JyxcbiAgICAgICAgJyAgICAgIGJvZHkgKz0gYDx0ZD4ke2RldGFpbHN9PC90ZD5gOycsXG4gICAgICAgIFwiICAgICAgYm9keSArPSAnPC90cj4nO1wiLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICBcIiAgICBib2R5ICs9ICc8L3RhYmxlPic7XCIsXG4gICAgICAgICcgIH0gZWxzZSB7JyxcbiAgICAgICAgXCIgICAgYm9keSArPSAnbm8gY2hhbmdlLic7XCIsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnICByZXR1cm4gYm9keTsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnLyoqJyxcbiAgICAgICAgJyAqIFBvbGwgRGVzY3JpYmVDaGFuZ2VTZXQgdW50aWwgYSB0ZXJtaW5hbCBzdGF0dXMsIHRoZW4gcGFnaW5hdGUgdG8gcmV0cmlldmUgYWxsIENoYW5nZXMuJyxcbiAgICAgICAgJyAqLycsXG4gICAgICAgICdhc3luYyBmdW5jdGlvbiBnZXRUZXJtaW5hbENoYW5nZVNldCgnLFxuICAgICAgICAnICBjbGllbnQ6IENsb3VkRm9ybWF0aW9uQ2xpZW50LCcsXG4gICAgICAgICcgIHN0YWNrTmFtZTogc3RyaW5nLCcsXG4gICAgICAgICcgIGNoYW5nZVNldE5hbWU6IHN0cmluZywnLFxuICAgICAgICAnICBtYXhBdHRlbXB0cyA9IDYwLCcsXG4gICAgICAgICcgIGRlbGF5TXMgPSAzMDAwLCcsXG4gICAgICAgICcpOiBQcm9taXNlPHsgc3RhdHVzPzogc3RyaW5nOyBzdGF0dXNSZWFzb24/OiBzdHJpbmc7IGNoYW5nZXM6IGFueVtdIH0+IHsnLFxuICAgICAgICAnICBmb3IgKGxldCBhdHRlbXB0ID0gMTsgYXR0ZW1wdCA8PSBtYXhBdHRlbXB0czsgYXR0ZW1wdCsrKSB7JyxcbiAgICAgICAgJyAgICBjb25zdCByZXNwID0gYXdhaXQgY2xpZW50LnNlbmQobmV3IERlc2NyaWJlQ2hhbmdlU2V0Q29tbWFuZCh7JyxcbiAgICAgICAgJyAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLCcsXG4gICAgICAgICcgICAgICBDaGFuZ2VTZXROYW1lOiBjaGFuZ2VTZXROYW1lLCcsXG4gICAgICAgICcgICAgfSkpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIGNvbnN0IHN0YXR1cyA9IHJlc3AuU3RhdHVzOycsXG4gICAgICAgICcgICAgY29uc3Qgc3RhdHVzUmVhc29uID0gcmVzcC5TdGF0dXNSZWFzb247JyxcbiAgICAgICAgJycsXG4gICAgICAgIFwiICAgIGlmIChzdGF0dXMgPT09ICdDUkVBVEVfQ09NUExFVEUnIHx8IHN0YXR1cyA9PT0gJ0ZBSUxFRCcpIHtcIixcbiAgICAgICAgJyAgICAgIC8vIEdhdGhlciBhbGwgcGFnZXMnLFxuICAgICAgICAnICAgICAgY29uc3QgY2hhbmdlczogYW55W10gPSBbXTsnLFxuICAgICAgICAnICAgICAgaWYgKHJlc3AuQ2hhbmdlcykgY2hhbmdlcy5wdXNoKC4uLnJlc3AuQ2hhbmdlcyk7JyxcbiAgICAgICAgJyAgICAgIGxldCBuZXh0ID0gcmVzcC5OZXh0VG9rZW47JyxcbiAgICAgICAgJyAgICAgIHdoaWxlIChuZXh0KSB7JyxcbiAgICAgICAgJyAgICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IGNsaWVudC5zZW5kKG5ldyBEZXNjcmliZUNoYW5nZVNldENvbW1hbmQoeycsXG4gICAgICAgICcgICAgICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsJyxcbiAgICAgICAgJyAgICAgICAgICBDaGFuZ2VTZXROYW1lOiBjaGFuZ2VTZXROYW1lLCcsXG4gICAgICAgICcgICAgICAgICAgTmV4dFRva2VuOiBuZXh0LCcsXG4gICAgICAgICcgICAgICAgIH0pKTsnLFxuICAgICAgICAnICAgICAgICBpZiAocGFnZS5DaGFuZ2VzKSBjaGFuZ2VzLnB1c2goLi4ucGFnZS5DaGFuZ2VzKTsnLFxuICAgICAgICAnICAgICAgICBuZXh0ID0gcGFnZS5OZXh0VG9rZW47JyxcbiAgICAgICAgJyAgICAgIH0nLFxuICAgICAgICAnICAgICAgcmV0dXJuIHsgc3RhdHVzLCBzdGF0dXNSZWFzb24sIGNoYW5nZXMgfTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICAvLyBOb3QgdGVybWluYWwgeWV0OyB3YWl0IGFuZCByZXRyeScsXG4gICAgICAgICcgICAgYXdhaXQgc2xlZXAoZGVsYXlNcyk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICBcIiAgdGhyb3cgbmV3IEVycm9yKCdUaW1lZCBvdXQgd2FpdGluZyBmb3IgY2hhbmdlIHNldCB0byByZWFjaCBhIHRlcm1pbmFsIHN0YXR1cy4nKTtcIixcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2FzeW5jIGZ1bmN0aW9uIHBvc3RHaXRodWJDb21tZW50KHVybDogc3RyaW5nLCB0b2tlbjogc3RyaW5nLCBib2R5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHsnLFxuICAgICAgICAnICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIHsnLFxuICAgICAgICBcIiAgICBtZXRob2Q6ICdQT1NUJyxcIixcbiAgICAgICAgJyAgICBoZWFkZXJzOiB7JyxcbiAgICAgICAgXCIgICAgICAnQXV0aG9yaXphdGlvbic6IGB0b2tlbiAke3Rva2VufWAsXCIsXG4gICAgICAgIFwiICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcIixcbiAgICAgICAgXCIgICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL3ZuZC5naXRodWIranNvbicsXCIsXG4gICAgICAgICcgICAgfSwnLFxuICAgICAgICAnICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYm9keSB9KSwnLFxuICAgICAgICAnICB9KTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgaWYgKCFyZXMub2spIHsnLFxuICAgICAgICBcIiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiAnJyk7XCIsXG4gICAgICAgICcgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcG9zdCBHaXRIdWIgY29tbWVudDogJHtyZXMuc3RhdHVzfSAke3Jlcy5zdGF0dXNUZXh0fSAke3RleHR9YCk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICdhc3luYyBmdW5jdGlvbiBhcHBlbmRTdGVwU3VtbWFyeShzdW1tYXJ5UGF0aDogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHsnLFxuICAgICAgICBcIiAgYXdhaXQgYXBwZW5kRmlsZShzdW1tYXJ5UGF0aCwgYCR7Y29udGVudH1cXFxcbmAsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcIixcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2FzeW5jIGZ1bmN0aW9uIG1haW4oKSB7JyxcbiAgICAgICAgJyAgY29uc3QgeycsXG4gICAgICAgICcgICAgU1RBQ0tfTkFNRSwnLFxuICAgICAgICAnICAgIENIQU5HRV9TRVRfTkFNRSwnLFxuICAgICAgICAnICAgIEFXU19SRUdJT04sJyxcbiAgICAgICAgJyAgICBHSVRIVUJfVE9LRU4sJyxcbiAgICAgICAgJyAgICBHSVRIVUJfQ09NTUVOVF9VUkwsJyxcbiAgICAgICAgJyAgICBHSVRIVUJfU1RFUF9TVU1NQVJZLCcsXG4gICAgICAgICcgICAgSUdOT1JFX0xPR0lDQUxfSURTLCcsXG4gICAgICAgICcgICAgSUdOT1JFX1JFU09VUkNFX1RZUEVTLCcsXG4gICAgICAgICcgIH0gPSBwcm9jZXNzLmVudjsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgaWYgKCFTVEFDS19OQU1FKSB7JyxcbiAgICAgICAgXCIgICAgdGhyb3cgbmV3IEVycm9yKCdTVEFDS19OQU1FIGlzIHJlcXVpcmVkJyk7XCIsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnICBjb25zdCByZWdpb24gPSBBV1NfUkVHSU9OIHx8IHByb2Nlc3MuZW52LkFXU19ERUZBVUxUX1JFR0lPTjsnLFxuICAgICAgICAnICBpZiAoIXJlZ2lvbikgeycsXG4gICAgICAgIFwiICAgIHRocm93IG5ldyBFcnJvcignQVdTX1JFR0lPTiBpcyByZXF1aXJlZCcpO1wiLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIGNvbnN0IGNoYW5nZVNldE5hbWUgPSBDSEFOR0VfU0VUX05BTUUgfHwgU1RBQ0tfTkFNRTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgY29uc3QgY2xpZW50ID0gbmV3IENsb3VkRm9ybWF0aW9uQ2xpZW50KHsgcmVnaW9uIH0pOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICBsZXQgc3RhdHVzOiBzdHJpbmcgfCB1bmRlZmluZWQ7JyxcbiAgICAgICAgJyAgbGV0IHN0YXR1c1JlYXNvbjogc3RyaW5nIHwgdW5kZWZpbmVkOycsXG4gICAgICAgICcgIGxldCBjaGFuZ2VzOiBhbnlbXSA9IFtdOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICB0cnkgeycsXG4gICAgICAgICcgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0VGVybWluYWxDaGFuZ2VTZXQoY2xpZW50LCBTVEFDS19OQU1FLCBjaGFuZ2VTZXROYW1lKTsnLFxuICAgICAgICAnICAgIHN0YXR1cyA9IHJlc3VsdC5zdGF0dXM7JyxcbiAgICAgICAgJyAgICBzdGF0dXNSZWFzb24gPSByZXN1bHQuc3RhdHVzUmVhc29uOycsXG4gICAgICAgICcgICAgY2hhbmdlcyA9IHJlc3VsdC5jaGFuZ2VzID8/IFtdOycsXG4gICAgICAgICcgIH0gY2F0Y2ggKGVycjogYW55KSB7JyxcbiAgICAgICAgJyAgICAvLyBJZiBEZXNjcmliZUNoYW5nZVNldCBmYWlscyBlbnRpcmVseSwgc3VyZmFjZSB0aGUgZXJyb3InLFxuICAgICAgICBcIiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkZXNjcmliaW5nIGNoYW5nZSBzZXQ6JywgZXJyPy5tZXNzYWdlIHx8IGVycik7XCIsXG4gICAgICAgICcgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7JyxcbiAgICAgICAgJyAgICByZXR1cm47JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICBcIiAgLy8gQXBwbHkgaWdub3JlcyBmcm9tIGVudiB2YXJzIChJRHMgYW5kIHR5cGVzKS4gRGVmYXVsdCBpZ25vcmUgSURzIGluY2x1ZGUgJ0NES01ldGFkYXRhJy5cIixcbiAgICAgICAgJyAgY29uc3QgaWdub3JlSWRTZXQgPSBuZXcgU2V0KCcsXG4gICAgICAgIFwiICAgIChJR05PUkVfTE9HSUNBTF9JRFMgPz8gJ0NES01ldGFkYXRhJylcIixcbiAgICAgICAgXCIgICAgICAuc3BsaXQoJywnKVwiLFxuICAgICAgICAnICAgICAgLm1hcChzID0+IHMudHJpbSgpKScsXG4gICAgICAgICcgICAgICAuZmlsdGVyKEJvb2xlYW4pLCcsXG4gICAgICAgICcgICk7JyxcbiAgICAgICAgJyAgY29uc3QgaWdub3JlVHlwZVNldCA9IG5ldyBTZXQoJyxcbiAgICAgICAgXCIgICAgKElHTk9SRV9SRVNPVVJDRV9UWVBFUyA/PyAnJylcIixcbiAgICAgICAgXCIgICAgICAuc3BsaXQoJywnKVwiLFxuICAgICAgICAnICAgICAgLm1hcChzID0+IHMudHJpbSgpKScsXG4gICAgICAgICcgICAgICAuZmlsdGVyKEJvb2xlYW4pLCcsXG4gICAgICAgICcgICk7JyxcbiAgICAgICAgJyAgY29uc3QgZmlsdGVyZWRDaGFuZ2VzID0gY2hhbmdlcy5maWx0ZXIoYyA9PiAhc2hvdWxkSWdub3JlQ2hhbmdlKGMsIGlnbm9yZUlkU2V0LCBpZ25vcmVUeXBlU2V0KSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8vIEJ1aWxkIEhUTUwgZXhhY3RseSBsaWtlIHByZXR0eV9mb3JtYXQucHkgbG9naWMgKHRhYmxlIHdoZW4gdGhlcmUgYXJlIGNoYW5nZXM7IFwibm8gY2hhbmdlLlwiIG90aGVyd2lzZSkuJyxcbiAgICAgICAgJyAgY29uc3QgaHRtbCA9IGJ1aWxkSHRtbChTVEFDS19OQU1FLCBmaWx0ZXJlZENoYW5nZXMpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvLyBQcmludCB0byBzdGRvdXQnLFxuICAgICAgICAnICAvLyBUaGlzIGFsbG93cyBjYXB0dXJpbmcgb3V0cHV0IG9yIHJlZGlyZWN0aW5nIHRvIGEgZmlsZSBpZiBuZWVkZWQuJyxcbiAgICAgICAgJyAgY29uc29sZS5sb2coaHRtbCk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8vIE9wdGlvbmFsbHkgYXBwZW5kIHRvIEdpdEh1YiBTdGVwIFN1bW1hcnknLFxuICAgICAgICAnICBpZiAoR0lUSFVCX1NURVBfU1VNTUFSWSkgeycsXG4gICAgICAgICcgICAgdHJ5IHsnLFxuICAgICAgICAnICAgICAgYXdhaXQgYXBwZW5kU3RlcFN1bW1hcnkoR0lUSFVCX1NURVBfU1VNTUFSWSwgaHRtbCk7JyxcbiAgICAgICAgJyAgICAgIGNvbnNvbGUuZXJyb3IoYEFwcGVuZGVkIEhUTUwgdG8gR0lUSFVCX1NURVBfU1VNTUFSWTogJHtHSVRIVUJfU1RFUF9TVU1NQVJZfWApOycsXG4gICAgICAgICcgICAgfSBjYXRjaCAoZTogYW55KSB7JyxcbiAgICAgICAgXCIgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gYXBwZW5kIHRvIEdJVEhVQl9TVEVQX1NVTU1BUlk6JywgZT8ubWVzc2FnZSB8fCBlKTtcIixcbiAgICAgICAgJyAgICB9JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvLyBPcHRpb25hbGx5IHBvc3QgYSBQUiBjb21tZW50JyxcbiAgICAgICAgJyAgaWYgKEdJVEhVQl9UT0tFTiAmJiBHSVRIVUJfQ09NTUVOVF9VUkwpIHsnLFxuICAgICAgICAnICAgIHRyeSB7JyxcbiAgICAgICAgJyAgICAgIGF3YWl0IHBvc3RHaXRodWJDb21tZW50KEdJVEhVQl9DT01NRU5UX1VSTCwgR0lUSFVCX1RPS0VOLCBodG1sKTsnLFxuICAgICAgICBcIiAgICAgIGNvbnNvbGUuZXJyb3IoJ1Bvc3RlZCBIVE1MIGFzIGEgR2l0SHViIFBSIGNvbW1lbnQuJyk7XCIsXG4gICAgICAgICcgICAgfSBjYXRjaCAoZTogYW55KSB7JyxcbiAgICAgICAgXCIgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcG9zdCBHaXRIdWIgUFIgY29tbWVudDonLCBlPy5tZXNzYWdlIHx8IGUpO1wiLFxuICAgICAgICAnICAgICAgLy8gRG8gbm90IGZhaWwgdGhlIHdob2xlIHNjcmlwdCBqdXN0IGZvciBjb21tZW50IHBvc3RpbmcnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgIFwiICAvLyBOb3RlOiBXaGVuIHN0YXR1cyBpcyBGQUlMRUQgZHVlIHRvIFxcXCJkaWRuJ3QgY29udGFpbiBjaGFuZ2VzXFxcIiwgdGhlIEhUTUwgbmF0dXJhbGx5IHNheXMgXFxcIm5vIGNoYW5nZS5cXFwiXCIsXG4gICAgICAgIFwiICBpZiAoc3RhdHVzID09PSAnRkFJTEVEJyAmJiBzdGF0dXNSZWFzb24pIHtcIixcbiAgICAgICAgJyAgICBjb25zb2xlLmVycm9yKGBDaGFuZ2Ugc2V0IHN0YXR1czogRkFJTEVELiBSZWFzb246ICR7c3RhdHVzUmVhc29ufWApOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnbWFpbigpLmNhdGNoKChlcnIpID0+IHsnLFxuICAgICAgICAnICBjb25zb2xlLmVycm9yKGVycik7JyxcbiAgICAgICAgJyAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7JyxcbiAgICAgICAgJ30pOycsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -90,10 +90,33 @@ async function main() {
90
90
  }
91
91
  }
92
92
  // When there is drift, collect details and post a PR comment + step summary
93
+ const outputFile = process.env.DRIFT_DETECTION_OUTPUT;
93
94
  if (stackDriftStatus !== 'IN_SYNC') {
94
95
  console.error(`Drift detected (status: ${stackDriftStatus})`);
95
96
  const drifts = await listDriftedResources();
96
97
  const html = buildHtml(stackName, drifts);
98
+ // Write machine-readable JSON if requested
99
+ if (outputFile) {
100
+ try {
101
+ const { writeFile } = await Promise.resolve().then(() => require('fs/promises'));
102
+ const result = [
103
+ {
104
+ stackName,
105
+ driftStatus: stackDriftStatus,
106
+ driftedResources: (drifts || []).map(d => ({
107
+ logicalResourceId: d.LogicalResourceId,
108
+ resourceType: d.ResourceType,
109
+ stackResourceDriftStatus: d.StackResourceDriftStatus,
110
+ propertyDifferences: d.PropertyDifferences,
111
+ })),
112
+ },
113
+ ];
114
+ await writeFile(outputFile, JSON.stringify(result, null, 2), { encoding: 'utf8' });
115
+ }
116
+ catch (e) {
117
+ console.error('Failed to write drift JSON results:', e?.message || e);
118
+ }
119
+ }
97
120
  // Print to stdout and append to summary if available
98
121
  console.log(html);
99
122
  const stepSummary = process.env.GITHUB_STEP_SUMMARY;
@@ -113,10 +136,27 @@ async function main() {
113
136
  }
114
137
  process.exit(1);
115
138
  }
139
+ // No drift case
140
+ if (outputFile) {
141
+ try {
142
+ const { writeFile } = await Promise.resolve().then(() => require('fs/promises'));
143
+ const result = [
144
+ {
145
+ stackName,
146
+ driftStatus: 'IN_SYNC',
147
+ driftedResources: [],
148
+ },
149
+ ];
150
+ await writeFile(outputFile, JSON.stringify(result, null, 2), { encoding: 'utf8' });
151
+ }
152
+ catch (e) {
153
+ console.error('Failed to write drift JSON results:', e?.message || e);
154
+ }
155
+ }
116
156
  console.log('No drift detected (IN_SYNC)');
117
157
  }
118
158
  main().catch((e) => {
119
159
  console.error(e);
120
160
  process.exit(1);
121
161
  });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LWRyaWZ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9kZXRlY3QtZHJpZnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFPd0M7QUFFeEMsS0FBSyxVQUFVLEtBQUssQ0FBQyxFQUFVO0lBQzdCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLE1BQU0sR0FBRyxJQUFJLDRDQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLCtDQUF1QixDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztJQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLElBQUksZUFBZSxHQUFHLHVCQUF1QixDQUFDO0lB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICBEZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXNDb21tYW5kLFxuICBEZXRlY3RTdGFja0RyaWZ0Q29tbWFuZCxcbiAgRGVzY3JpYmVTdGFja1Jlc291cmNlRHJpZnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHNDb21tYW5kT3V0cHV0LFxuICB0eXBlIFN0YWNrUmVzb3VyY2VEcmlmdFN0YXR1cyxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcblxuYXN5bmMgZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgbXMpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3Qgc3RhY2tOYW1lID0gcHJvY2Vzcy5lbnYuU1RBQ0tfTkFNRTtcbiAgaWYgKCFzdGFja05hbWUpIHtcbiAgICBjb25zb2xlLmVycm9yKCdTVEFDS19OQU1FIGVudiB2YXIgaXMgcmVxdWlyZWQnKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICAvLyBSZWdpb24gYW5kIGNyZWRlbnRpYWxzIHB1bGxlZCBmcm9tIGVudmlyb25tZW50IHNldCBieSBhY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNcbiAgY29uc3QgY2xpZW50ID0gbmV3IENsb3VkRm9ybWF0aW9uQ2xpZW50KHt9KTtcblxuICBjb25zdCBkZXRlY3QgPSBhd2FpdCBjbGllbnQuc2VuZChuZXcgRGV0ZWN0U3RhY2tEcmlmdENvbW1hbmQoeyBTdGFja05hbWU6IHN0YWNrTmFtZSB9KSk7XG4gIGlmICghZGV0ZWN0LlN0YWNrRHJpZnREZXRlY3Rpb25JZCkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBkcmlmdCBkZXRlY3Rpb24nKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICBjb25zdCBpZCA9IGRldGVjdC5TdGFja0RyaWZ0RGV0ZWN0aW9uSWQ7XG4gIGNvbnNvbGUubG9nKGBEcmlmdCBkZXRlY3Rpb24gc3RhcnRlZDogJHtpZH1gKTtcblxuICBsZXQgZGV0ZWN0aW9uU3RhdHVzID0gJ0RFVEVDVElPTl9JTl9QUk9HUkVTUyc7XG4gIGxldCBzdGFja0RyaWZ0U3RhdHVzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgd2hpbGUgKGRldGVjdGlvblN0YXR1cyA9PT0gJ0RFVEVDVElPTl9JTl9QUk9HUkVTUycpIHtcbiAgICBhd2FpdCBzbGVlcCg1MDAwKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBjbGllbnQuc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXNDb21tYW5kKHsgU3RhY2tEcmlmdERldGVjdGlvbklkOiBpZCB9KSxcbiAgICApO1xuICAgIGRldGVjdGlvblN0YXR1cyA9IHJlcy5EZXRlY3Rpb25TdGF0dXMgPz8gJ1VOS05PV04nO1xuICAgIHN0YWNrRHJpZnRTdGF0dXMgPSByZXMuU3RhY2tEcmlmdFN0YXR1cztcbiAgICBjb25zb2xlLmxvZyhgRGV0ZWN0aW9uIHN0YXR1czogJHtkZXRlY3Rpb25TdGF0dXN9YCk7XG4gIH1cblxuICAvLyBIZWxwZXIgdG8gYnVpbGQgYW4gSFRNTCByZXBvcnQgb2YgZHJpZnRlZCByZXNvdXJjZXNcbiAgY29uc3QgYnVpbGRIdG1sID0gKHN0YWNrOiBzdHJpbmcsIGRyaWZ0czogYW55W10pOiBzdHJpbmcgPT4ge1xuICAgIGxldCBib2R5ID0gYDxoMT5EcmlmdCByZXBvcnQ8L2gxPjxoMj5TdGFjayBOYW1lOiAke3N0YWNrfTwvaDI+PGJyPmA7XG4gICAgaWYgKGRyaWZ0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGJvZHkgKz0gJ25vIGRyaWZ0Lic7XG4gICAgICByZXR1cm4gYm9keTtcbiAgICB9XG4gICAgYm9keSArPSAnPHRhYmxlPicgK1xuICAgICAgJzx0cj48dGg+U3RhdHVzPC90aD48dGg+SUQ8L3RoPjx0aD5UeXBlPC90aD48dGg+RGlmZmVyZW5jZXM8L3RoPjwvdHI+JztcbiAgICBmb3IgKGNvbnN0IGQgb2YgZHJpZnRzKSB7XG4gICAgICBjb25zdCBzdGF0dXMgPSBkLlN0YWNrUmVzb3VyY2VEcmlmdFN0YXR1cyA/PyAnLSc7XG4gICAgICBjb25zdCBsb2dpY2FsSWQgPSBkLkxvZ2ljYWxSZXNvdXJjZUlkID8/ICctJztcbiAgICAgIGNvbnN0IHR5cGUgPSBkLlJlc291cmNlVHlwZSA/PyAnLSc7XG4gICAgICBjb25zdCBkaWZmcyA9IChkLlByb3BlcnR5RGlmZmVyZW5jZXMgPz8gW10pLm1hcCgocGQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBwID0gcGQuUHJvcGVydHlQYXRoID8/ICctJztcbiAgICAgICAgY29uc3QgdCA9IHBkLkRpZmZlcmVuY2VUeXBlID8/ICctJztcbiAgICAgICAgcmV0dXJuIGAtICR7dH06ICR7cH1gO1xuICAgICAgfSkuam9pbignPGJyPicpO1xuICAgICAgY29uc3Qgc3RhdHVzRW1vamkgPSBzdGF0dXMgPT09ICdNT0RJRklFRCcgPyAn8J+foCcgOiBzdGF0dXMgPT09ICdERUxFVEVEJyA/ICfwn5S0JyA6IHN0YXR1cyA9PT0gJ05PVF9DSEVDS0VEJyA/ICfimqonIDogJ/Cfn6InO1xuICAgICAgYm9keSArPSAnPHRyPicgK1xuICAgICAgICBgPHRkPiR7c3RhdHVzRW1vaml9ICR7c3RhdHVzfTwvdGQ+YCArXG4gICAgICAgIGA8dGQ+JHtsb2dpY2FsSWR9PC90ZD5gICtcbiAgICAgICAgYDx0ZD4ke3R5cGV9PC90ZD5gICtcbiAgICAgICAgYDx0ZD4ke2RpZmZzfTwvdGQ+YCArXG4gICAgICAgICc8L3RyPic7XG4gICAgfVxuICAgIGJvZHkgKz0gJzwvdGFibGU+JztcbiAgICByZXR1cm4gYm9keTtcbiAgfTtcblxuICBhc3luYyBmdW5jdGlvbiBsaXN0RHJpZnRlZFJlc291cmNlcygpOiBQcm9taXNlPGFueVtdPiB7XG4gICAgY29uc3QgcmVzdWx0czogYW55W10gPSBbXTtcbiAgICAvLyBPbmx5IGluY2x1ZGUgcmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBJTl9TWU5DXG4gICAgY29uc3QgZmlsdGVyczogU3RhY2tSZXNvdXJjZURyaWZ0U3RhdHVzW10gPSBbJ01PRElGSUVEJywgJ0RFTEVURUQnLCAnTk9UX0NIRUNLRUQnXTtcbiAgICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgZG8ge1xuICAgICAgY29uc3QgcmVzcDogRGVzY3JpYmVTdGFja1Jlc291cmNlRHJpZnRzQ29tbWFuZE91dHB1dCA9IGF3YWl0IGNsaWVudC5zZW5kKG5ldyBEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHNDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsXG4gICAgICAgIE5leHRUb2tlbjogbmV4dFRva2VuLFxuICAgICAgICBTdGFja1Jlc291cmNlRHJpZnRTdGF0dXNGaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgfSkpO1xuICAgICAgaWYgKHJlc3AuU3RhY2tSZXNvdXJjZURyaWZ0cykgcmVzdWx0cy5wdXNoKC4uLnJlc3AuU3RhY2tSZXNvdXJjZURyaWZ0cyk7XG4gICAgICBuZXh0VG9rZW4gPSByZXNwLk5leHRUb2tlbjtcbiAgICB9IHdoaWxlIChuZXh0VG9rZW4pO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcG9zdEdpdGh1YkNvbW1lbnQodXJsOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGJvZHk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdBdXRob3JpemF0aW9uJzogYHRva2VuICR7dG9rZW59YCxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi92bmQuZ2l0aHViK2pzb24nLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYm9keSB9KSxcbiAgICB9KTtcbiAgICBpZiAoIXJlcy5vaykge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlcy50ZXh0KCkuY2F0Y2goKCkgPT4gJycpO1xuICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHBvc3QgR2l0SHViIGNvbW1lbnQ6ICR7cmVzLnN0YXR1c30gJHtyZXMuc3RhdHVzVGV4dH0gJHt0ZXh0fWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdoZW4gdGhlcmUgaXMgZHJpZnQsIGNvbGxlY3QgZGV0YWlscyBhbmQgcG9zdCBhIFBSIGNvbW1lbnQgKyBzdGVwIHN1bW1hcnlcbiAgaWYgKHN0YWNrRHJpZnRTdGF0dXMgIT09ICdJTl9TWU5DJykge1xuICAgIGNvbnNvbGUuZXJyb3IoYERyaWZ0IGRldGVjdGVkIChzdGF0dXM6ICR7c3RhY2tEcmlmdFN0YXR1c30pYCk7XG4gICAgY29uc3QgZHJpZnRzID0gYXdhaXQgbGlzdERyaWZ0ZWRSZXNvdXJjZXMoKTtcbiAgICBjb25zdCBodG1sID0gYnVpbGRIdG1sKHN0YWNrTmFtZSwgZHJpZnRzKTtcblxuICAgIC8vIFByaW50IHRvIHN0ZG91dCBhbmQgYXBwZW5kIHRvIHN1bW1hcnkgaWYgYXZhaWxhYmxlXG4gICAgY29uc29sZS5sb2coaHRtbCk7XG4gICAgY29uc3Qgc3RlcFN1bW1hcnkgPSBwcm9jZXNzLmVudi5HSVRIVUJfU1RFUF9TVU1NQVJZO1xuICAgIGlmIChzdGVwU3VtbWFyeSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBhcHBlbmRGaWxlIH0gPSBhd2FpdCBpbXBvcnQoJ2ZzL3Byb21pc2VzJyk7XG4gICAgICAgIGF3YWl0IGFwcGVuZEZpbGUoc3RlcFN1bW1hcnksIGAke2h0bWx9XFxuYCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBhcHBlbmQgdG8gR0lUSFVCX1NURVBfU1VNTUFSWTonLCBlPy5tZXNzYWdlIHx8IGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbW1lbnRVcmwgPSBwcm9jZXNzLmVudi5HSVRIVUJfQ09NTUVOVF9VUkw7XG4gICAgY29uc3QgdG9rZW4gPSBwcm9jZXNzLmVudi5HSVRIVUJfVE9LRU47XG4gICAgaWYgKGNvbW1lbnRVcmwgJiYgdG9rZW4pIHtcbiAgICAgIGF3YWl0IHBvc3RHaXRodWJDb21tZW50KGNvbW1lbnRVcmwsIHRva2VuLCBodG1sKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cbiAgY29uc29sZS5sb2coJ05vIGRyaWZ0IGRldGVjdGVkIChJTl9TWU5DKScpO1xufVxuXG5tYWluKCkuY2F0Y2goKGUpID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LWRyaWZ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9kZXRlY3QtZHJpZnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFPd0M7QUFFeEMsS0FBSyxVQUFVLEtBQUssQ0FBQyxFQUFVO0lBQzdCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLE1BQU0sR0FBRyxJQUFJLDRDQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLCtDQUF1QixDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztJQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLElBQUksZUFBZSxHQUFHLHVCQUF1QixDQUFDO0lB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LENBQUMscUNBQXFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2xvdWRGb3JtYXRpb25DbGllbnQsXG4gIERlc2NyaWJlU3RhY2tEcmlmdERldGVjdGlvblN0YXR1c0NvbW1hbmQsXG4gIERldGVjdFN0YWNrRHJpZnRDb21tYW5kLFxuICBEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhY2tSZXNvdXJjZURyaWZ0c0NvbW1hbmRPdXRwdXQsXG4gIHR5cGUgU3RhY2tSZXNvdXJjZURyaWZ0U3RhdHVzLFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuXG5hc3luYyBmdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocikgPT4gc2V0VGltZW91dChyLCBtcykpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBzdGFja05hbWUgPSBwcm9jZXNzLmVudi5TVEFDS19OQU1FO1xuICBpZiAoIXN0YWNrTmFtZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1NUQUNLX05BTUUgZW52IHZhciBpcyByZXF1aXJlZCcpO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIC8vIFJlZ2lvbiBhbmQgY3JlZGVudGlhbHMgcHVsbGVkIGZyb20gZW52aXJvbm1lbnQgc2V0IGJ5IGFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc1xuICBjb25zdCBjbGllbnQgPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoe30pO1xuXG4gIGNvbnN0IGRldGVjdCA9IGF3YWl0IGNsaWVudC5zZW5kKG5ldyBEZXRlY3RTdGFja0RyaWZ0Q29tbWFuZCh7IFN0YWNrTmFtZTogc3RhY2tOYW1lIH0pKTtcbiAgaWYgKCFkZXRlY3QuU3RhY2tEcmlmdERldGVjdGlvbklkKSB7XG4gICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IGRyaWZ0IGRldGVjdGlvbicpO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIGNvbnN0IGlkID0gZGV0ZWN0LlN0YWNrRHJpZnREZXRlY3Rpb25JZDtcbiAgY29uc29sZS5sb2coYERyaWZ0IGRldGVjdGlvbiBzdGFydGVkOiAke2lkfWApO1xuXG4gIGxldCBkZXRlY3Rpb25TdGF0dXMgPSAnREVURUNUSU9OX0lOX1BST0dSRVNTJztcbiAgbGV0IHN0YWNrRHJpZnRTdGF0dXM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICB3aGlsZSAoZGV0ZWN0aW9uU3RhdHVzID09PSAnREVURUNUSU9OX0lOX1BST0dSRVNTJykge1xuICAgIGF3YWl0IHNsZWVwKDUwMDApO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGNsaWVudC5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tEcmlmdERldGVjdGlvblN0YXR1c0NvbW1hbmQoeyBTdGFja0RyaWZ0RGV0ZWN0aW9uSWQ6IGlkIH0pLFxuICAgICk7XG4gICAgZGV0ZWN0aW9uU3RhdHVzID0gcmVzLkRldGVjdGlvblN0YXR1cyA/PyAnVU5LTk9XTic7XG4gICAgc3RhY2tEcmlmdFN0YXR1cyA9IHJlcy5TdGFja0RyaWZ0U3RhdHVzO1xuICAgIGNvbnNvbGUubG9nKGBEZXRlY3Rpb24gc3RhdHVzOiAke2RldGVjdGlvblN0YXR1c31gKTtcbiAgfVxuXG4gIC8vIEhlbHBlciB0byBidWlsZCBhbiBIVE1MIHJlcG9ydCBvZiBkcmlmdGVkIHJlc291cmNlc1xuICBjb25zdCBidWlsZEh0bWwgPSAoc3RhY2s6IHN0cmluZywgZHJpZnRzOiBhbnlbXSk6IHN0cmluZyA9PiB7XG4gICAgbGV0IGJvZHkgPSBgPGgxPkRyaWZ0IHJlcG9ydDwvaDE+PGgyPlN0YWNrIE5hbWU6ICR7c3RhY2t9PC9oMj48YnI+YDtcbiAgICBpZiAoZHJpZnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgYm9keSArPSAnbm8gZHJpZnQuJztcbiAgICAgIHJldHVybiBib2R5O1xuICAgIH1cbiAgICBib2R5ICs9ICc8dGFibGU+JyArXG4gICAgICAnPHRyPjx0aD5TdGF0dXM8L3RoPjx0aD5JRDwvdGg+PHRoPlR5cGU8L3RoPjx0aD5EaWZmZXJlbmNlczwvdGg+PC90cj4nO1xuICAgIGZvciAoY29uc3QgZCBvZiBkcmlmdHMpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGQuU3RhY2tSZXNvdXJjZURyaWZ0U3RhdHVzID8/ICctJztcbiAgICAgIGNvbnN0IGxvZ2ljYWxJZCA9IGQuTG9naWNhbFJlc291cmNlSWQgPz8gJy0nO1xuICAgICAgY29uc3QgdHlwZSA9IGQuUmVzb3VyY2VUeXBlID8/ICctJztcbiAgICAgIGNvbnN0IGRpZmZzID0gKGQuUHJvcGVydHlEaWZmZXJlbmNlcyA/PyBbXSkubWFwKChwZDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHAgPSBwZC5Qcm9wZXJ0eVBhdGggPz8gJy0nO1xuICAgICAgICBjb25zdCB0ID0gcGQuRGlmZmVyZW5jZVR5cGUgPz8gJy0nO1xuICAgICAgICByZXR1cm4gYC0gJHt0fTogJHtwfWA7XG4gICAgICB9KS5qb2luKCc8YnI+Jyk7XG4gICAgICBjb25zdCBzdGF0dXNFbW9qaSA9IHN0YXR1cyA9PT0gJ01PRElGSUVEJyA/ICfwn5+gJyA6IHN0YXR1cyA9PT0gJ0RFTEVURUQnID8gJ/CflLQnIDogc3RhdHVzID09PSAnTk9UX0NIRUNLRUQnID8gJ+KaqicgOiAn8J+foic7XG4gICAgICBib2R5ICs9ICc8dHI+JyArXG4gICAgICAgIGA8dGQ+JHtzdGF0dXNFbW9qaX0gJHtzdGF0dXN9PC90ZD5gICtcbiAgICAgICAgYDx0ZD4ke2xvZ2ljYWxJZH08L3RkPmAgK1xuICAgICAgICBgPHRkPiR7dHlwZX08L3RkPmAgK1xuICAgICAgICBgPHRkPiR7ZGlmZnN9PC90ZD5gICtcbiAgICAgICAgJzwvdHI+JztcbiAgICB9XG4gICAgYm9keSArPSAnPC90YWJsZT4nO1xuICAgIHJldHVybiBib2R5O1xuICB9O1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxpc3REcmlmdGVkUmVzb3VyY2VzKCk6IFByb21pc2U8YW55W10+IHtcbiAgICBjb25zdCByZXN1bHRzOiBhbnlbXSA9IFtdO1xuICAgIC8vIE9ubHkgaW5jbHVkZSByZXNvdXJjZXMgdGhhdCBhcmUgbm90IElOX1NZTkNcbiAgICBjb25zdCBmaWx0ZXJzOiBTdGFja1Jlc291cmNlRHJpZnRTdGF0dXNbXSA9IFsnTU9ESUZJRUQnLCAnREVMRVRFRCcsICdOT1RfQ0hFQ0tFRCddO1xuICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBkbyB7XG4gICAgICBjb25zdCByZXNwOiBEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHNDb21tYW5kT3V0cHV0ID0gYXdhaXQgY2xpZW50LnNlbmQobmV3IERlc2NyaWJlU3RhY2tSZXNvdXJjZURyaWZ0c0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgICAgTmV4dFRva2VuOiBuZXh0VG9rZW4sXG4gICAgICAgIFN0YWNrUmVzb3VyY2VEcmlmdFN0YXR1c0ZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICB9KSk7XG4gICAgICBpZiAocmVzcC5TdGFja1Jlc291cmNlRHJpZnRzKSByZXN1bHRzLnB1c2goLi4ucmVzcC5TdGFja1Jlc291cmNlRHJpZnRzKTtcbiAgICAgIG5leHRUb2tlbiA9IHJlc3AuTmV4dFRva2VuO1xuICAgIH0gd2hpbGUgKG5leHRUb2tlbik7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBwb3N0R2l0aHViQ29tbWVudCh1cmw6IHN0cmluZywgdG9rZW46IHN0cmluZywgYm9keTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgdG9rZW4gJHt0b2tlbn1gLFxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL3ZuZC5naXRodWIranNvbicsXG4gICAgICB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBib2R5IH0pLFxuICAgIH0pO1xuICAgIGlmICghcmVzLm9rKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiAnJyk7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gcG9zdCBHaXRIdWIgY29tbWVudDogJHtyZXMuc3RhdHVzfSAke3Jlcy5zdGF0dXNUZXh0fSAke3RleHR9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2hlbiB0aGVyZSBpcyBkcmlmdCwgY29sbGVjdCBkZXRhaWxzIGFuZCBwb3N0IGEgUFIgY29tbWVudCArIHN0ZXAgc3VtbWFyeVxuICBjb25zdCBvdXRwdXRGaWxlID0gcHJvY2Vzcy5lbnYuRFJJRlRfREVURUNUSU9OX09VVFBVVDtcbiAgaWYgKHN0YWNrRHJpZnRTdGF0dXMgIT09ICdJTl9TWU5DJykge1xuICAgIGNvbnNvbGUuZXJyb3IoYERyaWZ0IGRldGVjdGVkIChzdGF0dXM6ICR7c3RhY2tEcmlmdFN0YXR1c30pYCk7XG4gICAgY29uc3QgZHJpZnRzID0gYXdhaXQgbGlzdERyaWZ0ZWRSZXNvdXJjZXMoKTtcbiAgICBjb25zdCBodG1sID0gYnVpbGRIdG1sKHN0YWNrTmFtZSwgZHJpZnRzKTtcblxuICAgIC8vIFdyaXRlIG1hY2hpbmUtcmVhZGFibGUgSlNPTiBpZiByZXF1ZXN0ZWRcbiAgICBpZiAob3V0cHV0RmlsZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB3cml0ZUZpbGUgfSA9IGF3YWl0IGltcG9ydCgnZnMvcHJvbWlzZXMnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHN0YWNrTmFtZSxcbiAgICAgICAgICAgIGRyaWZ0U3RhdHVzOiBzdGFja0RyaWZ0U3RhdHVzLFxuICAgICAgICAgICAgZHJpZnRlZFJlc291cmNlczogKGRyaWZ0cyB8fCBbXSkubWFwKGQgPT4gKHtcbiAgICAgICAgICAgICAgbG9naWNhbFJlc291cmNlSWQ6IGQuTG9naWNhbFJlc291cmNlSWQsXG4gICAgICAgICAgICAgIHJlc291cmNlVHlwZTogZC5SZXNvdXJjZVR5cGUsXG4gICAgICAgICAgICAgIHN0YWNrUmVzb3VyY2VEcmlmdFN0YXR1czogZC5TdGFja1Jlc291cmNlRHJpZnRTdGF0dXMsXG4gICAgICAgICAgICAgIHByb3BlcnR5RGlmZmVyZW5jZXM6IGQuUHJvcGVydHlEaWZmZXJlbmNlcyxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUob3V0cHV0RmlsZSwgSlNPTi5zdHJpbmdpZnkocmVzdWx0LCBudWxsLCAyKSwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB3cml0ZSBkcmlmdCBKU09OIHJlc3VsdHM6JywgZT8ubWVzc2FnZSB8fCBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmludCB0byBzdGRvdXQgYW5kIGFwcGVuZCB0byBzdW1tYXJ5IGlmIGF2YWlsYWJsZVxuICAgIGNvbnNvbGUubG9nKGh0bWwpO1xuICAgIGNvbnN0IHN0ZXBTdW1tYXJ5ID0gcHJvY2Vzcy5lbnYuR0lUSFVCX1NURVBfU1VNTUFSWTtcbiAgICBpZiAoc3RlcFN1bW1hcnkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgYXBwZW5kRmlsZSB9ID0gYXdhaXQgaW1wb3J0KCdmcy9wcm9taXNlcycpO1xuICAgICAgICBhd2FpdCBhcHBlbmRGaWxlKHN0ZXBTdW1tYXJ5LCBgJHtodG1sfVxcbmAsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gYXBwZW5kIHRvIEdJVEhVQl9TVEVQX1NVTU1BUlk6JywgZT8ubWVzc2FnZSB8fCBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb21tZW50VXJsID0gcHJvY2Vzcy5lbnYuR0lUSFVCX0NPTU1FTlRfVVJMO1xuICAgIGNvbnN0IHRva2VuID0gcHJvY2Vzcy5lbnYuR0lUSFVCX1RPS0VOO1xuICAgIGlmIChjb21tZW50VXJsICYmIHRva2VuKSB7XG4gICAgICBhd2FpdCBwb3N0R2l0aHViQ29tbWVudChjb21tZW50VXJsLCB0b2tlbiwgaHRtbCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgLy8gTm8gZHJpZnQgY2FzZVxuICBpZiAob3V0cHV0RmlsZSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHdyaXRlRmlsZSB9ID0gYXdhaXQgaW1wb3J0KCdmcy9wcm9taXNlcycpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gW1xuICAgICAgICB7XG4gICAgICAgICAgc3RhY2tOYW1lLFxuICAgICAgICAgIGRyaWZ0U3RhdHVzOiAnSU5fU1lOQycsXG4gICAgICAgICAgZHJpZnRlZFJlc291cmNlczogW10sXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKG91dHB1dEZpbGUsIEpTT04uc3RyaW5naWZ5KHJlc3VsdCwgbnVsbCwgMiksIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB3cml0ZSBkcmlmdCBKU09OIHJlc3VsdHM6JywgZT8ubWVzc2FnZSB8fCBlKTtcbiAgICB9XG4gIH1cbiAgY29uc29sZS5sb2coJ05vIGRyaWZ0IGRldGVjdGVkIChJTl9TWU5DKScpO1xufVxuXG5tYWluKCkuY2F0Y2goKGUpID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG4iXX0=
@@ -1,2 +1,4 @@
1
1
  export * from './CdkDiffStackWorkflow';
2
2
  export * from './CdkDiffIamTemplate';
3
+ export * from './CdkDriftIamTemplate';
4
+ export * from './CdkDriftDetectionWorkflow';
@@ -16,4 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./CdkDiffStackWorkflow"), exports);
18
18
  __exportStar(require("./CdkDiffIamTemplate"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QztBQUN2Qyx1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0Nka0RpZmZTdGFja1dvcmtmbG93JztcbmV4cG9ydCAqIGZyb20gJy4vQ2RrRGlmZklhbVRlbXBsYXRlJztcbiJdfQ==
19
+ __exportStar(require("./CdkDriftIamTemplate"), exports);
20
+ __exportStar(require("./CdkDriftDetectionWorkflow"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QztBQUN2Qyx1REFBcUM7QUFDckMsd0RBQXNDO0FBQ3RDLDhEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQ2RrRGlmZlN0YWNrV29ya2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9DZGtEaWZmSWFtVGVtcGxhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9DZGtEcmlmdElhbVRlbXBsYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vQ2RrRHJpZnREZXRlY3Rpb25Xb3JrZmxvdyc7XG4iXX0=