@merchi/product-form 1.19.21 → 1.19.22

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.
@@ -1073,19 +1073,154 @@
1073
1073
  gap: 0.45rem;
1074
1074
  }
1075
1075
 
1076
- .merchi-product-draft-cta-btn {
1076
+ .merchi-product-draft-cta-choices {
1077
+ display: grid;
1078
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1079
+ gap: 0.45rem;
1080
+ }
1081
+
1082
+ .merchi-product-draft-cta-btn,
1083
+ .merchi-product-draft-cta-download {
1077
1084
  display: inline-flex;
1078
1085
  align-items: center;
1079
1086
  justify-content: center;
1080
1087
  gap: 0.4rem;
1088
+ width: 100%;
1081
1089
  min-height: 44px;
1082
- padding: 0.55rem 0.95rem;
1083
- border: 0;
1090
+ padding: 0.55rem 0.75rem;
1084
1091
  border-radius: 0.7rem;
1092
+ font: inherit;
1093
+ font-weight: 600;
1094
+ font-size: 0.85rem;
1095
+ line-height: 1.2;
1096
+ cursor: pointer;
1097
+ }
1098
+
1099
+ .merchi-product-draft-cta-btn {
1100
+ border: 0;
1085
1101
  background: #111827;
1086
1102
  color: #fff;
1103
+ }
1104
+
1105
+ .merchi-product-draft-cta-download {
1106
+ border: 1px solid #d4d4d8;
1107
+ background: #fff;
1108
+ color: #111827;
1109
+ }
1110
+
1111
+ .merchi-product-draft-cta-download svg:last-child {
1112
+ transition: transform 0.15s ease;
1113
+ }
1114
+
1115
+ .merchi-product-draft-cta-download.is-open {
1116
+ border-color: #2563eb;
1117
+ background: #fff;
1118
+ }
1119
+
1120
+ .merchi-product-draft-cta-download.is-open svg:last-child {
1121
+ transform: rotate(180deg);
1122
+ }
1123
+
1124
+ .merchi-product-draft-template-menu {
1125
+ display: flex;
1126
+ flex-direction: column;
1127
+ gap: 0.75rem;
1128
+ padding: 0.85rem;
1129
+ border: 1px solid #e4e4e7;
1130
+ border-radius: 0.75rem;
1131
+ background: #fafafa;
1132
+ box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
1133
+ }
1134
+
1135
+ .merchi-product-draft-template-menu p {
1136
+ margin: 0;
1137
+ font-size: 0.8rem;
1138
+ line-height: 1.4;
1139
+ color: #71717a;
1140
+ }
1141
+
1142
+ .merchi-product-draft-template-list,
1143
+ .merchi-product-draft-upload-list {
1144
+ display: flex;
1145
+ flex-direction: column;
1146
+ gap: 0.45rem;
1147
+ margin: 0;
1148
+ padding: 0;
1149
+ list-style: none;
1150
+ }
1151
+
1152
+ .merchi-product-draft-template-list li,
1153
+ .merchi-product-draft-upload-list li {
1154
+ display: flex;
1155
+ align-items: center;
1156
+ gap: 0.7rem;
1157
+ min-height: 56px;
1158
+ padding: 0.4rem 0.5rem;
1159
+ border: 1px solid #e4e4e7;
1160
+ border-radius: 0.7rem;
1161
+ background: #fff;
1162
+ }
1163
+
1164
+ .merchi-product-draft-template-avatar {
1165
+ width: 40px;
1166
+ height: 40px;
1167
+ flex: 0 0 40px;
1168
+ border-radius: 0.55rem;
1169
+ object-fit: cover;
1170
+ background: #f4f4f5;
1171
+ border: 1px solid #e4e4e7;
1172
+ }
1173
+
1174
+ .merchi-product-draft-template-avatar.is-empty {
1175
+ display: inline-flex;
1176
+ align-items: center;
1177
+ justify-content: center;
1178
+ color: #3f3f46;
1179
+ font-size: 0.85rem;
1180
+ font-weight: 700;
1181
+ }
1182
+
1183
+ .merchi-product-draft-cta-panel span.merchi-product-draft-template-name {
1184
+ min-width: 0;
1185
+ flex: 1;
1186
+ color: #111827;
1187
+ font-size: 0.85rem;
1087
1188
  font-weight: 600;
1088
- font-size: 0.9rem;
1189
+ overflow: hidden;
1190
+ text-overflow: ellipsis;
1191
+ white-space: nowrap;
1192
+ }
1193
+
1194
+ .merchi-product-draft-template-download,
1195
+ .merchi-product-draft-upload-remove {
1196
+ display: inline-flex;
1197
+ align-items: center;
1198
+ justify-content: center;
1199
+ gap: 0.35rem;
1200
+ flex: 0 0 auto;
1201
+ min-height: 34px;
1202
+ padding: 0.35rem 0.7rem;
1203
+ border: 1px solid #e4e4e7;
1204
+ border-radius: 0.55rem;
1205
+ background: #fff;
1206
+ color: #111827;
1207
+ font: inherit;
1208
+ font-size: 0.78rem;
1209
+ font-weight: 600;
1210
+ text-decoration: none;
1211
+ cursor: pointer;
1212
+ }
1213
+
1214
+ .merchi-product-draft-upload-remove {
1215
+ width: 34px;
1216
+ padding: 0;
1217
+ color: #71717a;
1218
+ }
1219
+
1220
+ .merchi-product-draft-template-drop .merchi-embed-form_dropzone {
1221
+ z-index: 1;
1222
+ margin: 0;
1223
+ padding: 1rem 0.85rem;
1089
1224
  }
1090
1225
 
1091
1226
  .merchi-product-draft-cta-reset {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAGC;AAEC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbL;AAiBC;;AACA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EAGE;EACA;EACA;EACA;;AA/BH;AAkCC;;AACA;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AApDL;AAwDC;;AAKI;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAlFL;AAsFC;;AAEE;EACE;EACA;;AA1FL;AA8FC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAjHL;AAqHC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAjLP;AAsLC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA9OP;AAmPC;;AAEE;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAhTP;AAqTC;;AAEE;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAIF;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAjbL;AAqbC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AArdL;AA0dC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAlfH;AAqfC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AA/jBH;AAkkBC;;AAIE;EACE;EACA;EACA;;;AAKN;AAAA;AAAA;AAIA;AACA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEE;;AAGF;EAEE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AAIJ;EACE;IACE","file":"globals.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAGC;AAEC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbL;AAiBC;;AACA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EAGE;EACA;EACA;EACA;;AA/BH;AAkCC;;AACA;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AApDL;AAwDC;;AAKI;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAlFL;AAsFC;;AAEE;EACE;EACA;;AA1FL;AA8FC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAjHL;AAqHC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAjLP;AAsLC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA9OP;AAmPC;;AAEE;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAhTP;AAqTC;;AAEE;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAIF;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAjbL;AAqbC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AArdL;AA0dC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAlfH;AAqfC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AA/jBH;AAkkBC;;AAIE;EACE;EACA;EACA;;;AAKN;AAAA;AAAA;AAIA;AACA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEE;;AAGF;EAEE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AAIJ;EACE;IACE","file":"globals.css"}
@@ -1177,19 +1177,154 @@
1177
1177
  gap: 0.45rem;
1178
1178
  }
1179
1179
 
1180
- .merchi-product-draft-cta-btn {
1180
+ .merchi-product-draft-cta-choices {
1181
+ display: grid;
1182
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1183
+ gap: 0.45rem;
1184
+ }
1185
+
1186
+ .merchi-product-draft-cta-btn,
1187
+ .merchi-product-draft-cta-download {
1181
1188
  display: inline-flex;
1182
1189
  align-items: center;
1183
1190
  justify-content: center;
1184
1191
  gap: 0.4rem;
1192
+ width: 100%;
1185
1193
  min-height: 44px;
1186
- padding: 0.55rem 0.95rem;
1187
- border: 0;
1194
+ padding: 0.55rem 0.75rem;
1188
1195
  border-radius: 0.7rem;
1196
+ font: inherit;
1197
+ font-weight: 600;
1198
+ font-size: 0.85rem;
1199
+ line-height: 1.2;
1200
+ cursor: pointer;
1201
+ }
1202
+
1203
+ .merchi-product-draft-cta-btn {
1204
+ border: 0;
1189
1205
  background: #111827;
1190
1206
  color: #fff;
1207
+ }
1208
+
1209
+ .merchi-product-draft-cta-download {
1210
+ border: 1px solid #d4d4d8;
1211
+ background: #fff;
1212
+ color: #111827;
1213
+ }
1214
+
1215
+ .merchi-product-draft-cta-download svg:last-child {
1216
+ transition: transform 0.15s ease;
1217
+ }
1218
+
1219
+ .merchi-product-draft-cta-download.is-open {
1220
+ border-color: #2563eb;
1221
+ background: #fff;
1222
+ }
1223
+
1224
+ .merchi-product-draft-cta-download.is-open svg:last-child {
1225
+ transform: rotate(180deg);
1226
+ }
1227
+
1228
+ .merchi-product-draft-template-menu {
1229
+ display: flex;
1230
+ flex-direction: column;
1231
+ gap: 0.75rem;
1232
+ padding: 0.85rem;
1233
+ border: 1px solid #e4e4e7;
1234
+ border-radius: 0.75rem;
1235
+ background: #fafafa;
1236
+ box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
1237
+ }
1238
+
1239
+ .merchi-product-draft-template-menu p {
1240
+ margin: 0;
1241
+ font-size: 0.8rem;
1242
+ line-height: 1.4;
1243
+ color: #71717a;
1244
+ }
1245
+
1246
+ .merchi-product-draft-template-list,
1247
+ .merchi-product-draft-upload-list {
1248
+ display: flex;
1249
+ flex-direction: column;
1250
+ gap: 0.45rem;
1251
+ margin: 0;
1252
+ padding: 0;
1253
+ list-style: none;
1254
+ }
1255
+
1256
+ .merchi-product-draft-template-list li,
1257
+ .merchi-product-draft-upload-list li {
1258
+ display: flex;
1259
+ align-items: center;
1260
+ gap: 0.7rem;
1261
+ min-height: 56px;
1262
+ padding: 0.4rem 0.5rem;
1263
+ border: 1px solid #e4e4e7;
1264
+ border-radius: 0.7rem;
1265
+ background: #fff;
1266
+ }
1267
+
1268
+ .merchi-product-draft-template-avatar {
1269
+ width: 40px;
1270
+ height: 40px;
1271
+ flex: 0 0 40px;
1272
+ border-radius: 0.55rem;
1273
+ object-fit: cover;
1274
+ background: #f4f4f5;
1275
+ border: 1px solid #e4e4e7;
1276
+ }
1277
+
1278
+ .merchi-product-draft-template-avatar.is-empty {
1279
+ display: inline-flex;
1280
+ align-items: center;
1281
+ justify-content: center;
1282
+ color: #3f3f46;
1283
+ font-size: 0.85rem;
1284
+ font-weight: 700;
1285
+ }
1286
+
1287
+ .merchi-product-draft-cta-panel span.merchi-product-draft-template-name {
1288
+ min-width: 0;
1289
+ flex: 1;
1290
+ color: #111827;
1291
+ font-size: 0.85rem;
1191
1292
  font-weight: 600;
1192
- font-size: 0.9rem;
1293
+ overflow: hidden;
1294
+ text-overflow: ellipsis;
1295
+ white-space: nowrap;
1296
+ }
1297
+
1298
+ .merchi-product-draft-template-download,
1299
+ .merchi-product-draft-upload-remove {
1300
+ display: inline-flex;
1301
+ align-items: center;
1302
+ justify-content: center;
1303
+ gap: 0.35rem;
1304
+ flex: 0 0 auto;
1305
+ min-height: 34px;
1306
+ padding: 0.35rem 0.7rem;
1307
+ border: 1px solid #e4e4e7;
1308
+ border-radius: 0.55rem;
1309
+ background: #fff;
1310
+ color: #111827;
1311
+ font: inherit;
1312
+ font-size: 0.78rem;
1313
+ font-weight: 600;
1314
+ text-decoration: none;
1315
+ cursor: pointer;
1316
+ }
1317
+
1318
+ .merchi-product-draft-upload-remove {
1319
+ width: 34px;
1320
+ padding: 0;
1321
+ color: #71717a;
1322
+ }
1323
+
1324
+ .merchi-product-draft-template-drop .merchi-embed-form_dropzone {
1325
+ z-index: 1;
1326
+ margin: 0;
1327
+ padding: 1rem 0.85rem;
1193
1328
  }
1194
1329
 
1195
1330
  .merchi-product-draft-cta-reset {
@@ -1,5 +1,6 @@
1
1
  import { DraftCanvasObject, DraftCanvasState } from './types';
2
2
  export declare function templateImageSources(template: any, apiUrl?: string): string[];
3
+ export declare function templateDownloadHref(template: any, apiUrl?: string): string;
3
4
  export declare function loadHtmlImage(src: string, persistObjectUrl?: boolean): Promise<HTMLImageElement>;
4
5
  export declare function loadHtmlImageFromSources(sources: string[], persistObjectUrl?: boolean): Promise<HTMLImageElement>;
5
6
  export declare function waitForDraftFonts(families?: string[]): Promise<void>;
@@ -39,6 +39,13 @@ export function templateImageSources(template, apiUrl) {
39
39
  return resolveFileUrl(String(url), apiUrl);
40
40
  })));
41
41
  }
42
+ export function templateDownloadHref(template, apiUrl) {
43
+ var file = template === null || template === void 0 ? void 0 : template.file;
44
+ if (!file) return '';
45
+ var preferred = file.downloadUrl || file.cachedDownloadUrl;
46
+ if (preferred) return resolveFileUrl(String(preferred), apiUrl);
47
+ return templateImageSources(template, apiUrl)[0] || '';
48
+ }
42
49
  function loadImageElement(src, cors) {
43
50
  return new Promise(function (resolve, reject) {
44
51
  var img = new Image();
@@ -478,4 +485,4 @@ function _exportDraftPngs() {
478
485
  }));
479
486
  return _exportDraftPngs.apply(this, arguments);
480
487
  }
481
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX24iLCJGIiwicyIsIm5leHQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJjc3NGb250RmFtaWx5IiwiZW5zdXJlRHJhZnRGb250cyIsImlzQmFja2dyb3VuZEZpbGwiLCJpc0Z1bGxBcnRib2FyZEZpbGwiLCJyZXNvbHZlRmlsZVVybCIsInVybCIsImFwaVVybCIsImFwaSIsIlVSTCIsInN0YXJ0c1dpdGgiLCJjb25jYXQiLCJvcmlnaW4iLCJocmVmIiwiX3VudXNlZCIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwidGVtcGxhdGUiLCJmaWxlIiwicmF3IiwiaWQiLCJiYXNlIiwiU3RyaW5nIiwicmVwbGFjZSIsInB1c2giLCJ2aWV3VXJsIiwiY2FjaGVkVmlld1VybCIsImRvd25sb2FkVXJsIiwiY2FjaGVkRG93bmxvYWRVcmwiLCJTZXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwibWFwIiwibG9hZEltYWdlRWxlbWVudCIsInNyYyIsImNvcnMiLCJyZWplY3QiLCJpbWciLCJJbWFnZSIsImNyb3NzT3JpZ2luIiwib25sb2FkIiwib25lcnJvciIsIkVycm9yIiwibG9hZEh0bWxJbWFnZSIsIl94IiwiX2xvYWRIdG1sSW1hZ2UiLCJfY2FsbGVlIiwicGVyc2lzdE9iamVjdFVybCIsInJlc3BvbnNlIiwiYmxvYiIsIm9iamVjdFVybCIsImltYWdlIiwiX2FyZ3MiLCJfdCIsIl9jb250ZXh0IiwidW5kZWZpbmVkIiwiZmV0Y2giLCJtb2RlIiwiY3JlZGVudGlhbHMiLCJvayIsInN0YXR1cyIsImNyZWF0ZU9iamVjdFVSTCIsIl9tZXJjaGlPYmplY3RVcmwiLCJyZXZva2VPYmplY3RVUkwiLCJsb2FkSHRtbEltYWdlRnJvbVNvdXJjZXMiLCJfeDIiLCJfbG9hZEh0bWxJbWFnZUZyb21Tb3VyY2VzIiwiX2NhbGxlZTIiLCJzb3VyY2VzIiwibGFzdEVycm9yIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIl9hcmdzMiIsIl90MiIsIl90MyIsIl9jb250ZXh0MiIsIndhaXRGb3JEcmFmdEZvbnRzIiwiX3dhaXRGb3JEcmFmdEZvbnRzIiwiX2NhbGxlZTMiLCJmYW1pbGllcyIsInVuaXF1ZSIsIl9hcmdzMyIsIl9jb250ZXh0MyIsImRvY3VtZW50IiwiZm9udHMiLCJhbGwiLCJyZWFkeSIsImZsYXRNYXAiLCJmYW1pbHkiLCJsb2FkIiwid3JhcExpbmVzIiwidGV4dCIsIm1heFdpZHRoIiwibWVhc3VyZSIsIndvcmRzIiwic3BsaXQiLCJsaW5lcyIsImxpbmUiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIndvcmQiLCJlcnIiLCJkcmF3VGV4dCIsImN0eCIsIm9iaiIsImZvbnRTaXplIiwiYWxpZ24iLCJmaWxsU3R5bGUiLCJmaWxsIiwiZm9udCIsImZvbnRGYW1pbHkiLCJ0ZXh0QmFzZWxpbmUiLCJ0ZXh0QWxpZ24iLCJsaW5lSGVpZ2h0Iiwid2lkdGgiLCJtZWFzdXJlVGV4dCIsImJsb2NrSGVpZ2h0IiwiY3Vyc29yWSIsIk1hdGgiLCJtYXgiLCJoZWlnaHQiLCJ4IiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZpbGxUZXh0IiwiYXBwbHlLb252YU9iamVjdFRyYW5zZm9ybSIsInRyYW5zbGF0ZSIsInJvdGF0ZSIsInJvdGF0aW9uIiwiUEkiLCJzY2FsZSIsInNjYWxlWCIsInNjYWxlWSIsImRyYXdPYmplY3QiLCJzYXZlIiwidHlwZSIsImZpbGxSZWN0IiwiZHJhd0ltYWdlIiwicmVzdG9yZSIsImNhcHR1cmVTdGFnZUFydGJvYXJkIiwic3RhZ2UiLCJ2aWV3IiwiYXJ0IiwidG9EYXRhVVJMIiwibWltZVR5cGUiLCJwaXhlbFJhdGlvIiwicmVuZGVyU3RhdGUiLCJfeDMiLCJfeDQiLCJfcmVuZGVyU3RhdGUiLCJfY2FsbGVlNSIsInN0YXRlIiwidGVtcGxhdGVTb3VyY2VzIiwib2JqZWN0c09ubHkiLCJjYW52YXMiLCJmaWxscyIsImNvbnRlbnQiLCJkcmF3TGlzdCIsInNoZWV0RmlsbHMiLCJyZWdpb25GaWxscyIsIl9hcmdzNSIsIl90NiIsIl9jb250ZXh0NSIsImNyZWF0ZUVsZW1lbnQiLCJyb3VuZCIsImdldENvbnRleHQiLCJvYmplY3RzIiwiX3JlZiIsIl9jYWxsZWU0IiwiY29tcG9zaXRlIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsIl90NCIsIl90NSIsIl9jb250ZXh0NCIsImdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsIl94OCIsIl94OSIsImV4cG9ydERyYWZ0UG5ncyIsIl94NSIsIl94NiIsIl94NyIsIl9leHBvcnREcmFmdFBuZ3MiLCJfY2FsbGVlNiIsInRlbXBsYXRlU3JjIiwicmVzb2x2ZWQiLCJfeWllbGQkUHJvbWlzZSRhbGwiLCJfeWllbGQkUHJvbWlzZSRhbGwyIiwiZHJhZnQiLCJjYW52YXNQcmV2aWV3IiwiX2NvbnRleHQ2IiwiX3NsaWNlZFRvQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZHJhZnRFeHBvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzRm9udEZhbWlseSwgZW5zdXJlRHJhZnRGb250cyB9IGZyb20gJy4vZHJhZnRGb250cyc7XG5pbXBvcnQgeyBpc0JhY2tncm91bmRGaWxsLCBpc0Z1bGxBcnRib2FyZEZpbGwgfSBmcm9tICcuL2RyYWZ0VGVtcGxhdGVzJztcbmltcG9ydCB7IERyYWZ0Q2FudmFzT2JqZWN0LCBEcmFmdENhbnZhc1N0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVGaWxlVXJsKHVybDogc3RyaW5nLCBhcGlVcmw/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXVybCkgcmV0dXJuICcnO1xuICBpZiAoL14oZGF0YTp8YmxvYjp8aHR0cHM/OikvaS50ZXN0KHVybCkpIHJldHVybiB1cmw7XG4gIGlmICghYXBpVXJsKSByZXR1cm4gdXJsO1xuICB0cnkge1xuICAgIGNvbnN0IGFwaSA9IG5ldyBVUkwoYXBpVXJsKTtcbiAgICBpZiAodXJsLnN0YXJ0c1dpdGgoJy8nKSkgcmV0dXJuIGAke2FwaS5vcmlnaW59JHt1cmx9YDtcbiAgICByZXR1cm4gbmV3IFVSTCh1cmwsIGFwaVVybCkuaHJlZjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGVJbWFnZVNvdXJjZXModGVtcGxhdGU6IGFueSwgYXBpVXJsPzogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBmaWxlID0gdGVtcGxhdGU/LmZpbGUgfHwge307XG4gIGNvbnN0IHJhdzogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGFwaVVybCAmJiBmaWxlLmlkKSB7XG4gICAgY29uc3QgYmFzZSA9IFN0cmluZyhhcGlVcmwpLnJlcGxhY2UoL1xcLz8kLywgJy8nKTtcbiAgICByYXcucHVzaChgJHtiYXNlfXB1YmxpYy1maWxlcy8ke2ZpbGUuaWR9L3ZpZXcvYCk7XG4gIH1cbiAgcmF3LnB1c2goXG4gICAgZmlsZS52aWV3VXJsLFxuICAgIGZpbGUuY2FjaGVkVmlld1VybCxcbiAgICBmaWxlLmRvd25sb2FkVXJsLFxuICAgIGZpbGUuY2FjaGVkRG93bmxvYWRVcmwsXG4gICk7XG4gIHJldHVybiBbLi4ubmV3IFNldChcbiAgICByYXcuZmlsdGVyKEJvb2xlYW4pLm1hcCgodXJsKSA9PiByZXNvbHZlRmlsZVVybChTdHJpbmcodXJsKSwgYXBpVXJsKSksXG4gICldO1xufVxuXG5mdW5jdGlvbiBsb2FkSW1hZ2VFbGVtZW50KHNyYzogc3RyaW5nLCBjb3JzOiBib29sZWFuKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgaWYgKGNvcnMpIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuICAgIGltZy5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKGltZyk7XG4gICAgaW1nLm9uZXJyb3IgPSAoKSA9PiByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCAke3NyY31gKSk7XG4gICAgaW1nLnNyYyA9IHNyYztcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkSHRtbEltYWdlKFxuICBzcmM6IHN0cmluZyxcbiAgcGVyc2lzdE9iamVjdFVybCA9IGZhbHNlLFxuKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gIGlmICghc3JjKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgaW1hZ2Ugc291cmNlJyk7XG4gIGlmICgvXihkYXRhOnxibG9iOikvaS50ZXN0KHNyYykpIHtcbiAgICByZXR1cm4gbG9hZEltYWdlRWxlbWVudChzcmMsIGZhbHNlKTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goc3JjLCB7IG1vZGU6ICdjb3JzJywgY3JlZGVudGlhbHM6ICdvbWl0JyB9KTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgY29uc3QgYmxvYiA9IGF3YWl0IHJlc3BvbnNlLmJsb2IoKTtcbiAgICBjb25zdCBvYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGltYWdlID0gYXdhaXQgbG9hZEltYWdlRWxlbWVudChvYmplY3RVcmwsIGZhbHNlKTtcbiAgICBpZiAocGVyc2lzdE9iamVjdFVybCkge1xuICAgICAgKGltYWdlIGFzIEhUTUxJbWFnZUVsZW1lbnQgJiB7IF9tZXJjaGlPYmplY3RVcmw/OiBzdHJpbmcgfSkuX21lcmNoaU9iamVjdFVybCA9IG9iamVjdFVybDtcbiAgICB9IGVsc2Uge1xuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgIH1cbiAgICByZXR1cm4gaW1hZ2U7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBsb2FkSW1hZ2VFbGVtZW50KHNyYywgdHJ1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRIdG1sSW1hZ2VGcm9tU291cmNlcyhcbiAgc291cmNlczogc3RyaW5nW10sXG4gIHBlcnNpc3RPYmplY3RVcmwgPSBmYWxzZSxcbik6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICBsZXQgbGFzdEVycm9yOiB1bmtub3duO1xuICBmb3IgKGNvbnN0IHNyYyBvZiBzb3VyY2VzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBsb2FkSHRtbEltYWdlKHNyYywgcGVyc2lzdE9iamVjdFVybCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxhc3RFcnJvciA9IGVycm9yO1xuICAgIH1cbiAgfVxuICB0aHJvdyBsYXN0RXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGxhc3RFcnJvciA6IG5ldyBFcnJvcignRmFpbGVkIHRvIGxvYWQgaW1hZ2UnKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JEcmFmdEZvbnRzKGZhbWlsaWVzOiBzdHJpbmdbXSA9IFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGVuc3VyZURyYWZ0Rm9udHMoKTtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWRvY3VtZW50LmZvbnRzKSByZXR1cm47XG4gIGNvbnN0IHVuaXF1ZSA9IFsuLi5uZXcgU2V0KGZhbWlsaWVzLmZpbHRlcihCb29sZWFuKSldO1xuICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgZG9jdW1lbnQuZm9udHMucmVhZHkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAuLi51bmlxdWUuZmxhdE1hcCgoZmFtaWx5KSA9PiAoW1xuICAgICAgZG9jdW1lbnQuZm9udHMubG9hZChgNDAwIDQ4cHggJHtjc3NGb250RmFtaWx5KGZhbWlseSl9YCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgIGRvY3VtZW50LmZvbnRzLmxvYWQoYDcwMCA0OHB4ICR7Y3NzRm9udEZhbWlseShmYW1pbHkpfWApLmNhdGNoKCgpID0+IHVuZGVmaW5lZCksXG4gICAgXSkpLFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBMaW5lcyhcbiAgdGV4dDogc3RyaW5nLFxuICBtYXhXaWR0aDogbnVtYmVyLFxuICBtZWFzdXJlOiAodmFsdWU6IHN0cmluZykgPT4gbnVtYmVyLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCB3b3JkcyA9IFN0cmluZyh0ZXh0KS5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKCF3b3Jkcy5sZW5ndGgpIHJldHVybiBbXTtcbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW107XG4gIGxldCBsaW5lID0gJyc7XG4gIGZvciAoY29uc3Qgd29yZCBvZiB3b3Jkcykge1xuICAgIGNvbnN0IHRlc3QgPSBsaW5lID8gYCR7bGluZX0gJHt3b3JkfWAgOiB3b3JkO1xuICAgIGlmIChsaW5lICYmIG1lYXN1cmUodGVzdCkgPiBtYXhXaWR0aCkge1xuICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgIGxpbmUgPSB3b3JkO1xuICAgIH0gZWxzZSB7XG4gICAgICBsaW5lID0gdGVzdDtcbiAgICB9XG4gIH1cbiAgaWYgKGxpbmUpIGxpbmVzLnB1c2gobGluZSk7XG4gIHJldHVybiBsaW5lcztcbn1cblxuZnVuY3Rpb24gZHJhd1RleHQoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIG9iajogRHJhZnRDYW52YXNPYmplY3QpIHtcbiAgY29uc3QgZm9udFNpemUgPSBvYmouZm9udFNpemUgfHwgNDg7XG4gIGNvbnN0IGFsaWduID0gKG9iai5hbGlnbiBhcyBDYW52YXNUZXh0QWxpZ24pIHx8ICdjZW50ZXInO1xuICBjdHguZmlsbFN0eWxlID0gb2JqLmZpbGwgfHwgJyMxMTExMTEnO1xuICBjdHguZm9udCA9IGAke2ZvbnRTaXplfXB4ICR7Y3NzRm9udEZhbWlseShvYmouZm9udEZhbWlseSl9YDtcbiAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICBjdHgudGV4dEFsaWduID0gYWxpZ247XG4gIGNvbnN0IGxpbmVIZWlnaHQgPSBmb250U2l6ZTtcbiAgY29uc3QgbGluZXMgPSB3cmFwTGluZXMoXG4gICAgb2JqLnRleHQgfHwgJycsXG4gICAgb2JqLndpZHRoLFxuICAgICh2YWx1ZSkgPT4gY3R4Lm1lYXN1cmVUZXh0KHZhbHVlKS53aWR0aCxcbiAgKTtcbiAgY29uc3QgYmxvY2tIZWlnaHQgPSBsaW5lcy5sZW5ndGggKiBsaW5lSGVpZ2h0O1xuICBsZXQgY3Vyc29yWSA9IE1hdGgubWF4KDAsIChvYmouaGVpZ2h0IC0gYmxvY2tIZWlnaHQpIC8gMik7XG4gIGNvbnN0IHggPSBhbGlnbiA9PT0gJ2NlbnRlcicgPyBvYmoud2lkdGggLyAyIDogYWxpZ24gPT09ICdyaWdodCcgPyBvYmoud2lkdGggOiAwO1xuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBjdHguZmlsbFRleHQobGluZSwgeCwgY3Vyc29yWSwgb2JqLndpZHRoKTtcbiAgICBjdXJzb3JZICs9IGxpbmVIZWlnaHQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5S29udmFPYmplY3RUcmFuc2Zvcm0oXG4gIGN0eDogUGljazxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsICd0cmFuc2xhdGUnIHwgJ3JvdGF0ZScgfCAnc2NhbGUnPixcbiAgb2JqOiBQaWNrPERyYWZ0Q2FudmFzT2JqZWN0LCAneCcgfCAneScgfCAncm90YXRpb24nIHwgJ3NjYWxlWCcgfCAnc2NhbGVZJz4sXG4pIHtcbiAgLy8gS29udmEgcm90YXRlcy9zY2FsZXMgYXJvdW5kIHRoZSBub2RlIG9yaWdpbiAodG9wLWxlZnQpLCBub3QgdGhlIGNlbnRyZS5cbiAgY3R4LnRyYW5zbGF0ZShvYmoueCwgb2JqLnkpO1xuICBjdHgucm90YXRlKCgob2JqLnJvdGF0aW9uIHx8IDApICogTWF0aC5QSSkgLyAxODApO1xuICBjdHguc2NhbGUob2JqLnNjYWxlWCB8fCAxLCBvYmouc2NhbGVZIHx8IDEpO1xufVxuXG5mdW5jdGlvbiBkcmF3T2JqZWN0KFxuICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgb2JqOiBEcmFmdENhbnZhc09iamVjdCxcbiAgaW1hZ2U/OiBIVE1MSW1hZ2VFbGVtZW50LFxuKSB7XG4gIGN0eC5zYXZlKCk7XG4gIGFwcGx5S29udmFPYmplY3RUcmFuc2Zvcm0oY3R4LCBvYmopO1xuXG4gIGlmIChvYmoudHlwZSA9PT0gJ3JlY3QnKSB7XG4gICAgY3R4LmZpbGxTdHlsZSA9IG9iai5maWxsIHx8ICcjY2NjY2NjJztcbiAgICBjdHguZmlsbFJlY3QoMCwgMCwgb2JqLndpZHRoLCBvYmouaGVpZ2h0KTtcbiAgfSBlbHNlIGlmIChvYmoudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgZHJhd1RleHQoY3R4LCBvYmopO1xuICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnaW1hZ2UnICYmIGltYWdlKSB7XG4gICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgb2JqLndpZHRoLCBvYmouaGVpZ2h0KTtcbiAgfVxuICBjdHgucmVzdG9yZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZVN0YWdlQXJ0Ym9hcmQoXG4gIHN0YWdlOiB7IHRvRGF0YVVSTDogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHN0cmluZyB9LFxuICB2aWV3OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBzY2FsZTogbnVtYmVyIH0sXG4gIGFydDogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9LFxuKTogc3RyaW5nIHtcbiAgY29uc3Qgc2NhbGUgPSBNYXRoLm1heCh2aWV3LnNjYWxlIHx8IDAsIDAuMDEpO1xuICByZXR1cm4gc3RhZ2UudG9EYXRhVVJMKHtcbiAgICBtaW1lVHlwZTogJ2ltYWdlL3BuZycsXG4gICAgcGl4ZWxSYXRpbzogMSAvIHNjYWxlLFxuICAgIHg6IHZpZXcueCxcbiAgICB5OiB2aWV3LnksXG4gICAgd2lkdGg6IGFydC53aWR0aCAqIHNjYWxlLFxuICAgIGhlaWdodDogYXJ0LmhlaWdodCAqIHNjYWxlLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVuZGVyU3RhdGUoXG4gIHN0YXRlOiBEcmFmdENhbnZhc1N0YXRlLFxuICB0ZW1wbGF0ZVNvdXJjZXM6IHN0cmluZ1tdLFxuICBvYmplY3RzT25seSA9IGZhbHNlLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gIGNhbnZhcy53aWR0aCA9IE1hdGgubWF4KDEsIE1hdGgucm91bmQoc3RhdGUud2lkdGgpKTtcbiAgY2FudmFzLmhlaWdodCA9IE1hdGgubWF4KDEsIE1hdGgucm91bmQoc3RhdGUuaGVpZ2h0KSk7XG4gIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBpZiAoIWN0eCkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IGZpbGxzID0gc3RhdGUub2JqZWN0cy5maWx0ZXIoaXNCYWNrZ3JvdW5kRmlsbCk7XG4gIGNvbnN0IGNvbnRlbnQgPSBzdGF0ZS5vYmplY3RzLmZpbHRlcigob2JqKSA9PiAhaXNCYWNrZ3JvdW5kRmlsbChvYmopKTtcblxuICBpZiAoIW9iamVjdHNPbmx5KSB7XG4gICAgY3R4LmZpbGxTdHlsZSA9ICcjZmZmZmZmJztcbiAgICBjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgfVxuXG4gIGNvbnN0IGRyYXdMaXN0ID0gYXN5bmMgKFxuICAgIG9iamVjdHM6IERyYWZ0Q2FudmFzT2JqZWN0W10sXG4gICAgY29tcG9zaXRlPzogJ211bHRpcGx5JyB8ICdzb3VyY2Utb3ZlcicsXG4gICkgPT4ge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG9iamVjdHMpIHtcbiAgICAgIGxldCBpbWFnZTogSFRNTEltYWdlRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChvYmoudHlwZSA9PT0gJ2ltYWdlJyAmJiBvYmouc3JjKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaW1hZ2UgPSBhd2FpdCBsb2FkSHRtbEltYWdlKG9iai5zcmMpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICBpbWFnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY3R4LnNhdmUoKTtcbiAgICAgIGlmIChjb21wb3NpdGUpIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBjb21wb3NpdGU7XG4gICAgICBkcmF3T2JqZWN0KGN0eCwgb2JqLCBpbWFnZSk7XG4gICAgICBjdHgucmVzdG9yZSgpO1xuICAgIH1cbiAgfTtcblxuICBpZiAoIW9iamVjdHNPbmx5ICYmIHRlbXBsYXRlU291cmNlcy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdGVtcGxhdGUgPSBhd2FpdCBsb2FkSHRtbEltYWdlRnJvbVNvdXJjZXModGVtcGxhdGVTb3VyY2VzKTtcbiAgICAgIGN0eC5kcmF3SW1hZ2UodGVtcGxhdGUsIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBibGFuayBhcnRib2FyZCBpZiB0aGUgdGVtcGxhdGUgaW1hZ2UgY2Fubm90IGxvYWRcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hlZXRGaWxscyA9IGZpbGxzLmZpbHRlcigob2JqKSA9PiBpc0Z1bGxBcnRib2FyZEZpbGwob2JqLCBzdGF0ZS53aWR0aCwgc3RhdGUuaGVpZ2h0KSk7XG4gIGNvbnN0IHJlZ2lvbkZpbGxzID0gZmlsbHMuZmlsdGVyKChvYmopID0+ICFpc0Z1bGxBcnRib2FyZEZpbGwob2JqLCBzdGF0ZS53aWR0aCwgc3RhdGUuaGVpZ2h0KSk7XG4gIGF3YWl0IGRyYXdMaXN0KHNoZWV0RmlsbHMsIG9iamVjdHNPbmx5ID8gJ3NvdXJjZS1vdmVyJyA6ICdtdWx0aXBseScpO1xuICBhd2FpdCBkcmF3TGlzdChyZWdpb25GaWxscyk7XG4gIGF3YWl0IGRyYXdMaXN0KGNvbnRlbnQuZmlsdGVyKChvYmopID0+IG9iai50eXBlICE9PSAnaW1hZ2UnKSk7XG4gIGF3YWl0IGRyYXdMaXN0KGNvbnRlbnQuZmlsdGVyKChvYmopID0+IG9iai50eXBlID09PSAnaW1hZ2UnKSk7XG5cbiAgcmV0dXJuIGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwb3J0RHJhZnRQbmdzKFxuICBzdGF0ZTogRHJhZnRDYW52YXNTdGF0ZSxcbiAgdGVtcGxhdGVTcmM/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwsXG4gIGFwaVVybD86IHN0cmluZyxcbik6IFByb21pc2U8eyBkcmFmdDogc3RyaW5nOyBjYW52YXNQcmV2aWV3OiBzdHJpbmcgfT4ge1xuICBjb25zdCBzb3VyY2VzID0gQXJyYXkuaXNBcnJheSh0ZW1wbGF0ZVNyYylcbiAgICA/IHRlbXBsYXRlU3JjXG4gICAgOiB0ZW1wbGF0ZVNyY1xuICAgICAgPyBbdGVtcGxhdGVTcmNdXG4gICAgICA6IFtdO1xuICBjb25zdCByZXNvbHZlZCA9IHNvdXJjZXMuZmxhdE1hcCgoc3JjKSA9PiAoXG4gICAgc3JjLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBzcmMuc3RhcnRzV2l0aCgnZGF0YTonKSB8fCBzcmMuc3RhcnRzV2l0aCgnYmxvYjonKVxuICAgICAgPyBbc3JjXVxuICAgICAgOiB0ZW1wbGF0ZUltYWdlU291cmNlcyh7IGZpbGU6IHsgdmlld1VybDogc3JjIH0gfSwgYXBpVXJsKVxuICApKTtcbiAgYXdhaXQgd2FpdEZvckRyYWZ0Rm9udHMoXG4gICAgc3RhdGUub2JqZWN0c1xuICAgICAgLmZpbHRlcigob2JqKSA9PiBvYmoudHlwZSA9PT0gJ3RleHQnKVxuICAgICAgLm1hcCgob2JqKSA9PiBvYmouZm9udEZhbWlseSB8fCAnJyksXG4gICk7XG4gIGNvbnN0IFtkcmFmdCwgY2FudmFzUHJldmlld10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgcmVuZGVyU3RhdGUoc3RhdGUsIHJlc29sdmVkLCB0cnVlKSxcbiAgICByZW5kZXJTdGF0ZShzdGF0ZSwgcmVzb2x2ZWQsIGZhbHNlKSxcbiAgXSk7XG4gIHJldHVybiB7IGRyYWZ0LCBjYW52YXNQcmV2aWV3IH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7MEJBQ0EsdUtBQUFBLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEs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
488
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX24iLCJGIiwicyIsIm5leHQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJjc3NGb250RmFtaWx5IiwiZW5zdXJlRHJhZnRGb250cyIsImlzQmFja2dyb3VuZEZpbGwiLCJpc0Z1bGxBcnRib2FyZEZpbGwiLCJyZXNvbHZlRmlsZVVybCIsInVybCIsImFwaVVybCIsImFwaSIsIlVSTCIsInN0YXJ0c1dpdGgiLCJjb25jYXQiLCJvcmlnaW4iLCJocmVmIiwiX3VudXNlZCIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwidGVtcGxhdGUiLCJmaWxlIiwicmF3IiwiaWQiLCJiYXNlIiwiU3RyaW5nIiwicmVwbGFjZSIsInB1c2giLCJ2aWV3VXJsIiwiY2FjaGVkVmlld1VybCIsImRvd25sb2FkVXJsIiwiY2FjaGVkRG93bmxvYWRVcmwiLCJTZXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwibWFwIiwidGVtcGxhdGVEb3dubG9hZEhyZWYiLCJwcmVmZXJyZWQiLCJsb2FkSW1hZ2VFbGVtZW50Iiwic3JjIiwiY29ycyIsInJlamVjdCIsImltZyIsIkltYWdlIiwiY3Jvc3NPcmlnaW4iLCJvbmxvYWQiLCJvbmVycm9yIiwiRXJyb3IiLCJsb2FkSHRtbEltYWdlIiwiX3giLCJfbG9hZEh0bWxJbWFnZSIsIl9jYWxsZWUiLCJwZXJzaXN0T2JqZWN0VXJsIiwicmVzcG9uc2UiLCJibG9iIiwib2JqZWN0VXJsIiwiaW1hZ2UiLCJfYXJncyIsIl90IiwiX2NvbnRleHQiLCJ1bmRlZmluZWQiLCJmZXRjaCIsIm1vZGUiLCJjcmVkZW50aWFscyIsIm9rIiwic3RhdHVzIiwiY3JlYXRlT2JqZWN0VVJMIiwiX21lcmNoaU9iamVjdFVybCIsInJldm9rZU9iamVjdFVSTCIsImxvYWRIdG1sSW1hZ2VGcm9tU291cmNlcyIsIl94MiIsIl9sb2FkSHRtbEltYWdlRnJvbVNvdXJjZXMiLCJfY2FsbGVlMiIsInNvdXJjZXMiLCJsYXN0RXJyb3IiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiX2FyZ3MyIiwiX3QyIiwiX3QzIiwiX2NvbnRleHQyIiwid2FpdEZvckRyYWZ0Rm9udHMiLCJfd2FpdEZvckRyYWZ0Rm9udHMiLCJfY2FsbGVlMyIsImZhbWlsaWVzIiwidW5pcXVlIiwiX2FyZ3MzIiwiX2NvbnRleHQzIiwiZG9jdW1lbnQiLCJmb250cyIsImFsbCIsInJlYWR5IiwiZmxhdE1hcCIsImZhbWlseSIsImxvYWQiLCJ3cmFwTGluZXMiLCJ0ZXh0IiwibWF4V2lkdGgiLCJtZWFzdXJlIiwid29yZHMiLCJzcGxpdCIsImxpbmVzIiwibGluZSIsIl9pdGVyYXRvciIsIl9zdGVwIiwid29yZCIsImVyciIsImRyYXdUZXh0IiwiY3R4Iiwib2JqIiwiZm9udFNpemUiLCJhbGlnbiIsImZpbGxTdHlsZSIsImZpbGwiLCJmb250IiwiZm9udEZhbWlseSIsInRleHRCYXNlbGluZSIsInRleHRBbGlnbiIsImxpbmVIZWlnaHQiLCJ3aWR0aCIsIm1lYXN1cmVUZXh0IiwiYmxvY2tIZWlnaHQiLCJjdXJzb3JZIiwiTWF0aCIsIm1heCIsImhlaWdodCIsIngiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiZmlsbFRleHQiLCJhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtIiwidHJhbnNsYXRlIiwicm90YXRlIiwicm90YXRpb24iLCJQSSIsInNjYWxlIiwic2NhbGVYIiwic2NhbGVZIiwiZHJhd09iamVjdCIsInNhdmUiLCJ0eXBlIiwiZmlsbFJlY3QiLCJkcmF3SW1hZ2UiLCJyZXN0b3JlIiwiY2FwdHVyZVN0YWdlQXJ0Ym9hcmQiLCJzdGFnZSIsInZpZXciLCJhcnQiLCJ0b0RhdGFVUkwiLCJtaW1lVHlwZSIsInBpeGVsUmF0aW8iLCJyZW5kZXJTdGF0ZSIsIl94MyIsIl94NCIsIl9yZW5kZXJTdGF0ZSIsIl9jYWxsZWU1Iiwic3RhdGUiLCJ0ZW1wbGF0ZVNvdXJjZXMiLCJvYmplY3RzT25seSIsImNhbnZhcyIsImZpbGxzIiwiY29udGVudCIsImRyYXdMaXN0Iiwic2hlZXRGaWxscyIsInJlZ2lvbkZpbGxzIiwiX2FyZ3M1IiwiX3Q2IiwiX2NvbnRleHQ1IiwiY3JlYXRlRWxlbWVudCIsInJvdW5kIiwiZ2V0Q29udGV4dCIsIm9iamVjdHMiLCJfcmVmIiwiX2NhbGxlZTQiLCJjb21wb3NpdGUiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiX3Q0IiwiX3Q1IiwiX2NvbnRleHQ0IiwiZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwiX3g4IiwiX3g5IiwiZXhwb3J0RHJhZnRQbmdzIiwiX3g1IiwiX3g2IiwiX3g3IiwiX2V4cG9ydERyYWZ0UG5ncyIsIl9jYWxsZWU2IiwidGVtcGxhdGVTcmMiLCJyZXNvbHZlZCIsIl95aWVsZCRQcm9taXNlJGFsbCIsIl95aWVsZCRQcm9taXNlJGFsbDIiLCJkcmFmdCIsImNhbnZhc1ByZXZpZXciLCJfY29udGV4dDYiLCJfc2xpY2VkVG9BcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kcmFmdEV4cG9ydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3NGb250RmFtaWx5LCBlbnN1cmVEcmFmdEZvbnRzIH0gZnJvbSAnLi9kcmFmdEZvbnRzJztcbmltcG9ydCB7IGlzQmFja2dyb3VuZEZpbGwsIGlzRnVsbEFydGJvYXJkRmlsbCB9IGZyb20gJy4vZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IHsgRHJhZnRDYW52YXNPYmplY3QsIERyYWZ0Q2FudmFzU3RhdGUgfSBmcm9tICcuL3R5cGVzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUZpbGVVcmwodXJsOiBzdHJpbmcsIGFwaVVybD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdXJsKSByZXR1cm4gJyc7XG4gIGlmICgvXihkYXRhOnxibG9iOnxodHRwcz86KS9pLnRlc3QodXJsKSkgcmV0dXJuIHVybDtcbiAgaWYgKCFhcGlVcmwpIHJldHVybiB1cmw7XG4gIHRyeSB7XG4gICAgY29uc3QgYXBpID0gbmV3IFVSTChhcGlVcmwpO1xuICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnLycpKSByZXR1cm4gYCR7YXBpLm9yaWdpbn0ke3VybH1gO1xuICAgIHJldHVybiBuZXcgVVJMKHVybCwgYXBpVXJsKS5ocmVmO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZTogYW55LCBhcGlVcmw/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGZpbGUgPSB0ZW1wbGF0ZT8uZmlsZSB8fCB7fTtcbiAgY29uc3QgcmF3OiBzdHJpbmdbXSA9IFtdO1xuICBpZiAoYXBpVXJsICYmIGZpbGUuaWQpIHtcbiAgICBjb25zdCBiYXNlID0gU3RyaW5nKGFwaVVybCkucmVwbGFjZSgvXFwvPyQvLCAnLycpO1xuICAgIHJhdy5wdXNoKGAke2Jhc2V9cHVibGljLWZpbGVzLyR7ZmlsZS5pZH0vdmlldy9gKTtcbiAgfVxuICByYXcucHVzaChcbiAgICBmaWxlLnZpZXdVcmwsXG4gICAgZmlsZS5jYWNoZWRWaWV3VXJsLFxuICAgIGZpbGUuZG93bmxvYWRVcmwsXG4gICAgZmlsZS5jYWNoZWREb3dubG9hZFVybCxcbiAgKTtcbiAgcmV0dXJuIFsuLi5uZXcgU2V0KFxuICAgIHJhdy5maWx0ZXIoQm9vbGVhbikubWFwKCh1cmwpID0+IHJlc29sdmVGaWxlVXJsKFN0cmluZyh1cmwpLCBhcGlVcmwpKSxcbiAgKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZW1wbGF0ZURvd25sb2FkSHJlZih0ZW1wbGF0ZTogYW55LCBhcGlVcmw/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBmaWxlID0gdGVtcGxhdGU/LmZpbGU7XG4gIGlmICghZmlsZSkgcmV0dXJuICcnO1xuICBjb25zdCBwcmVmZXJyZWQgPSBmaWxlLmRvd25sb2FkVXJsIHx8IGZpbGUuY2FjaGVkRG93bmxvYWRVcmw7XG4gIGlmIChwcmVmZXJyZWQpIHJldHVybiByZXNvbHZlRmlsZVVybChTdHJpbmcocHJlZmVycmVkKSwgYXBpVXJsKTtcbiAgcmV0dXJuIHRlbXBsYXRlSW1hZ2VTb3VyY2VzKHRlbXBsYXRlLCBhcGlVcmwpWzBdIHx8ICcnO1xufVxuXG5mdW5jdGlvbiBsb2FkSW1hZ2VFbGVtZW50KHNyYzogc3RyaW5nLCBjb3JzOiBib29sZWFuKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgaWYgKGNvcnMpIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuICAgIGltZy5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKGltZyk7XG4gICAgaW1nLm9uZXJyb3IgPSAoKSA9PiByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCAke3NyY31gKSk7XG4gICAgaW1nLnNyYyA9IHNyYztcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkSHRtbEltYWdlKFxuICBzcmM6IHN0cmluZyxcbiAgcGVyc2lzdE9iamVjdFVybCA9IGZhbHNlLFxuKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gIGlmICghc3JjKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgaW1hZ2Ugc291cmNlJyk7XG4gIGlmICgvXihkYXRhOnxibG9iOikvaS50ZXN0KHNyYykpIHtcbiAgICByZXR1cm4gbG9hZEltYWdlRWxlbWVudChzcmMsIGZhbHNlKTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goc3JjLCB7IG1vZGU6ICdjb3JzJywgY3JlZGVudGlhbHM6ICdvbWl0JyB9KTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgY29uc3QgYmxvYiA9IGF3YWl0IHJlc3BvbnNlLmJsb2IoKTtcbiAgICBjb25zdCBvYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGltYWdlID0gYXdhaXQgbG9hZEltYWdlRWxlbWVudChvYmplY3RVcmwsIGZhbHNlKTtcbiAgICBpZiAocGVyc2lzdE9iamVjdFVybCkge1xuICAgICAgKGltYWdlIGFzIEhUTUxJbWFnZUVsZW1lbnQgJiB7IF9tZXJjaGlPYmplY3RVcmw/OiBzdHJpbmcgfSkuX21lcmNoaU9iamVjdFVybCA9IG9iamVjdFVybDtcbiAgICB9IGVsc2Uge1xuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgIH1cbiAgICByZXR1cm4gaW1hZ2U7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBsb2FkSW1hZ2VFbGVtZW50KHNyYywgdHJ1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRIdG1sSW1hZ2VGcm9tU291cmNlcyhcbiAgc291cmNlczogc3RyaW5nW10sXG4gIHBlcnNpc3RPYmplY3RVcmwgPSBmYWxzZSxcbik6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICBsZXQgbGFzdEVycm9yOiB1bmtub3duO1xuICBmb3IgKGNvbnN0IHNyYyBvZiBzb3VyY2VzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBsb2FkSHRtbEltYWdlKHNyYywgcGVyc2lzdE9iamVjdFVybCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxhc3RFcnJvciA9IGVycm9yO1xuICAgIH1cbiAgfVxuICB0aHJvdyBsYXN0RXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGxhc3RFcnJvciA6IG5ldyBFcnJvcignRmFpbGVkIHRvIGxvYWQgaW1hZ2UnKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JEcmFmdEZvbnRzKGZhbWlsaWVzOiBzdHJpbmdbXSA9IFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGVuc3VyZURyYWZ0Rm9udHMoKTtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWRvY3VtZW50LmZvbnRzKSByZXR1cm47XG4gIGNvbnN0IHVuaXF1ZSA9IFsuLi5uZXcgU2V0KGZhbWlsaWVzLmZpbHRlcihCb29sZWFuKSldO1xuICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgZG9jdW1lbnQuZm9udHMucmVhZHkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAuLi51bmlxdWUuZmxhdE1hcCgoZmFtaWx5KSA9PiAoW1xuICAgICAgZG9jdW1lbnQuZm9udHMubG9hZChgNDAwIDQ4cHggJHtjc3NGb250RmFtaWx5KGZhbWlseSl9YCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgIGRvY3VtZW50LmZvbnRzLmxvYWQoYDcwMCA0OHB4ICR7Y3NzRm9udEZhbWlseShmYW1pbHkpfWApLmNhdGNoKCgpID0+IHVuZGVmaW5lZCksXG4gICAgXSkpLFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBMaW5lcyhcbiAgdGV4dDogc3RyaW5nLFxuICBtYXhXaWR0aDogbnVtYmVyLFxuICBtZWFzdXJlOiAodmFsdWU6IHN0cmluZykgPT4gbnVtYmVyLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCB3b3JkcyA9IFN0cmluZyh0ZXh0KS5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKCF3b3Jkcy5sZW5ndGgpIHJldHVybiBbXTtcbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW107XG4gIGxldCBsaW5lID0gJyc7XG4gIGZvciAoY29uc3Qgd29yZCBvZiB3b3Jkcykge1xuICAgIGNvbnN0IHRlc3QgPSBsaW5lID8gYCR7bGluZX0gJHt3b3JkfWAgOiB3b3JkO1xuICAgIGlmIChsaW5lICYmIG1lYXN1cmUodGVzdCkgPiBtYXhXaWR0aCkge1xuICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgIGxpbmUgPSB3b3JkO1xuICAgIH0gZWxzZSB7XG4gICAgICBsaW5lID0gdGVzdDtcbiAgICB9XG4gIH1cbiAgaWYgKGxpbmUpIGxpbmVzLnB1c2gobGluZSk7XG4gIHJldHVybiBsaW5lcztcbn1cblxuZnVuY3Rpb24gZHJhd1RleHQoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIG9iajogRHJhZnRDYW52YXNPYmplY3QpIHtcbiAgY29uc3QgZm9udFNpemUgPSBvYmouZm9udFNpemUgfHwgNDg7XG4gIGNvbnN0IGFsaWduID0gKG9iai5hbGlnbiBhcyBDYW52YXNUZXh0QWxpZ24pIHx8ICdjZW50ZXInO1xuICBjdHguZmlsbFN0eWxlID0gb2JqLmZpbGwgfHwgJyMxMTExMTEnO1xuICBjdHguZm9udCA9IGAke2ZvbnRTaXplfXB4ICR7Y3NzRm9udEZhbWlseShvYmouZm9udEZhbWlseSl9YDtcbiAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICBjdHgudGV4dEFsaWduID0gYWxpZ247XG4gIGNvbnN0IGxpbmVIZWlnaHQgPSBmb250U2l6ZTtcbiAgY29uc3QgbGluZXMgPSB3cmFwTGluZXMoXG4gICAgb2JqLnRleHQgfHwgJycsXG4gICAgb2JqLndpZHRoLFxuICAgICh2YWx1ZSkgPT4gY3R4Lm1lYXN1cmVUZXh0KHZhbHVlKS53aWR0aCxcbiAgKTtcbiAgY29uc3QgYmxvY2tIZWlnaHQgPSBsaW5lcy5sZW5ndGggKiBsaW5lSGVpZ2h0O1xuICBsZXQgY3Vyc29yWSA9IE1hdGgubWF4KDAsIChvYmouaGVpZ2h0IC0gYmxvY2tIZWlnaHQpIC8gMik7XG4gIGNvbnN0IHggPSBhbGlnbiA9PT0gJ2NlbnRlcicgPyBvYmoud2lkdGggLyAyIDogYWxpZ24gPT09ICdyaWdodCcgPyBvYmoud2lkdGggOiAwO1xuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBjdHguZmlsbFRleHQobGluZSwgeCwgY3Vyc29yWSwgb2JqLndpZHRoKTtcbiAgICBjdXJzb3JZICs9IGxpbmVIZWlnaHQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5S29udmFPYmplY3RUcmFuc2Zvcm0oXG4gIGN0eDogUGljazxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsICd0cmFuc2xhdGUnIHwgJ3JvdGF0ZScgfCAnc2NhbGUnPixcbiAgb2JqOiBQaWNrPERyYWZ0Q2FudmFzT2JqZWN0LCAneCcgfCAneScgfCAncm90YXRpb24nIHwgJ3NjYWxlWCcgfCAnc2NhbGVZJz4sXG4pIHtcbiAgLy8gS29udmEgcm90YXRlcy9zY2FsZXMgYXJvdW5kIHRoZSBub2RlIG9yaWdpbiAodG9wLWxlZnQpLCBub3QgdGhlIGNlbnRyZS5cbiAgY3R4LnRyYW5zbGF0ZShvYmoueCwgb2JqLnkpO1xuICBjdHgucm90YXRlKCgob2JqLnJvdGF0aW9uIHx8IDApICogTWF0aC5QSSkgLyAxODApO1xuICBjdHguc2NhbGUob2JqLnNjYWxlWCB8fCAxLCBvYmouc2NhbGVZIHx8IDEpO1xufVxuXG5mdW5jdGlvbiBkcmF3T2JqZWN0KFxuICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgb2JqOiBEcmFmdENhbnZhc09iamVjdCxcbiAgaW1hZ2U/OiBIVE1MSW1hZ2VFbGVtZW50LFxuKSB7XG4gIGN0eC5zYXZlKCk7XG4gIGFwcGx5S29udmFPYmplY3RUcmFuc2Zvcm0oY3R4LCBvYmopO1xuXG4gIGlmIChvYmoudHlwZSA9PT0gJ3JlY3QnKSB7XG4gICAgY3R4LmZpbGxTdHlsZSA9IG9iai5maWxsIHx8ICcjY2NjY2NjJztcbiAgICBjdHguZmlsbFJlY3QoMCwgMCwgb2JqLndpZHRoLCBvYmouaGVpZ2h0KTtcbiAgfSBlbHNlIGlmIChvYmoudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgZHJhd1RleHQoY3R4LCBvYmopO1xuICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnaW1hZ2UnICYmIGltYWdlKSB7XG4gICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgb2JqLndpZHRoLCBvYmouaGVpZ2h0KTtcbiAgfVxuICBjdHgucmVzdG9yZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZVN0YWdlQXJ0Ym9hcmQoXG4gIHN0YWdlOiB7IHRvRGF0YVVSTDogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHN0cmluZyB9LFxuICB2aWV3OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBzY2FsZTogbnVtYmVyIH0sXG4gIGFydDogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9LFxuKTogc3RyaW5nIHtcbiAgY29uc3Qgc2NhbGUgPSBNYXRoLm1heCh2aWV3LnNjYWxlIHx8IDAsIDAuMDEpO1xuICByZXR1cm4gc3RhZ2UudG9EYXRhVVJMKHtcbiAgICBtaW1lVHlwZTogJ2ltYWdlL3BuZycsXG4gICAgcGl4ZWxSYXRpbzogMSAvIHNjYWxlLFxuICAgIHg6IHZpZXcueCxcbiAgICB5OiB2aWV3LnksXG4gICAgd2lkdGg6IGFydC53aWR0aCAqIHNjYWxlLFxuICAgIGhlaWdodDogYXJ0LmhlaWdodCAqIHNjYWxlLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVuZGVyU3RhdGUoXG4gIHN0YXRlOiBEcmFmdENhbnZhc1N0YXRlLFxuICB0ZW1wbGF0ZVNvdXJjZXM6IHN0cmluZ1tdLFxuICBvYmplY3RzT25seSA9IGZhbHNlLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gIGNhbnZhcy53aWR0aCA9IE1hdGgubWF4KDEsIE1hdGgucm91bmQoc3RhdGUud2lkdGgpKTtcbiAgY2FudmFzLmhlaWdodCA9IE1hdGgubWF4KDEsIE1hdGgucm91bmQoc3RhdGUuaGVpZ2h0KSk7XG4gIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBpZiAoIWN0eCkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IGZpbGxzID0gc3RhdGUub2JqZWN0cy5maWx0ZXIoaXNCYWNrZ3JvdW5kRmlsbCk7XG4gIGNvbnN0IGNvbnRlbnQgPSBzdGF0ZS5vYmplY3RzLmZpbHRlcigob2JqKSA9PiAhaXNCYWNrZ3JvdW5kRmlsbChvYmopKTtcblxuICBpZiAoIW9iamVjdHNPbmx5KSB7XG4gICAgY3R4LmZpbGxTdHlsZSA9ICcjZmZmZmZmJztcbiAgICBjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgfVxuXG4gIGNvbnN0IGRyYXdMaXN0ID0gYXN5bmMgKFxuICAgIG9iamVjdHM6IERyYWZ0Q2FudmFzT2JqZWN0W10sXG4gICAgY29tcG9zaXRlPzogJ211bHRpcGx5JyB8ICdzb3VyY2Utb3ZlcicsXG4gICkgPT4ge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG9iamVjdHMpIHtcbiAgICAgIGxldCBpbWFnZTogSFRNTEltYWdlRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChvYmoudHlwZSA9PT0gJ2ltYWdlJyAmJiBvYmouc3JjKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaW1hZ2UgPSBhd2FpdCBsb2FkSHRtbEltYWdlKG9iai5zcmMpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICBpbWFnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY3R4LnNhdmUoKTtcbiAgICAgIGlmIChjb21wb3NpdGUpIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBjb21wb3NpdGU7XG4gICAgICBkcmF3T2JqZWN0KGN0eCwgb2JqLCBpbWFnZSk7XG4gICAgICBjdHgucmVzdG9yZSgpO1xuICAgIH1cbiAgfTtcblxuICBpZiAoIW9iamVjdHNPbmx5ICYmIHRlbXBsYXRlU291cmNlcy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdGVtcGxhdGUgPSBhd2FpdCBsb2FkSHRtbEltYWdlRnJvbVNvdXJjZXModGVtcGxhdGVTb3VyY2VzKTtcbiAgICAgIGN0eC5kcmF3SW1hZ2UodGVtcGxhdGUsIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBibGFuayBhcnRib2FyZCBpZiB0aGUgdGVtcGxhdGUgaW1hZ2UgY2Fubm90IGxvYWRcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hlZXRGaWxscyA9IGZpbGxzLmZpbHRlcigob2JqKSA9PiBpc0Z1bGxBcnRib2FyZEZpbGwob2JqLCBzdGF0ZS53aWR0aCwgc3RhdGUuaGVpZ2h0KSk7XG4gIGNvbnN0IHJlZ2lvbkZpbGxzID0gZmlsbHMuZmlsdGVyKChvYmopID0+ICFpc0Z1bGxBcnRib2FyZEZpbGwob2JqLCBzdGF0ZS53aWR0aCwgc3RhdGUuaGVpZ2h0KSk7XG4gIGF3YWl0IGRyYXdMaXN0KHNoZWV0RmlsbHMsIG9iamVjdHNPbmx5ID8gJ3NvdXJjZS1vdmVyJyA6ICdtdWx0aXBseScpO1xuICBhd2FpdCBkcmF3TGlzdChyZWdpb25GaWxscyk7XG4gIGF3YWl0IGRyYXdMaXN0KGNvbnRlbnQuZmlsdGVyKChvYmopID0+IG9iai50eXBlICE9PSAnaW1hZ2UnKSk7XG4gIGF3YWl0IGRyYXdMaXN0KGNvbnRlbnQuZmlsdGVyKChvYmopID0+IG9iai50eXBlID09PSAnaW1hZ2UnKSk7XG5cbiAgcmV0dXJuIGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwb3J0RHJhZnRQbmdzKFxuICBzdGF0ZTogRHJhZnRDYW52YXNTdGF0ZSxcbiAgdGVtcGxhdGVTcmM/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwsXG4gIGFwaVVybD86IHN0cmluZyxcbik6IFByb21pc2U8eyBkcmFmdDogc3RyaW5nOyBjYW52YXNQcmV2aWV3OiBzdHJpbmcgfT4ge1xuICBjb25zdCBzb3VyY2VzID0gQXJyYXkuaXNBcnJheSh0ZW1wbGF0ZVNyYylcbiAgICA/IHRlbXBsYXRlU3JjXG4gICAgOiB0ZW1wbGF0ZVNyY1xuICAgICAgPyBbdGVtcGxhdGVTcmNdXG4gICAgICA6IFtdO1xuICBjb25zdCByZXNvbHZlZCA9IHNvdXJjZXMuZmxhdE1hcCgoc3JjKSA9PiAoXG4gICAgc3JjLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBzcmMuc3RhcnRzV2l0aCgnZGF0YTonKSB8fCBzcmMuc3RhcnRzV2l0aCgnYmxvYjonKVxuICAgICAgPyBbc3JjXVxuICAgICAgOiB0ZW1wbGF0ZUltYWdlU291cmNlcyh7IGZpbGU6IHsgdmlld1VybDogc3JjIH0gfSwgYXBpVXJsKVxuICApKTtcbiAgYXdhaXQgd2FpdEZvckRyYWZ0Rm9udHMoXG4gICAgc3RhdGUub2JqZWN0c1xuICAgICAgLmZpbHRlcigob2JqKSA9PiBvYmoudHlwZSA9PT0gJ3RleHQnKVxuICAgICAgLm1hcCgob2JqKSA9PiBvYmouZm9udEZhbWlseSB8fCAnJyksXG4gICk7XG4gIGNvbnN0IFtkcmFmdCwgY2FudmFzUHJldmlld10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgcmVuZGVyU3RhdGUoc3RhdGUsIHJlc29sdmVkLCB0cnVlKSxcbiAgICByZW5kZXJTdGF0ZShzdGF0ZSwgcmVzb2x2ZWQsIGZhbHNlKSxcbiAgXSk7XG4gIHJldHVybiB7IGRyYWZ0LCBjYW52YXNQcmV2aWV3IH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7MEJBQ0EsdUtBQUFBLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxXQUFBLDhCQUFBQyxFQUFBTixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQUwsQ0FBQSxJQUFBQSxDQUFBLENBQUFNLFNBQUEsWUFBQUMsU0FBQSxHQUFBUCxDQUFBLEdBQUFPLFNBQUEsRUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUwsQ0FBQSxDQUFBQyxTQUFBLFVBQUFLLG1CQUFBLENBQUFILENBQUEsdUJBQUFWLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFJLENBQUEsTUFBQUMsQ0FBQSxHQUFBWCxDQUFBLFFBQUFZLENBQUEsT0FBQUMsQ0FBQSxLQUFBRixDQUFBLEtBQUFiLENBQUEsS0FBQWdCLENBQUEsRUFBQXBCLENBQUEsRUFBQXFCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBc0IsQ0FBQSxXQUFBQSxFQUFB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
@@ -1,4 +1,4 @@
1
- import { applyKonvaObjectTransform, captureStageArtboard, templateImageSources, wrapLines } from './draftExport';
1
+ import { applyKonvaObjectTransform, captureStageArtboard, templateDownloadHref, templateImageSources, wrapLines } from './draftExport';
2
2
  test('templateImageSources prefers the public file view and resolves relative URLs', function () {
3
3
  expect(templateImageSources({
4
4
  file: {
@@ -8,6 +8,23 @@ test('templateImageSources prefers the public file view and resolves relative UR
8
8
  }
9
9
  }, 'http://127.0.0.1:5000/v6/')).toEqual(['http://127.0.0.1:5000/v6/public-files/44/view/', 'http://127.0.0.1:5000/testfiles/abc/', 'https://cdn.example/template.png']);
10
10
  });
11
+ test('templateDownloadHref prefers the file download URL', function () {
12
+ expect(templateDownloadHref({
13
+ file: {
14
+ id: 44,
15
+ viewUrl: '/testfiles/abc/',
16
+ downloadUrl: '/files/44/download/'
17
+ }
18
+ }, 'http://127.0.0.1:5000/v6/')).toBe('http://127.0.0.1:5000/files/44/download/');
19
+ });
20
+ test('templateDownloadHref falls back to the public view', function () {
21
+ expect(templateDownloadHref({
22
+ file: {
23
+ id: 44,
24
+ viewUrl: '/testfiles/abc/'
25
+ }
26
+ }, 'http://127.0.0.1:5000/v6/')).toBe('http://127.0.0.1:5000/v6/public-files/44/view/');
27
+ });
11
28
  test('wrapLines keeps a short phrase on one line', function () {
12
29
  expect(wrapLines('James was here', 400, function (value) {
13
30
  return value.length * 10;
@@ -75,4 +92,4 @@ test('captureStageArtboard crops the fitted artboard at native resolution', func
75
92
  height: 400
76
93
  });
77
94
  });
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtIiwiY2FwdHVyZVN0YWdlQXJ0Ym9hcmQiLCJ0ZW1wbGF0ZUltYWdlU291cmNlcyIsIndyYXBMaW5lcyIsInRlc3QiLCJleHBlY3QiLCJmaWxlIiwiaWQiLCJ2aWV3VXJsIiwiY2FjaGVkVmlld1VybCIsInRvRXF1YWwiLCJ2YWx1ZSIsImxlbmd0aCIsImNhbGxzIiwiY3R4IiwidHJhbnNsYXRlIiwiX2xlbiIsImFyZ3VtZW50cyIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJwdXNoIiwicm90YXRlIiwiX2xlbjIiLCJfa2V5MiIsInNjYWxlIiwiX2xlbjMiLCJfa2V5MyIsIngiLCJ5Iiwicm90YXRpb24iLCJzY2FsZVgiLCJzY2FsZVkiLCJ0b0JlIiwidG9CZUNsb3NlVG8iLCJNYXRoIiwiUEkiLCJzdGFnZSIsInRvRGF0YVVSTCIsImplc3QiLCJmbiIsIndpZHRoIiwiaGVpZ2h0IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJtaW1lVHlwZSIsInBpeGVsUmF0aW8iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZHJhZnRFeHBvcnQudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtLFxuICBjYXB0dXJlU3RhZ2VBcnRib2FyZCxcbiAgdGVtcGxhdGVJbWFnZVNvdXJjZXMsXG4gIHdyYXBMaW5lcyxcbn0gZnJvbSAnLi9kcmFmdEV4cG9ydCc7XG5cbnRlc3QoJ3RlbXBsYXRlSW1hZ2VTb3VyY2VzIHByZWZlcnMgdGhlIHB1YmxpYyBmaWxlIHZpZXcgYW5kIHJlc29sdmVzIHJlbGF0aXZlIFVSTHMnLCAoKSA9PiB7XG4gIGV4cGVjdCh0ZW1wbGF0ZUltYWdlU291cmNlcyh7XG4gICAgZmlsZToge1xuICAgICAgaWQ6IDQ0LFxuICAgICAgdmlld1VybDogJy90ZXN0ZmlsZXMvYWJjLycsXG4gICAgICBjYWNoZWRWaWV3VXJsOiAnaHR0cHM6Ly9jZG4uZXhhbXBsZS90ZW1wbGF0ZS5wbmcnLFxuICAgIH0sXG4gIH0sICdodHRwOi8vMTI3LjAuMC4xOjUwMDAvdjYvJykpLnRvRXF1YWwoW1xuICAgICdodHRwOi8vMTI3LjAuMC4xOjUwMDAvdjYvcHVibGljLWZpbGVzLzQ0L3ZpZXcvJyxcbiAgICAnaHR0cDovLzEyNy4wLjAuMTo1MDAwL3Rlc3RmaWxlcy9hYmMvJyxcbiAgICAnaHR0cHM6Ly9jZG4uZXhhbXBsZS90ZW1wbGF0ZS5wbmcnLFxuICBdKTtcbn0pO1xuXG50ZXN0KCd3cmFwTGluZXMga2VlcHMgYSBzaG9ydCBwaHJhc2Ugb24gb25lIGxpbmUnLCAoKSA9PiB7XG4gIGV4cGVjdCh3cmFwTGluZXMoJ0phbWVzIHdhcyBoZXJlJywgNDAwLCAodmFsdWUpID0+IHZhbHVlLmxlbmd0aCAqIDEwKSkudG9FcXVhbChbXG4gICAgJ0phbWVzIHdhcyBoZXJlJyxcbiAgXSk7XG59KTtcblxudGVzdCgnd3JhcExpbmVzIGJyZWFrcyBvbiB3b3JkIGJvdW5kYXJpZXMgbGlrZSB0aGUgZGVzaWduZXIgY2FudmFzJywgKCkgPT4ge1xuICBleHBlY3Qod3JhcExpbmVzKCdKYW1lcyB3YXMgaGVyZScsIDgwLCAodmFsdWUpID0+IHZhbHVlLmxlbmd0aCAqIDEwKSkudG9FcXVhbChbXG4gICAgJ0phbWVzJyxcbiAgICAnd2FzIGhlcmUnLFxuICBdKTtcbn0pO1xuXG50ZXN0KCdhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtIHVzZXMgdGhlIHRvcC1sZWZ0IG9yaWdpbiBsaWtlIEtvbnZhJywgKCkgPT4ge1xuICBjb25zdCBjYWxsczogQXJyYXk8W3N0cmluZywgbnVtYmVyW11dPiA9IFtdO1xuICBjb25zdCBjdHggPSB7XG4gICAgdHJhbnNsYXRlOiAoLi4uYXJnczogbnVtYmVyW10pID0+IGNhbGxzLnB1c2goWyd0cmFuc2xhdGUnLCBhcmdzXSksXG4gICAgcm90YXRlOiAoLi4uYXJnczogbnVtYmVyW10pID0+IGNhbGxzLnB1c2goWydyb3RhdGUnLCBhcmdzXSksXG4gICAgc2NhbGU6ICguLi5hcmdzOiBudW1iZXJbXSkgPT4gY2FsbHMucHVzaChbJ3NjYWxlJywgYXJnc10pLFxuICB9O1xuICBhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtKGN0eCwge1xuICAgIHg6IDQwLFxuICAgIHk6IDgwLFxuICAgIHJvdGF0aW9uOiA5MCxcbiAgICBzY2FsZVg6IDIsXG4gICAgc2NhbGVZOiAxLFxuICB9KTtcbiAgZXhwZWN0KGNhbGxzWzBdKS50b0VxdWFsKFsndHJhbnNsYXRlJywgWzQwLCA4MF1dKTtcbiAgZXhwZWN0KGNhbGxzWzFdWzBdKS50b0JlKCdyb3RhdGUnKTtcbiAgZXhwZWN0KGNhbGxzWzFdWzFdWzBdKS50b0JlQ2xvc2VUbyhNYXRoLlBJIC8gMik7XG4gIGV4cGVjdChjYWxsc1syXSkudG9FcXVhbChbJ3NjYWxlJywgWzIsIDFdXSk7XG59KTtcblxudGVzdCgnY2FwdHVyZVN0YWdlQXJ0Ym9hcmQgY3JvcHMgdGhlIGZpdHRlZCBhcnRib2FyZCBhdCBuYXRpdmUgcmVzb2x1dGlvbicsICgpID0+IHtcbiAgY29uc3Qgc3RhZ2UgPSB7XG4gICAgdG9EYXRhVVJMOiBqZXN0LmZuKCgpID0+ICdkYXRhOmltYWdlL3BuZzthcnRib2FyZCcpLFxuICB9O1xuICBleHBlY3QoY2FwdHVyZVN0YWdlQXJ0Ym9hcmQoXG4gICAgc3RhZ2UsXG4gICAgeyB4OiAxMiwgeTogMjQsIHNjYWxlOiAwLjUgfSxcbiAgICB7IHdpZHRoOiAyMDAwLCBoZWlnaHQ6IDgwMCB9LFxuICApKS50b0JlKCdkYXRhOmltYWdlL3BuZzthcnRib2FyZCcpO1xuICBleHBlY3Qoc3RhZ2UudG9EYXRhVVJMKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgbWltZVR5cGU6ICdpbWFnZS9wbmcnLFxuICAgIHBpeGVsUmF0aW86IDIsXG4gICAgeDogMTIsXG4gICAgeTogMjQsXG4gICAgd2lkdGg6IDEwMDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiJB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
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtIiwiY2FwdHVyZVN0YWdlQXJ0Ym9hcmQiLCJ0ZW1wbGF0ZURvd25sb2FkSHJlZiIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwid3JhcExpbmVzIiwidGVzdCIsImV4cGVjdCIsImZpbGUiLCJpZCIsInZpZXdVcmwiLCJjYWNoZWRWaWV3VXJsIiwidG9FcXVhbCIsImRvd25sb2FkVXJsIiwidG9CZSIsInZhbHVlIiwibGVuZ3RoIiwiY2FsbHMiLCJjdHgiLCJ0cmFuc2xhdGUiLCJfbGVuIiwiYXJndW1lbnRzIiwiYXJncyIsIkFycmF5IiwiX2tleSIsInB1c2giLCJyb3RhdGUiLCJfbGVuMiIsIl9rZXkyIiwic2NhbGUiLCJfbGVuMyIsIl9rZXkzIiwieCIsInkiLCJyb3RhdGlvbiIsInNjYWxlWCIsInNjYWxlWSIsInRvQmVDbG9zZVRvIiwiTWF0aCIsIlBJIiwic3RhZ2UiLCJ0b0RhdGFVUkwiLCJqZXN0IiwiZm4iLCJ3aWR0aCIsImhlaWdodCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwibWltZVR5cGUiLCJwaXhlbFJhdGlvIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2RyYWZ0RXhwb3J0LnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwbHlLb252YU9iamVjdFRyYW5zZm9ybSxcbiAgY2FwdHVyZVN0YWdlQXJ0Ym9hcmQsXG4gIHRlbXBsYXRlRG93bmxvYWRIcmVmLFxuICB0ZW1wbGF0ZUltYWdlU291cmNlcyxcbiAgd3JhcExpbmVzLFxufSBmcm9tICcuL2RyYWZ0RXhwb3J0JztcblxudGVzdCgndGVtcGxhdGVJbWFnZVNvdXJjZXMgcHJlZmVycyB0aGUgcHVibGljIGZpbGUgdmlldyBhbmQgcmVzb2x2ZXMgcmVsYXRpdmUgVVJMcycsICgpID0+IHtcbiAgZXhwZWN0KHRlbXBsYXRlSW1hZ2VTb3VyY2VzKHtcbiAgICBmaWxlOiB7XG4gICAgICBpZDogNDQsXG4gICAgICB2aWV3VXJsOiAnL3Rlc3RmaWxlcy9hYmMvJyxcbiAgICAgIGNhY2hlZFZpZXdVcmw6ICdodHRwczovL2Nkbi5leGFtcGxlL3RlbXBsYXRlLnBuZycsXG4gICAgfSxcbiAgfSwgJ2h0dHA6Ly8xMjcuMC4wLjE6NTAwMC92Ni8nKSkudG9FcXVhbChbXG4gICAgJ2h0dHA6Ly8xMjcuMC4wLjE6NTAwMC92Ni9wdWJsaWMtZmlsZXMvNDQvdmlldy8nLFxuICAgICdodHRwOi8vMTI3LjAuMC4xOjUwMDAvdGVzdGZpbGVzL2FiYy8nLFxuICAgICdodHRwczovL2Nkbi5leGFtcGxlL3RlbXBsYXRlLnBuZycsXG4gIF0pO1xufSk7XG5cbnRlc3QoJ3RlbXBsYXRlRG93bmxvYWRIcmVmIHByZWZlcnMgdGhlIGZpbGUgZG93bmxvYWQgVVJMJywgKCkgPT4ge1xuICBleHBlY3QodGVtcGxhdGVEb3dubG9hZEhyZWYoe1xuICAgIGZpbGU6IHtcbiAgICAgIGlkOiA0NCxcbiAgICAgIHZpZXdVcmw6ICcvdGVzdGZpbGVzL2FiYy8nLFxuICAgICAgZG93bmxvYWRVcmw6ICcvZmlsZXMvNDQvZG93bmxvYWQvJyxcbiAgICB9LFxuICB9LCAnaHR0cDovLzEyNy4wLjAuMTo1MDAwL3Y2LycpKS50b0JlKCdodHRwOi8vMTI3LjAuMC4xOjUwMDAvZmlsZXMvNDQvZG93bmxvYWQvJyk7XG59KTtcblxudGVzdCgndGVtcGxhdGVEb3dubG9hZEhyZWYgZmFsbHMgYmFjayB0byB0aGUgcHVibGljIHZpZXcnLCAoKSA9PiB7XG4gIGV4cGVjdCh0ZW1wbGF0ZURvd25sb2FkSHJlZih7XG4gICAgZmlsZTogeyBpZDogNDQsIHZpZXdVcmw6ICcvdGVzdGZpbGVzL2FiYy8nIH0sXG4gIH0sICdodHRwOi8vMTI3LjAuMC4xOjUwMDAvdjYvJykpLnRvQmUoJ2h0dHA6Ly8xMjcuMC4wLjE6NTAwMC92Ni9wdWJsaWMtZmlsZXMvNDQvdmlldy8nKTtcbn0pO1xuXG50ZXN0KCd3cmFwTGluZXMga2VlcHMgYSBzaG9ydCBwaHJhc2Ugb24gb25lIGxpbmUnLCAoKSA9PiB7XG4gIGV4cGVjdCh3cmFwTGluZXMoJ0phbWVzIHdhcyBoZXJlJywgNDAwLCAodmFsdWUpID0+IHZhbHVlLmxlbmd0aCAqIDEwKSkudG9FcXVhbChbXG4gICAgJ0phbWVzIHdhcyBoZXJlJyxcbiAgXSk7XG59KTtcblxudGVzdCgnd3JhcExpbmVzIGJyZWFrcyBvbiB3b3JkIGJvdW5kYXJpZXMgbGlrZSB0aGUgZGVzaWduZXIgY2FudmFzJywgKCkgPT4ge1xuICBleHBlY3Qod3JhcExpbmVzKCdKYW1lcyB3YXMgaGVyZScsIDgwLCAodmFsdWUpID0+IHZhbHVlLmxlbmd0aCAqIDEwKSkudG9FcXVhbChbXG4gICAgJ0phbWVzJyxcbiAgICAnd2FzIGhlcmUnLFxuICBdKTtcbn0pO1xuXG50ZXN0KCdhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtIHVzZXMgdGhlIHRvcC1sZWZ0IG9yaWdpbiBsaWtlIEtvbnZhJywgKCkgPT4ge1xuICBjb25zdCBjYWxsczogQXJyYXk8W3N0cmluZywgbnVtYmVyW11dPiA9IFtdO1xuICBjb25zdCBjdHggPSB7XG4gICAgdHJhbnNsYXRlOiAoLi4uYXJnczogbnVtYmVyW10pID0+IGNhbGxzLnB1c2goWyd0cmFuc2xhdGUnLCBhcmdzXSksXG4gICAgcm90YXRlOiAoLi4uYXJnczogbnVtYmVyW10pID0+IGNhbGxzLnB1c2goWydyb3RhdGUnLCBhcmdzXSksXG4gICAgc2NhbGU6ICguLi5hcmdzOiBudW1iZXJbXSkgPT4gY2FsbHMucHVzaChbJ3NjYWxlJywgYXJnc10pLFxuICB9O1xuICBhcHBseUtvbnZhT2JqZWN0VHJhbnNmb3JtKGN0eCwge1xuICAgIHg6IDQwLFxuICAgIHk6IDgwLFxuICAgIHJvdGF0aW9uOiA5MCxcbiAgICBzY2FsZVg6IDIsXG4gICAgc2NhbGVZOiAxLFxuICB9KTtcbiAgZXhwZWN0KGNhbGxzWzBdKS50b0VxdWFsKFsndHJhbnNsYXRlJywgWzQwLCA4MF1dKTtcbiAgZXhwZWN0KGNhbGxzWzFdWzBdKS50b0JlKCdyb3RhdGUnKTtcbiAgZXhwZWN0KGNhbGxzWzFdWzFdWzBdKS50b0JlQ2xvc2VUbyhNYXRoLlBJIC8gMik7XG4gIGV4cGVjdChjYWxsc1syXSkudG9FcXVhbChbJ3NjYWxlJywgWzIsIDFdXSk7XG59KTtcblxudGVzdCgnY2FwdHVyZVN0YWdlQXJ0Ym9hcmQgY3JvcHMgdGhlIGZpdHRlZCBhcnRib2FyZCBhdCBuYXRpdmUgcmVzb2x1dGlvbicsICgpID0+IHtcbiAgY29uc3Qgc3RhZ2UgPSB7XG4gICAgdG9EYXRhVVJMOiBqZXN0LmZuKCgpID0+ICdkYXRhOmltYWdlL3BuZzthcnRib2FyZCcpLFxuICB9O1xuICBleHBlY3QoY2FwdHVyZVN0YWdlQXJ0Ym9hcmQoXG4gICAgc3RhZ2UsXG4gICAgeyB4OiAxMiwgeTogMjQsIHNjYWxlOiAwLjUgfSxcbiAgICB7IHdpZHRoOiAyMDAwLCBoZWlnaHQ6IDgwMCB9LFxuICApKS50b0JlKCdkYXRhOmltYWdlL3BuZzthcnRib2FyZCcpO1xuICBleHBlY3Qoc3RhZ2UudG9EYXRhVVJMKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgbWltZVR5cGU6ICdpbWFnZS9wbmcnLFxuICAgIHBpeGVsUmF0aW86IDIsXG4gICAgeDogMTIsXG4gICAgeTogMjQsXG4gICAgd2lkdGg6IDEwMDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLHlCQUF5QixFQUN6QkMsb0JBQW9CLEVBQ3BCQyxvQkFBb0IsRUFDcEJDLG9CQUFvQixFQUNwQkMsU0FBUyxRQUNKLGVBQWU7QUFFdEJDLElBQUksQ0FBQyw4RUFBOEUsRUFBRSxZQUFNO0VBQ3pGQyxNQUFNLENBQUNILG9CQUFvQixDQUFDO0lBQzFCSSxJQUFJLEVBQUU7TUFDSkMsRUFBRSxFQUFFLEVBQUU7TUFDTkMsT0FBTyxFQUFFLGlCQUFpQjtNQUMxQkMsYUFBYSxFQUFFO0lBQ2pCO0VBQ0YsQ0FBQyxFQUFFLDJCQUEyQixDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLENB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QUFDaUIsR0FBRyxFQUFFO0lBQzdCYyxDQUFDLEVBQUUsRUFBRTtJQUNMQyxDQUFDLEVBQUUsRUFBRTtJQUNMQyxRQUFRLEVBQUUsRUFBRTtJQUNaQyxNQUFNLEVBQUUsQ0FBQztJQUNUQyxNQUFNLEVBQUU7RUFDVixDQUFDLENBQUM7RUFDRjdCLE1BQU0sQ0FBQ1UsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNMLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ2pETCxNQUFNLENBQUNVLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDO0VBQ2xDUCxNQUFNLENBQUNVLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDb0IsV0FBVyxDQUFDQyxJQUFJLENBQUNDLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFDL0NoQyxNQUFNLENBQUNVLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDTCxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRk4sSUFBSSxDQUFDLHFFQUFxRSxFQUFFLFlBQU07RUFDaEYsSUFBTWtDLEtBQUssR0FBRztJQUNaQyxTQUFTLEVBQUVDLElBQUksQ0FBQ0MsRUFBRSxDQUFDO01BQUEsT0FBTSx5QkFBeUI7SUFBQTtFQUNwRCxDQUFDO0VBQ0RwQyxNQUFNLENBQUNMLG9CQUFvQixDQUN6QnNDLEtBQUssRUFDTDtJQUFFUixDQUFDLEVBQUUsRUFBRTtJQUFFQyxDQUFDLEVBQUUsRUFBRTtJQUFFSixLQUFLLEVBQUU7RUFBSSxDQUFDLEVBQzVCO0lBQUVlLEtBQUssRUFBRSxJQUFJO0lBQUVDLE1BQU0sRUFBRTtFQUFJLENBQzdCLENBQUMsQ0FBQyxDQUFDL0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0VBQ2xDUCxNQUFNLENBQUNpQyxLQUFLLENBQUNDLFNBQVMsQ0FBQyxDQUFDSyxvQkFBb0IsQ0FBQztJQUMzQ0MsUUFBUSxFQUFFLFdBQVc7SUFDckJDLFVBQVUsRUFBRSxDQUFDO0lBQ2JoQixDQUFDLEVBQUUsRUFBRTtJQUNMQyxDQUFDLEVBQUUsRUFBRTtJQUNMVyxLQUFLLEVBQUUsSUFBSTtJQUNYQyxNQUFNLEVBQUU7RUFDVixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=