@azure-tools/typespec-go 0.10.4 → 0.10.5

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.
@@ -5,6 +5,7 @@
5
5
  import * as tcgc from '@azure-tools/typespec-client-generator-core';
6
6
  import * as tsp from '@typespec/compiler';
7
7
  import * as http from '@typespec/http';
8
+ import * as helpers from './helpers.js';
8
9
  import * as go from '../../../codemodel.go/src/index.js';
9
10
  import * as naming from '../../../naming.go/src/naming.js';
10
11
  import { AdapterError } from '../tcgcadapter/errors.js';
@@ -65,7 +66,7 @@ export class TypeAdapter {
65
66
  // skip types without input and output usage
66
67
  continue;
67
68
  }
68
- if (isPolymorphicRoot(modelType)) {
69
+ if (helpers.isPolymorphicRoot(modelType)) {
69
70
  // this is a root discriminated type
70
71
  const iface = this.getInterfaceType(modelType);
71
72
  this.getPkg().interfaces.push(iface);
@@ -102,7 +103,7 @@ export class TypeAdapter {
102
103
  }
103
104
  if (content.addlProps) {
104
105
  const annotations = new go.ModelFieldAnnotations(false, false, true, false);
105
- const addlPropsType = new go.Map(this.getWireType(content.addlProps, false, false), isTypePassedByValue(content.addlProps));
106
+ const addlPropsType = new go.Map(this.getWireType(content.addlProps, false, false), helpers.isTypePassedByValue(content.addlProps));
106
107
  const addlProps = new go.ModelField('AdditionalProperties', addlPropsType, true, '', annotations);
107
108
  modelType.go.fields.push(addlProps);
108
109
  }
@@ -173,7 +174,7 @@ export class TypeAdapter {
173
174
  nullable = true;
174
175
  }
175
176
  // prefer elementTypeByValue. if false, then if the array elements have been explicitly marked as nullable then prefer that, else fall back to our usual algorithm
176
- const myElementTypeByValue = elementTypeByValue ? true : nullable ? false : this.codeModel.options.sliceElementsByval || isTypePassedByValue(elementType);
177
+ const myElementTypeByValue = elementTypeByValue ? true : nullable ? false : this.codeModel.options.sliceElementsByval || helpers.isTypePassedByValue(elementType);
177
178
  const keyName = recursiveKeyName(`array-${myElementTypeByValue}`, elementType, substituteDiscriminator);
178
179
  let arrayType = this.types.get(keyName);
179
180
  if (arrayType) {
@@ -203,7 +204,7 @@ export class TypeAdapter {
203
204
  case 'utcDateTime':
204
205
  return this.getTimeType(type.encode, true);
205
206
  case 'dict': {
206
- const valueTypeByValue = isTypePassedByValue(type.valueType);
207
+ const valueTypeByValue = helpers.isTypePassedByValue(type.valueType);
207
208
  const keyName = recursiveKeyName(`dict-${valueTypeByValue}`, type.valueType, substituteDiscriminator);
208
209
  let mapType = this.types.get(keyName);
209
210
  if (mapType) {
@@ -227,7 +228,7 @@ export class TypeAdapter {
227
228
  }
228
229
  }
229
230
  case 'model':
230
- if (isPolymorphicRoot(type) && substituteDiscriminator) {
231
+ if (helpers.isPolymorphicRoot(type) && substituteDiscriminator) {
231
232
  return this.getInterfaceType(type);
232
233
  }
233
234
  return this.getModel(type);
@@ -441,7 +442,7 @@ export class TypeAdapter {
441
442
  if (model.name.length === 0) {
442
443
  throw new AdapterError('InternalError', 'unnamed model');
443
444
  }
444
- if (!isPolymorphicRoot(model)) {
445
+ if (!helpers.isPolymorphicRoot(model)) {
445
446
  throw new AdapterError('InternalError', `type ${model.name} isn't a discriminator root`, model.__raw?.node);
446
447
  }
447
448
  let ifaceName = naming.createPolymorphicInterfaceName(naming.ensureNameCase(model.name));
@@ -465,7 +466,7 @@ export class TypeAdapter {
465
466
  throw new AdapterError('InternalError', `failed to find discriminator field for type ${model.name}`);
466
467
  }
467
468
  iface = new go.Interface(this.getPkg(), ifaceName, discriminatorField);
468
- if (model.baseModel && isPolymorphicRoot(model.baseModel)) {
469
+ if (model.baseModel && helpers.isPolymorphicRoot(model.baseModel)) {
469
470
  iface.parent = this.getInterfaceType(model.baseModel);
470
471
  }
471
472
  this.types.set(ifaceName, iface);
@@ -488,11 +489,27 @@ export class TypeAdapter {
488
489
  if (model.usage & tsp.UsageFlags.Output) {
489
490
  usage |= go.UsageFlags.Output;
490
491
  }
491
- const annotations = new go.ModelAnnotations(false, (model.usage & tcgc.UsageFlags.MultipartFormData) === tcgc.UsageFlags.MultipartFormData);
492
- if (isPolymorphicRoot(model) || model.discriminatorValue) {
492
+ let omitSerde = false;
493
+ const omitValue = helpers.getClientOption('omitSerdeMethods', model, this.ctx.program);
494
+ if (omitValue) {
495
+ switch (omitValue) {
496
+ case 'all':
497
+ omitSerde = true;
498
+ break;
499
+ default:
500
+ this.ctx.program.reportDiagnostic({
501
+ code: 'InvalidClientOption',
502
+ severity: 'warning',
503
+ message: `invalid omitSerdeMethods value ${omitValue} on model ${model.name}`,
504
+ target: model.__raw?.node ?? tsp.NoTarget,
505
+ });
506
+ }
507
+ }
508
+ const annotations = new go.ModelAnnotations(omitSerde, (model.usage & tcgc.UsageFlags.MultipartFormData) === tcgc.UsageFlags.MultipartFormData);
509
+ if (helpers.isPolymorphicRoot(model) || model.discriminatorValue) {
493
510
  let iface;
494
511
  let discriminatorLiteral;
495
- if (isPolymorphicRoot(model)) {
512
+ if (helpers.isPolymorphicRoot(model)) {
496
513
  // root type, we can get the InterfaceType directly from it
497
514
  iface = this.getInterfaceType(model);
498
515
  }
@@ -500,7 +517,7 @@ export class TypeAdapter {
500
517
  // walk the parents until we find the first root type
501
518
  let parent = model.baseModel;
502
519
  while (parent) {
503
- if (isPolymorphicRoot(parent)) {
520
+ if (helpers.isPolymorphicRoot(parent)) {
504
521
  iface = this.getInterfaceType(parent);
505
522
  break;
506
523
  }
@@ -525,7 +542,7 @@ export class TypeAdapter {
525
542
  else {
526
543
  modelType = new go.Model(this.getPkg(), modelName, annotations, usage);
527
544
  // polymorphic types don't have XMLInfo
528
- modelType.xml = adaptXMLInfo(this.getPkg(), model.decorators);
545
+ modelType.xml = helpers.adaptXMLInfo(this.getPkg(), model.decorators);
529
546
  }
530
547
  modelType.docs.summary = model.summary;
531
548
  modelType.docs.description = model.doc;
@@ -556,7 +573,7 @@ export class TypeAdapter {
556
573
  // for multipart/form data containing models, default to fields not being pointer-to-type as we
557
574
  // don't have to deal with JSON patch shenanigans. only the optional fields will be pointer-to-type.
558
575
  const isMultipartFormData = (modelType.usage & tcgc.UsageFlags.MultipartFormData) === tcgc.UsageFlags.MultipartFormData;
559
- let fieldByValue = isMultipartFormData ? true : isTypePassedByValue(prop.type);
576
+ let fieldByValue = isMultipartFormData ? true : helpers.isTypePassedByValue(prop.type);
560
577
  if (isMultipartFormData && prop.kind === 'property' && prop.optional) {
561
578
  fieldByValue = false;
562
579
  }
@@ -574,7 +591,19 @@ export class TypeAdapter {
574
591
  }
575
592
  }
576
593
  }
577
- const field = new go.ModelField(naming.capitalize(naming.ensureNameCase(prop.name)), type, fieldByValue, prop.serializedName, annotations);
594
+ let serializedName;
595
+ if (prop.serializationOptions.json) {
596
+ serializedName = prop.serializationOptions.json.name;
597
+ }
598
+ else if (prop.serializationOptions.xml) {
599
+ serializedName = prop.serializationOptions.xml.name;
600
+ }
601
+ else {
602
+ // there are some edge cases where serializationOptions is empty so we fall back to serializedName.
603
+ // e.g. /typespec-go/test/tsp/HardwareSecurityModules.Management/CloudHsmCluster.tsp#L99-L105
604
+ serializedName = prop.serializedName;
605
+ }
606
+ const field = new go.ModelField(naming.capitalize(naming.ensureNameCase(prop.name)), type, fieldByValue, serializedName, annotations);
578
607
  field.docs.summary = prop.summary;
579
608
  field.docs.description = prop.doc;
580
609
  if (prop.discriminator && modelType.discriminatorValue) {
@@ -583,7 +612,7 @@ export class TypeAdapter {
583
612
  annotations.isDiscriminator = true;
584
613
  field.defaultValue = this.getDiscriminatorLiteral(prop);
585
614
  }
586
- field.xml = adaptXMLInfo(this.getPkg(), prop.decorators, field);
615
+ field.xml = helpers.adaptXMLInfo(this.getPkg(), prop.decorators, field);
587
616
  return field;
588
617
  }
589
618
  getConstantValues(type, valueTypes) {
@@ -793,19 +822,6 @@ function recursiveKeyName(root, obj, substituteDiscriminator) {
793
822
  return `${root}-${obj.kind}`;
794
823
  }
795
824
  }
796
- /**
797
- * returns true if the specified type doesn't need to be pointer-to-type
798
- * because it's implicitly nil-able.
799
- *
800
- * @param type the type to inspect
801
- * @returns true if the type is implicitly nil-able
802
- */
803
- export function isTypePassedByValue(type) {
804
- if (type.kind === 'nullable') {
805
- type = type.type;
806
- }
807
- return type.kind === 'unknown' || type.kind === 'array' || type.kind === 'bytes' || type.kind === 'dict' || (type.kind === 'model' && isPolymorphicRoot(type));
808
- }
809
825
  // aggregate the properties from the provided type and its parent types.
810
826
  // this includes any inherited additional properties.
811
827
  function aggregateProperties(sdkContext, model) {
@@ -839,90 +855,4 @@ function aggregateProperties(sdkContext, model) {
839
855
  }
840
856
  return { props: allProps, addlProps: addlProps };
841
857
  }
842
- // called for models and model fields. for the former, the field param will be undefined
843
- export function adaptXMLInfo(pkg, decorators, field) {
844
- // if there are no decorators and this isn't a slice
845
- // type in a model field then do nothing
846
- if (decorators.length === 0 && (!field || field.type.kind !== 'slice')) {
847
- return undefined;
848
- }
849
- const xmlInfo = new go.XMLInfo();
850
- if (field && field.type.kind === 'slice') {
851
- // for tsp, arrays are wrapped by default
852
- xmlInfo.wraps = go.getTypeDeclaration(field.type.elementType, pkg);
853
- }
854
- const handleName = (decorator) => {
855
- if (field) {
856
- xmlInfo.name = decorator.arguments['name'];
857
- }
858
- else {
859
- // when applied to a model, it means the model's XML element
860
- // node has a different name than the model.
861
- xmlInfo.wrapper = decorator.arguments['name'];
862
- }
863
- };
864
- for (const decorator of decorators) {
865
- switch (decorator.name) {
866
- case 'TypeSpec.@encodedName':
867
- if (decorator.arguments['mimeType'] === 'application/xml') {
868
- handleName(decorator);
869
- }
870
- break;
871
- case 'TypeSpec.Xml.@attribute':
872
- xmlInfo.attribute = true;
873
- break;
874
- case 'TypeSpec.Xml.@name':
875
- handleName(decorator);
876
- break;
877
- case 'TypeSpec.Xml.@unwrapped':
878
- // unwrapped can only be applied to fields
879
- if (field) {
880
- switch (field.type.kind) {
881
- case 'slice':
882
- // unwrapped slice. default to using the serialized name
883
- xmlInfo.wraps = undefined;
884
- xmlInfo.name = field.serializedName;
885
- break;
886
- case 'string':
887
- // an unwrapped string means it's text
888
- xmlInfo.text = true;
889
- break;
890
- }
891
- }
892
- break;
893
- }
894
- }
895
- return xmlInfo;
896
- }
897
- /**
898
- * returns any XMLInfo available for the provided type or undefined
899
- *
900
- * @param type the type to inspect for XMLInfo
901
- * @returns the XMLInfo or undefined
902
- */
903
- export function hasXMLInfo(type) {
904
- if ('xml' in type) {
905
- return type.xml;
906
- }
907
- return undefined;
908
- }
909
- /**
910
- * returns true if model is a polymorphic root type.
911
- *
912
- * @param model the model to inspect
913
- * @returns true if the model is a polymorphic root
914
- */
915
- function isPolymorphicRoot(model) {
916
- if (model.discriminatedSubtypes) {
917
- // when there are sub-types we know for sure it's a polymorphic root
918
- return true;
919
- }
920
- else if (model.discriminatorProperty && !model.discriminatorValue) {
921
- // we can land here if it's a root but has no child types
922
- return true;
923
- }
924
- else {
925
- return false;
926
- }
927
- }
928
858
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/types.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AACpE,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,wDAAwD;AACxD,MAAM,OAAO,WAAW;IACtB,sCAAsC;IAC7B,GAAG,CAAkB;IAE9B,sCAAsC;IAC7B,SAAS,CAAe;IAEjC,oDAAoD;IACnC,KAAK,CAA2B;IAChC,WAAW,CAAgC;IAE5D,YAAY,GAAoB,EAAE,SAAuB;QACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7G,CAAC;IAED;;OAEG;IACH,UAAU;QACR,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACjD,IAAqB,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC1G,2CAA2C;gBAC3C,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7G,4CAA4C;gBAC5C,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,sGAAsG;QACtG,MAAM,UAAU,GAAG,IAAI,KAAK,EAAyB,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,KAAK,EAA6B,CAAC;QAC1D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,sDAAsD;gBACtD,wCAAwC;gBACxC,SAAS;YACX,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,IAAqB,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACrI,qDAAqD;gBACrD,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/G,4CAA4C;gBAC5C,SAAS;YACX,CAAC;YAED,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,oCAAoC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,gDAAgD;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,yDAAyD;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,oGAAoG;YACpG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrE,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,yGAAyG;QACzG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,SAAS,CAAC,EAAE,CAAC,QAAQ,GAAwB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChF,MAAM,YAAY,GAAwB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjE,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvD,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,IAAI,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5E,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5H,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;gBAClG,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,+CAA+C;IACvC,iBAAiB;QACvB,MAAM,cAAc,GAAG,IAAI,KAAK,EAAqB,CAAC;QACtD,MAAM,oBAAoB,GAAG,UAAU,MAAiD;YACtF,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvC,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAChC,SAAS;gBACX,CAAC;gBAED,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACrD,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAyB,QAAQ,CAAC,IAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1F,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACpD,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,6DAA6D;IAC7D,uEAAuE;IACvE,mDAAmD;IACnD,WAAW,CAAC,IAAkB,EAAE,kBAA2B,EAAE,uBAAgC;QAC3F,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,YAAY,CAAC;YAClB,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACpC,2BAA2B;oBAC3B,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;oBAC/B,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;gBACD,kKAAkK;gBAClK,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBAC1J,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,oBAAoB,EAAE,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC;gBACxG,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,SAAS,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAC3H,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACnC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,SAAS,GAAG,QAAQ,CAAC;gBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,UAAU,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACtC,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,gBAAgB,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;gBACtG,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACtH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3B,KAAK,OAAO,CAAC;oBACb,KAAK,SAAS,CAAC;oBACf,KAAK,SAAS,CAAC;oBACf,KAAK,OAAO,CAAC;oBACb,KAAK,OAAO,CAAC;oBACb,KAAK,QAAQ;wBACX,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5C;wBACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,yCAAyC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACvI,CAAC;YACH,CAAC;YACD,KAAK,OAAO;gBACV,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC;oBACvD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;YAClF;gBACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,yBAAyB,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,GAAY;QAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAgB,QAAQ,CAAC;QAC3B,CAAC;QACD,QAAQ,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,iBAAiB,CAAC,OAAgB;QAChC,IAAI,OAAO,GAAG,mBAAmB,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;QACjC,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;YAC9B,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gEAAgE;IAChE,mBAAmB,CAAC,OAAgB;QAClC,IAAI,OAAO,GAAG,4BAA4B,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;QACjC,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,cAAc,CAAC,IAAyB;QAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,aAAa,GAAG,cAAc,CAAC;oBACrC,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC/C,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,UAAU,CAAC;oBACpB,CAAC;oBACD,UAAU,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC1C,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/B,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,SAAS,CAAC;gBAC1B,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,aAAa,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACvC,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,SAAS,CAAC;YACf,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,UAAU,GAAG,SAAS,CAAC;gBAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,WAAW,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACxC,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,8DAA8D;YAC5E,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,UAAU,GAAG,SAAS,CAAC;gBAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACpC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,UAAU,GAAG,SAAS,CAAC;gBAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACpC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7E,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,KAAK,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,yBAAyB,KAAK,iBAAiB,EAAE,CAAC;oBACzD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,CAAC;gBAED,MAAM,SAAS,GAAG,QAAQ,CAAC;gBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,UAAU,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACtC,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,WAAW,CAAC;gBAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;YACD;gBACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,yBAAyB,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,+CAA+C;IACvC,eAAe,CAAC,QAA0B;QAChD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACnC,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,OAAoB,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,SAAS,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,UAAU,aAAa,QAAQ,CAAC,CAAC;QAChJ,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1C,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW;QACT,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,OAAgB,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,KAAwB;QAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,6BAA6B,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,SAAS,GAAG,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,OAAqB,KAAK,CAAC;QAC7B,CAAC;QACD,+BAA+B;QAC/B,IAAI,kBAAsC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnD,uCAAuC;gBACvC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC1D,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,+CAA+C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,KAAK,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+FAA+F;IACvF,QAAQ,CAAC,KAAwB;QACvC,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,OAAuC,SAAS,CAAC;QACnD,CAAC;QAED,IAAI,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAC/B,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACvC,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7J,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACzD,IAAI,KAA+B,CAAC;YACpC,IAAI,oBAA4C,CAAC;YAEjD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,2DAA2D;gBAC3D,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC7B,OAAO,MAAM,EAAE,CAAC;oBACd,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBACtC,MAAM;oBACR,CAAC;oBACD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wDAAwD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChH,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,mFAAmF;gBACnF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACpC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnD,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;wBAC1D,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,SAAS,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACzF,SAAS,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACvE,uCAAuC;YACvC,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACvC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;QACvC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,SAAS,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,SAAS,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,uBAAuB,CAAC,OAAkC;QAChE,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C;gBACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,+BAA+B,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3J,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAA+B,EAAE,SAA4B;QACjF,MAAM,WAAW,GAAG,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/F,+FAA+F;QAC/F,oGAAoG;QACpG,MAAM,mBAAmB,GAAoB,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACzI,IAAI,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrE,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,4EAA4E;gBAC5E,4EAA4E;gBAC5E,sBAAsB;gBACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAChF,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3I,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;QAElC,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACvD,kEAAkE;YAClE,2DAA2D;YAC3D,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;YACnC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,IAAiB,EAAE,UAAwC;QACnF,MAAM,MAAM,GAAG,IAAI,KAAK,EAAoB,CAAC;QAC7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,aAAa,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC7C,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5F,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxC,6DAA6D;gBAC7D,+DAA+D;gBAC/D,gDAAgD;gBAChD,EAAE;gBACF,mEAAmE;gBACnE,EAAE;gBACF,6DAA6D;gBAC7D,6DAA6D;gBAC7D,qBAAqB;gBACrB,gEAAgE;gBAChE,oDAAoD;gBACpD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,cAAc,SAAS,CAAC,IAAI,mBAAmB,aAAa,wCAAwC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvK,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAE3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,OAA4B;QACjD,IAAI,MAAM,GAAqB,KAAK,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;QAClC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,OAAwB,SAAS,CAAC;QACpC,CAAC;QACD,SAAS,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,SAAuD;QAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9G,MAAM,OAAO,GAAG,WAAW,SAAS,EAAE,CAAC;YACvC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAmB,YAAY,CAAC;YAClC,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,kCAAkC,SAAS,CAAC,IAAI,YAAY,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxJ,CAAC;YACD,YAAY,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,QAAQ,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjC,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,mBAAmB,SAAS,CAAC,KAAK,EAAE,CAAC;gBACrD,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAmB,WAAW,CAAC;gBACjC,CAAC;gBACD,WAAW,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACrC,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,iBAAiB,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnD,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAmB,gBAAgB,CAAC;gBACtC,CAAC;gBACD,gBAAgB,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC7F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC1C,OAAO,gBAAgB,CAAC;YAC1B,CAAC;YACD,KAAK,SAAS,CAAC;YACf,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG,WAAW,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACzE,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAmB,cAAc,CAAC;gBACpC,CAAC;gBACD,cAAc,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBACxC,OAAO,cAAc,CAAC;YACxB,CAAC;YACD;;;;;;;;;;;;eAYG;YACH,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,WAAW,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACzE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,UAAU,EAAE,CAAC;oBACf,OAAmB,UAAU,CAAC;gBAChC,CAAC;gBACD,UAAU,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC7F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACpC,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,WAAW,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACzE,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAmB,YAAY,CAAC;gBAClC,CAAC;gBACD,YAAY,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC/F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACtC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,OAAO,GAAG,kBAAkB,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAmB,aAAa,CAAC;gBACnC,CAAC;gBACD,aAAa,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACvC,OAAO,aAAa,CAAC;YACvB,CAAC;YACD;gBACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,oBAAoB,SAAS,CAAC,SAAS,CAAC,IAAI,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/I,CAAC;QAED,yDAAyD;IAC3D,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,IAAyB;IACjD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB;YACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,mCAAmC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/G,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB;YACE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,kCAAkC,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAiB,EAAE,uBAAgC;IACzF,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAG,IAAI,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACnF,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAClF,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,WAAW,CAAC;QAC5B,KAAK,aAAa;YAChB,OAAO,GAAG,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,KAAK,UAAU;YACb,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,KAAK,OAAO;YACV,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,CAAC;YACD,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACnE,KAAK,WAAW;YACd,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,6BAA6B,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,GAAG,IAAI,cAAc,CAAC;QAC/B;YACE,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAkB;IACpD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AACjK,CAAC;AAYD,wEAAwE;AACxE,qDAAqD;AACrD,SAAS,mBAAmB,CAAC,UAA2B,EAAE,KAAwB;IAChF,MAAM,QAAQ,GAAG,IAAI,KAAK,EAA6B,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC3C,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,MAAM,EAAE,CAAC;QACd,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,MAAM,EAAE,CAAC;gBACX,+EAA+E;gBAC/E,qEAAqE;gBACrE,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QACD,8EAA8E;QAC9E,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC9C,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAC1C,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,GAAsB,EAAE,UAAqC,EAAE,KAAqB;IAC/G,oDAAoD;IACpD,wCAAwC;IACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzC,yCAAyC;QACzC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,SAA6B,EAAQ,EAAE;QACzD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,GAAW,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,4CAA4C;YAC5C,OAAO,CAAC,OAAO,GAAW,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,uBAAuB;gBAC1B,IAAI,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,iBAAiB,EAAE,CAAC;oBAC1D,UAAU,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,oBAAoB;gBACvB,UAAU,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,yBAAyB;gBAC5B,0CAA0C;gBAC1C,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACxB,KAAK,OAAO;4BACV,wDAAwD;4BACxD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;4BAC1B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC;4BACpC,MAAM;wBACR,KAAK,QAAQ;4BACX,sCAAsC;4BACtC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;4BACpB,MAAM;oBACV,CAAC;gBACH,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAiB;IAC1C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,KAAwB;IACjD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,oEAAoE;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACpE,yDAAyD;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-go",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "TypeSpec emitter for Go SDKs",
5
5
  "type": "module",
6
6
  "exports": {
@@ -36,9 +36,9 @@
36
36
  "readme": "https://github.com/Azure/autorest.go/blob/main/readme.md",
37
37
  "devDependencies": {
38
38
  "@azure-tools/azure-http-specs": "0.1.0-alpha.39-dev.4",
39
- "@azure-tools/typespec-autorest": "0.66.1",
39
+ "@azure-tools/typespec-autorest": "0.66.2",
40
40
  "@azure-tools/typespec-azure-core": "0.66.1",
41
- "@azure-tools/typespec-azure-resource-manager": "0.66.0",
41
+ "@azure-tools/typespec-azure-resource-manager": "0.66.1",
42
42
  "@azure-tools/typespec-azure-rulesets": "0.66.0",
43
43
  "@azure-tools/typespec-client-generator-core": "0.66.4",
44
44
  "@types/node": "^20.19.25",