|
| 1 | +// objectstack.config.ts |
| 2 | +import { defineStack } from "@objectstack/spec"; |
| 3 | +import { App } from "@objectstack/spec/ui"; |
| 4 | + |
| 5 | +// src/objects/account.object.ts |
| 6 | +import { ObjectSchema, Field } from "@objectstack/spec/data"; |
| 7 | +var AccountObject = ObjectSchema.create({ |
| 8 | + name: "account", |
| 9 | + label: "Account", |
| 10 | + fields: { |
| 11 | + name: Field.text({ label: "Account Name", required: true }), |
| 12 | + industry: Field.text({ label: "Industry" }) |
| 13 | + } |
| 14 | +}); |
| 15 | + |
| 16 | +// src/objects/contact.object.ts |
| 17 | +import { ObjectSchema as ObjectSchema2, Field as Field2 } from "@objectstack/spec/data"; |
| 18 | +var ContactObject = ObjectSchema2.create({ |
| 19 | + name: "contact", |
| 20 | + label: "Contact", |
| 21 | + fields: { |
| 22 | + name: Field2.text({ label: "Name", required: true }), |
| 23 | + email: Field2.email({ label: "Email" }), |
| 24 | + phone: Field2.text({ label: "Phone" }), |
| 25 | + title: Field2.text({ label: "Title" }), |
| 26 | + company: Field2.text({ label: "Company" }), |
| 27 | + status: Field2.select(["Active", "Lead", "Customer"], { label: "Status" }), |
| 28 | + priority: Field2.number({ label: "Priority", defaultValue: 5 }), |
| 29 | + is_active: Field2.boolean({ label: "Active", defaultValue: true }), |
| 30 | + notes: Field2.textarea({ label: "Notes" }) |
| 31 | + } |
| 32 | +}); |
| 33 | + |
| 34 | +// src/objects/opportunity.object.ts |
| 35 | +import { ObjectSchema as ObjectSchema3, Field as Field3 } from "@objectstack/spec/data"; |
| 36 | +var OpportunityObject = ObjectSchema3.create({ |
| 37 | + name: "opportunity", |
| 38 | + label: "Opportunity", |
| 39 | + fields: { |
| 40 | + name: Field3.text({ label: "Opportunity Name", required: true }), |
| 41 | + amount: Field3.currency({ label: "Amount" }), |
| 42 | + stage: Field3.select(["Prospecting", "Proposal", "Negotiation", "Closed Won", "Closed Lost"], { label: "Stage" }), |
| 43 | + close_date: Field3.date({ label: "Close Date" }), |
| 44 | + account_id: Field3.lookup("account", { label: "Account" }), |
| 45 | + contact_ids: Field3.lookup("contact", { label: "Contacts", multiple: true }), |
| 46 | + description: Field3.textarea({ label: "Description" }) |
| 47 | + } |
| 48 | +}); |
| 49 | + |
| 50 | +// objectstack.config.ts |
| 51 | +var objectstack_config_default = defineStack({ |
| 52 | + objects: [ |
| 53 | + AccountObject, |
| 54 | + ContactObject, |
| 55 | + OpportunityObject |
| 56 | + ], |
| 57 | + apps: [ |
| 58 | + App.create({ |
| 59 | + name: "crm_app", |
| 60 | + label: "CRM", |
| 61 | + icon: "users", |
| 62 | + navigation: [ |
| 63 | + { |
| 64 | + id: "nav_contacts", |
| 65 | + type: "object", |
| 66 | + objectName: "contact", |
| 67 | + label: "Contacts" |
| 68 | + }, |
| 69 | + { |
| 70 | + id: "nav_opportunities", |
| 71 | + type: "object", |
| 72 | + objectName: "opportunity", |
| 73 | + label: "Opportunities" |
| 74 | + }, |
| 75 | + { |
| 76 | + id: "nav_accounts", |
| 77 | + type: "object", |
| 78 | + objectName: "account", |
| 79 | + label: "Accounts" |
| 80 | + } |
| 81 | + ] |
| 82 | + }) |
| 83 | + ], |
| 84 | + manifest: { |
| 85 | + id: "com.example.crm", |
| 86 | + version: "1.0.0", |
| 87 | + type: "app", |
| 88 | + name: "CRM Example", |
| 89 | + description: "CRM App Definition", |
| 90 | + data: [ |
| 91 | + { |
| 92 | + object: "account", |
| 93 | + mode: "upsert", |
| 94 | + records: [ |
| 95 | + { _id: "1", name: "TechCorp" }, |
| 96 | + { _id: "2", name: "Software Inc" }, |
| 97 | + { _id: "3", name: "Good Grief LLC" } |
| 98 | + ] |
| 99 | + }, |
| 100 | + { |
| 101 | + object: "contact", |
| 102 | + mode: "upsert", |
| 103 | + records: [ |
| 104 | + { _id: "1", name: "Alice Johnson", email: "alice@example.com", phone: "555-0101", title: "VP Sales", company: "TechCorp", status: "Active" }, |
| 105 | + { _id: "2", name: "Bob Smith", email: "bob@tech.com", phone: "555-0102", title: "Developer", company: "Software Inc", status: "Lead" }, |
| 106 | + { _id: "3", name: "Charlie Brown", email: "charlie@peanuts.com", phone: "555-0103", title: "Manager", company: "Good Grief LLC", status: "Customer" } |
| 107 | + ] |
| 108 | + }, |
| 109 | + { |
| 110 | + object: "opportunity", |
| 111 | + mode: "upsert", |
| 112 | + records: [ |
| 113 | + { |
| 114 | + _id: "101", |
| 115 | + name: "TechCorp Enterprise License", |
| 116 | + amount: 5e4, |
| 117 | + stage: "Proposal", |
| 118 | + close_date: /* @__PURE__ */ new Date("2024-06-30"), |
| 119 | + account_id: "1", |
| 120 | + contact_ids: ["1", "2"], |
| 121 | + description: "Enterprise software license for 500 users. Includes premium support and training." |
| 122 | + }, |
| 123 | + { |
| 124 | + _id: "102", |
| 125 | + name: "Software Inc Pilot", |
| 126 | + amount: 5e3, |
| 127 | + stage: "Closed Won", |
| 128 | + close_date: /* @__PURE__ */ new Date("2024-01-15"), |
| 129 | + account_id: "2", |
| 130 | + contact_ids: ["2"], |
| 131 | + description: "Pilot program for 50 users." |
| 132 | + }, |
| 133 | + { |
| 134 | + _id: "103", |
| 135 | + name: "Good Grief Consultant", |
| 136 | + amount: 12e3, |
| 137 | + stage: "Negotiation", |
| 138 | + close_date: /* @__PURE__ */ new Date("2024-05-20"), |
| 139 | + account_id: "3", |
| 140 | + contact_ids: ["3"], |
| 141 | + description: "Consulting services for Q2 implementation." |
| 142 | + } |
| 143 | + ] |
| 144 | + } |
| 145 | + ] |
| 146 | + } |
| 147 | +}); |
| 148 | +export { |
| 149 | + objectstack_config_default as default |
| 150 | +}; |
| 151 | +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsib2JqZWN0c3RhY2suY29uZmlnLnRzIiwgInNyYy9vYmplY3RzL2FjY291bnQub2JqZWN0LnRzIiwgInNyYy9vYmplY3RzL2NvbnRhY3Qub2JqZWN0LnRzIiwgInNyYy9vYmplY3RzL29wcG9ydHVuaXR5Lm9iamVjdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX19pbmplY3RlZF9maWxlbmFtZV9fID0gXCIvaG9tZS9ydW5uZXIvd29yay9vYmplY3R1aS9vYmplY3R1aS9leGFtcGxlcy9jcm0vb2JqZWN0c3RhY2suY29uZmlnLnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIi9ob21lL3J1bm5lci93b3JrL29iamVjdHVpL29iamVjdHVpL2V4YW1wbGVzL2NybVwiO2NvbnN0IF9faW5qZWN0ZWRfaW1wb3J0X21ldGFfdXJsX18gPSBcImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vYmplY3R1aS9vYmplY3R1aS9leGFtcGxlcy9jcm0vb2JqZWN0c3RhY2suY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lU3RhY2sgfSBmcm9tICdAb2JqZWN0c3RhY2svc3BlYyc7XG5pbXBvcnQgeyBBcHAgfSBmcm9tICdAb2JqZWN0c3RhY2svc3BlYy91aSc7XG5pbXBvcnQgeyBBY2NvdW50T2JqZWN0IH0gZnJvbSAnLi9zcmMvb2JqZWN0cy9hY2NvdW50Lm9iamVjdCc7XG5pbXBvcnQgeyBDb250YWN0T2JqZWN0IH0gZnJvbSAnLi9zcmMvb2JqZWN0cy9jb250YWN0Lm9iamVjdCc7XG5pbXBvcnQgeyBPcHBvcnR1bml0eU9iamVjdCB9IGZyb20gJy4vc3JjL29iamVjdHMvb3Bwb3J0dW5pdHkub2JqZWN0JztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lU3RhY2soe1xuICBvYmplY3RzOiBbXG4gICAgQWNjb3VudE9iamVjdCxcbiAgICBDb250YWN0T2JqZWN0LFxuICAgIE9wcG9ydHVuaXR5T2JqZWN0XG4gIF0sXG4gIGFwcHM6IFtcbiAgICBBcHAuY3JlYXRlKHtcbiAgICAgIG5hbWU6ICdjcm1fYXBwJyxcbiAgICAgIGxhYmVsOiAnQ1JNJyxcbiAgICAgIGljb246ICd1c2VycycsXG4gICAgICBuYXZpZ2F0aW9uOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ25hdl9jb250YWN0cycsXG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgb2JqZWN0TmFtZTogJ2NvbnRhY3QnLFxuICAgICAgICAgIGxhYmVsOiAnQ29udGFjdHMnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ25hdl9vcHBvcnR1bml0aWVzJyxcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBvYmplY3ROYW1lOiAnb3Bwb3J0dW5pdHknLFxuICAgICAgICAgIGxhYmVsOiAnT3Bwb3J0dW5pdGllcydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnbmF2X2FjY291bnRzJyxcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBvYmplY3ROYW1lOiAnYWNjb3VudCcsXG4gICAgICAgICAgbGFiZWw6ICdBY2NvdW50cydcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pXG4gIF0sXG4gIG1hbmlmZXN0OiB7XG4gICAgaWQ6ICdjb20uZXhhbXBsZS5jcm0nLFxuICAgIHZlcnNpb246ICcxLjAuMCcsXG4gICAgdHlwZTogJ2FwcCcsXG4gICAgbmFtZTogJ0NSTSBFeGFtcGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NSTSBBcHAgRGVmaW5pdGlvbicsXG4gICAgZGF0YTogW1xuICAgICAge1xuICAgICAgICBvYmplY3Q6ICdhY2NvdW50JyxcbiAgICAgICAgbW9kZTogJ3Vwc2VydCcsXG4gICAgICAgIHJlY29yZHM6IFtcbiAgICAgICAgICB7IF9pZDogXCIxXCIsIG5hbWU6IFwiVGVjaENvcnBcIiB9LFxuICAgICAgICAgIHsgX2lkOiBcIjJcIiwgbmFtZTogXCJTb2Z0d2FyZSBJbmNcIiB9LFxuICAgICAgICAgIHsgX2lkOiBcIjNcIiwgbmFtZTogXCJHb29kIEdyaWVmIExMQ1wiIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb2JqZWN0OiAnY29udGFjdCcsXG4gICAgICAgIG1vZGU6ICd1cHNlcnQnLFxuICAgICAgICByZWNvcmRzOiBbXG4gICAgICAgICAgeyBfaWQ6IFwiMVwiLCBuYW1lOiBcIkFsaWNlIEpvaG5zb25cIiwgZW1haWw6IFwiYWxpY2VAZXhhbXBsZS5jb21cIiwgcGhvbmU6IFwiNTU1LTAxMDFcIiwgdGl0bGU6IFwiVlAgU2FsZXNcIiwgY29tcGFueTogXCJUZWNoQ29ycFwiLCBzdGF0dXM6IFwiQWN0aXZlXCIgfSxcbiAgICAgICAgICB7IF9pZDogXCIyXCIsIG5hbWU6IFwiQm9iIFNtaXRoXCIsIGVtYWlsOiBcImJvYkB0ZWNoLmNvbVwiLCBwaG9uZTogXCI1NTUtMDEwMlwiLCB0aXRsZTogXCJEZXZlbG9wZXJcIiwgY29tcGFueTogXCJTb2Z0d2FyZSBJbmNcIiwgc3RhdHVzOiBcIkxlYWRcIiB9LFxuICAgICAgICAgIHsgX2lkOiBcIjNcIiwgbmFtZTogXCJDaGFybGllIEJyb3duXCIsIGVtYWlsOiBcImNoYXJsaWVAcGVhbnV0cy5jb21cIiwgcGhvbmU6IFwiNTU1LTAxMDNcIiwgdGl0bGU6IFwiTWFuYWdlclwiLCBjb21wYW55OiBcIkdvb2QgR3JpZWYgTExDXCIsIHN0YXR1czogXCJDdXN0b21lclwiIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb2JqZWN0OiAnb3Bwb3J0dW5pdHknLFxuICAgICAgICBtb2RlOiAndXBzZXJ0JyxcbiAgICAgICAgcmVjb3JkczogW1xuICAgICAgICAgIHsgXG4gICAgICAgICAgICAgIF9pZDogXCIxMDFcIiwgXG4gICAgICAgICAgICAgIG5hbWU6IFwiVGVjaENvcnAgRW50ZXJwcmlzZSBMaWNlbnNlXCIsIFxuICAgICAgICAgICAgICBhbW91bnQ6IDUwMDAwLCBcbiAgICAgICAgICAgICAgc3RhZ2U6IFwiUHJvcG9zYWxcIiwgXG4gICAgICAgICAgICAgIGNsb3NlX2RhdGU6IG5ldyBEYXRlKFwiMjAyNC0wNi0zMFwiKSwgXG4gICAgICAgICAgICAgIGFjY291bnRfaWQ6IFwiMVwiLCBcbiAgICAgICAgICAgICAgY29udGFjdF9pZHM6IFtcIjFcIiwgXCIyXCJdLCBcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRW50ZXJwcmlzZSBzb2Z0d2FyZSBsaWNlbnNlIGZvciA1MDAgdXNlcnMuIEluY2x1ZGVzIHByZW1pdW0gc3VwcG9ydCBhbmQgdHJhaW5pbmcuXCIgXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IFxuICAgICAgICAgICAgICBfaWQ6IFwiMTAyXCIsIFxuICAgICAgICAgICAgICBuYW1lOiBcIlNvZnR3YXJlIEluYyBQaWxvdFwiLCBcbiAgICAgICAgICAgICAgYW1vdW50OiA1MDAwLCBcbiAgICAgICAgICAgICAgc3RhZ2U6IFwiQ2xvc2VkIFdvblwiLCBcbiAgICAgICAgICAgICAgY2xvc2VfZGF0ZTogbmV3IERhdGUoXCIyMDI0LTAxLTE1XCIpLCBcbiAgICAgICAgICAgICAgYWNjb3VudF9pZDogXCIyXCIsXG4gICAgICAgICAgICAgIGNvbnRhY3RfaWRzOiBbXCIyXCJdLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQaWxvdCBwcm9ncmFtIGZvciA1MCB1c2Vycy5cIiBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgXG4gICAgICAgICAgICAgIF9pZDogXCIxMDNcIiwgXG4gICAgICAgICAgICAgIG5hbWU6IFwiR29vZCBHcmllZiBDb25zdWx0YW50XCIsIFxuICAgICAgICAgICAgICBhbW91bnQ6IDEyMDAwLCBcbiAgICAgICAgICAgICAgc3RhZ2U6IFwiTmVnb3RpYXRpb25cIiwgXG4gICAgICAgICAgICAgIGNsb3NlX2RhdGU6IG5ldyBEYXRlKFwiMjAyNC0wNS0yMFwiKSwgXG4gICAgICAgICAgICAgIGFjY291bnRfaWQ6IFwiM1wiLFxuICAgICAgICAgICAgICBjb250YWN0X2lkczogW1wiM1wiXSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQ29uc3VsdGluZyBzZXJ2aWNlcyBmb3IgUTIgaW1wbGVtZW50YXRpb24uXCIgXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9XG59KTtcbiIsICJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIi9ob21lL3J1bm5lci93b3JrL29iamVjdHVpL29iamVjdHVpL2V4YW1wbGVzL2NybS9zcmMvb2JqZWN0cy9hY2NvdW50Lm9iamVjdC50c1wiO2NvbnN0IF9faW5qZWN0ZWRfZGlybmFtZV9fID0gXCIvaG9tZS9ydW5uZXIvd29yay9vYmplY3R1aS9vYmplY3R1aS9leGFtcGxlcy9jcm0vc3JjL29iamVjdHNcIjtjb25zdCBfX2luamVjdGVkX2ltcG9ydF9tZXRhX3VybF9fID0gXCJmaWxlOi8vL2hvbWUvcnVubmVyL3dvcmsvb2JqZWN0dWkvb2JqZWN0dWkvZXhhbXBsZXMvY3JtL3NyYy9vYmplY3RzL2FjY291bnQub2JqZWN0LnRzXCI7aW1wb3J0IHsgT2JqZWN0U2NoZW1hLCBGaWVsZCB9IGZyb20gJ0BvYmplY3RzdGFjay9zcGVjL2RhdGEnO1xuXG5leHBvcnQgY29uc3QgQWNjb3VudE9iamVjdCA9IE9iamVjdFNjaGVtYS5jcmVhdGUoe1xuICBuYW1lOiAnYWNjb3VudCcsXG4gIGxhYmVsOiAnQWNjb3VudCcsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IEZpZWxkLnRleHQoeyBsYWJlbDogJ0FjY291bnQgTmFtZScsIHJlcXVpcmVkOiB0cnVlIH0pLFxuICAgIGluZHVzdHJ5OiBGaWVsZC50ZXh0KHsgbGFiZWw6ICdJbmR1c3RyeScgfSlcbiAgfVxufSk7XG4iLCAiY29uc3QgX19pbmplY3RlZF9maWxlbmFtZV9fID0gXCIvaG9tZS9ydW5uZXIvd29yay9vYmplY3R1aS9vYmplY3R1aS9leGFtcGxlcy9jcm0vc3JjL29iamVjdHMvY29udGFjdC5vYmplY3QudHNcIjtjb25zdCBfX2luamVjdGVkX2Rpcm5hbWVfXyA9IFwiL2hvbWUvcnVubmVyL3dvcmsvb2JqZWN0dWkvb2JqZWN0dWkvZXhhbXBsZXMvY3JtL3NyYy9vYmplY3RzXCI7Y29uc3QgX19pbmplY3RlZF9pbXBvcnRfbWV0YV91cmxfXyA9IFwiZmlsZTovLy9ob21lL3J1bm5lci93b3JrL29iamVjdHVpL29iamVjdHVpL2V4YW1wbGVzL2NybS9zcmMvb2JqZWN0cy9jb250YWN0Lm9iamVjdC50c1wiO2ltcG9ydCB7IE9iamVjdFNjaGVtYSwgRmllbGQgfSBmcm9tICdAb2JqZWN0c3RhY2svc3BlYy9kYXRhJztcblxuZXhwb3J0IGNvbnN0IENvbnRhY3RPYmplY3QgPSBPYmplY3RTY2hlbWEuY3JlYXRlKHtcbiAgbmFtZTogJ2NvbnRhY3QnLFxuICBsYWJlbDogJ0NvbnRhY3QnLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBGaWVsZC50ZXh0KHsgbGFiZWw6ICdOYW1lJywgcmVxdWlyZWQ6IHRydWUgfSksXG4gICAgZW1haWw6IEZpZWxkLmVtYWlsKHsgbGFiZWw6ICdFbWFpbCcgfSksXG4gICAgcGhvbmU6IEZpZWxkLnRleHQoeyBsYWJlbDogJ1Bob25lJyB9KSxcbiAgICB0aXRsZTogRmllbGQudGV4dCh7IGxhYmVsOiAnVGl0bGUnIH0pLFxuICAgIGNvbXBhbnk6IEZpZWxkLnRleHQoeyBsYWJlbDogJ0NvbXBhbnknIH0pLFxuICAgIHN0YXR1czogRmllbGQuc2VsZWN0KFsnQWN0aXZlJywgJ0xlYWQnLCAnQ3VzdG9tZXInXSwgeyBsYWJlbDogJ1N0YXR1cycgfSksXG4gICAgcHJpb3JpdHk6IEZpZWxkLm51bWJlcih7IGxhYmVsOiAnUHJpb3JpdHknLCBkZWZhdWx0VmFsdWU6IDUgfSksXG4gICAgaXNfYWN0aXZlOiBGaWVsZC5ib29sZWFuKHsgbGFiZWw6ICdBY3RpdmUnLCBkZWZhdWx0VmFsdWU6IHRydWUgfSksXG4gICAgbm90ZXM6IEZpZWxkLnRleHRhcmVhKHsgbGFiZWw6ICdOb3RlcycgfSlcbiAgfVxufSk7XG4iLCAiY29uc3QgX19pbmplY3RlZF9maWxlbmFtZV9fID0gXCIvaG9tZS9ydW5uZXIvd29yay9vYmplY3R1aS9vYmplY3R1aS9leGFtcGxlcy9jcm0vc3JjL29iamVjdHMvb3Bwb3J0dW5pdHkub2JqZWN0LnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIi9ob21lL3J1bm5lci93b3JrL29iamVjdHVpL29iamVjdHVpL2V4YW1wbGVzL2NybS9zcmMvb2JqZWN0c1wiO2NvbnN0IF9faW5qZWN0ZWRfaW1wb3J0X21ldGFfdXJsX18gPSBcImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vYmplY3R1aS9vYmplY3R1aS9leGFtcGxlcy9jcm0vc3JjL29iamVjdHMvb3Bwb3J0dW5pdHkub2JqZWN0LnRzXCI7aW1wb3J0IHsgT2JqZWN0U2NoZW1hLCBGaWVsZCB9IGZyb20gJ0BvYmplY3RzdGFjay9zcGVjL2RhdGEnO1xuXG5leHBvcnQgY29uc3QgT3Bwb3J0dW5pdHlPYmplY3QgPSBPYmplY3RTY2hlbWEuY3JlYXRlKHtcbiAgbmFtZTogJ29wcG9ydHVuaXR5JyxcbiAgbGFiZWw6ICdPcHBvcnR1bml0eScsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IEZpZWxkLnRleHQoeyBsYWJlbDogJ09wcG9ydHVuaXR5IE5hbWUnLCByZXF1aXJlZDogdHJ1ZSB9KSxcbiAgICBhbW91bnQ6IEZpZWxkLmN1cnJlbmN5KHsgbGFiZWw6ICdBbW91bnQnIH0pLFxuICAgIHN0YWdlOiBGaWVsZC5zZWxlY3QoW1wiUHJvc3BlY3RpbmdcIiwgXCJQcm9wb3NhbFwiLCBcIk5lZ290aWF0aW9uXCIsIFwiQ2xvc2VkIFdvblwiLCBcIkNsb3NlZCBMb3N0XCJdLCB7IGxhYmVsOiAnU3RhZ2UnIH0pLFxuICAgIGNsb3NlX2RhdGU6IEZpZWxkLmRhdGUoeyBsYWJlbDogJ0Nsb3NlIERhdGUnIH0pLFxuICAgIGFjY291bnRfaWQ6IEZpZWxkLmxvb2t1cCgnYWNjb3VudCcsIHsgbGFiZWw6ICdBY2NvdW50JyB9KSxcbiAgICBjb250YWN0X2lkczogRmllbGQubG9va3VwKCdjb250YWN0JywgeyBsYWJlbDogJ0NvbnRhY3RzJywgbXVsdGlwbGU6IHRydWUgfSksXG4gICAgZGVzY3JpcHRpb246IEZpZWxkLnRleHRhcmVhKHsgbGFiZWw6ICdEZXNjcmlwdGlvbicgfSlcbiAgfVxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQTRTLFNBQVMsbUJBQW1CO0FBQ3hVLFNBQVMsV0FBVzs7O0FDRG9ULFNBQVMsY0FBYyxhQUFhO0FBRXJXLElBQU0sZ0JBQWdCLGFBQWEsT0FBTztBQUFBLEVBQy9DLE1BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLFFBQVE7QUFBQSxJQUNOLE1BQU0sTUFBTSxLQUFLLEVBQUUsT0FBTyxnQkFBZ0IsVUFBVSxLQUFLLENBQUM7QUFBQSxJQUMxRCxVQUFVLE1BQU0sS0FBSyxFQUFFLE9BQU8sV0FBVyxDQUFDO0FBQUEsRUFDNUM7QUFDRixDQUFDOzs7QUNUdVUsU0FBUyxnQkFBQUEsZUFBYyxTQUFBQyxjQUFhO0FBRXJXLElBQU0sZ0JBQWdCQyxjQUFhLE9BQU87QUFBQSxFQUMvQyxNQUFNO0FBQUEsRUFDTixPQUFPO0FBQUEsRUFDUCxRQUFRO0FBQUEsSUFDTixNQUFNQyxPQUFNLEtBQUssRUFBRSxPQUFPLFFBQVEsVUFBVSxLQUFLLENBQUM7QUFBQSxJQUNsRCxPQUFPQSxPQUFNLE1BQU0sRUFBRSxPQUFPLFFBQVEsQ0FBQztBQUFBLElBQ3JDLE9BQU9BLE9BQU0sS0FBSyxFQUFFLE9BQU8sUUFBUSxDQUFDO0FBQUEsSUFDcEMsT0FBT0EsT0FBTSxLQUFLLEVBQUUsT0FBTyxRQUFRLENBQUM7QUFBQSxJQUNwQyxTQUFTQSxPQUFNLEtBQUssRUFBRSxPQUFPLFVBQVUsQ0FBQztBQUFBLElBQ3hDLFFBQVFBLE9BQU0sT0FBTyxDQUFDLFVBQVUsUUFBUSxVQUFVLEdBQUcsRUFBRSxPQUFPLFNBQVMsQ0FB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QUEsTUFDQTtBQUFBLFFBQ0UsUUFBUTtBQUFBLFFBQ1IsTUFBTTtBQUFBLFFBQ04sU0FBUztBQUFBLFVBQ1A7QUFBQSxZQUNJLEtBQUs7QUFBQSxZQUNMLE1BQU07QUFBQSxZQUNOLFFBQVE7QUFBQSxZQUNSLE9BQU87QUFBQSxZQUNQLFlBQVksb0JBQUksS0FBSyxZQUFZO0FBQUEsWUFDakMsWUFBWTtBQUFBLFlBQ1osYUFBYSxDQUFDLEtBQUssR0FBRztBQUFBLFlBQ3RCLGFBQWE7QUFBQSxVQUNqQjtBQUFBLFVBQ0E7QUFBQSxZQUNJLEtBQUs7QUFBQSxZQUNMLE1BQU07QUFBQSxZQUNOLFFBQVE7QUFBQSxZQUNSLE9BQU87QUFBQSxZQUNQLFlBQVksb0JBQUksS0FBSyxZQUFZO0FBQUEsWUFDakMsWUFBWTtBQUFBLFlBQ1osYUFBYSxDQUFDLEdBQUc7QUFBQSxZQUNqQixhQUFhO0FBQUEsVUFDakI7QUFBQSxVQUNBO0FBQUEsWUFDSSxLQUFLO0FBQUEsWUFDTCxNQUFNO0FBQUEsWUFDTixRQUFRO0FBQUEsWUFDUixPQUFPO0FBQUEsWUFDUCxZQUFZLG9CQUFJLEtBQUssWUFBWTtBQUFBLFlBQ2pDLFlBQVk7QUFBQSxZQUNaLGFBQWEsQ0FBQyxHQUFHO0FBQUEsWUFDakIsYUFBYTtBQUFBLFVBQ2pCO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbIk9iamVjdFNjaGVtYSIsICJGaWVsZCIsICJPYmplY3RTY2hlbWEiLCAiRmllbGQiLCAiT2JqZWN0U2NoZW1hIiwgIkZpZWxkIiwgIk9iamVjdFNjaGVtYSIsICJGaWVsZCJdCn0K |
0 commit comments