Decisions
- class authorityspoke.decisions.DecisionReading(**data)
An interpretation of what Holdings are supported by the Opinions of a Decision.
- __str__()
Return str(self).
- property majority: OpinionReading | None
Return the majority OpinionReading, or None if it doesn’t exist.
- find_matching_opinion(opinion_type='', opinion_author='')
Find an Opinion described by the given attributes.
- find_opinion_matching_reading(opinion_reading)
Find the Opinion corresponding to an OpinionReading.
- select_text(selector, opinion_type='', opinion_author='')
Get text using a
TextQuoteSelector.- Parameters:
selector (
Union[bool,str,TextPositionSelector,TextQuoteSelector,Sequence[Union[str,Tuple[int,int],TextQuoteSelector,TextPositionSelector]]]) – a selector referencing a text passage in theOpinion.- Return type:
- Returns:
the text referenced by the selector, or
Noneif the text can’t be found.
- add_opinion_reading(opinion_reading)
Add an OpinionReading for an existing Opinion of the Decision.
- Return type:
- get_majority()
Return the majority OpinionReading, creating it if needed.
- Return type:
Optional[OpinionReading]
- property holdings: HoldingGroup
Get the holdings of this Decision’s majority Opinion.
- contradicts(other)
Check if a holding attributed to this decision contradicts a holding attributed in “other”.
- explain_contradiction(other)
Get the first generated explanation of how a Holding of self contradicts a Holding of other.
- Return type:
- explanations_contradiction(other)
Generate explanations of how a Holding of self contradicts a Holding of other.
- Return type:
- explain_implication(other)
Get the first generated explanation of how a Holding of self implies a Holding of other.
- Return type:
- explanations_implication(other)
Generate explanation of how self’s Holdings can imply other.
- Return type:
- posit(holdings, holding_anchors=None, named_anchors=None, enactment_anchors=None, context=None)
Add one or more Holdings to the majority Opinion of this Decision.
- Return type:
- implied_by_holding(other, context=None)
Check if a Holding implies all the Holdings of self.
- Return type:
- explanations_implied_by(other, context=None)
Generate explanation of how other can imply all the Holdings of self.
- Return type:
- implies_holding(other, context=None)
Check if a Holding of self implies a Holding made from other.
- Return type:
- implies_rule(other, context=None)
Check if a Holding of self implies a Holding made from other Rule.
- Return type:
- __pydantic_fields_set__: set[str]
The names of fields explicitly set during instantiation.
- __pydantic_extra__: dict[str, Any] | None
A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.
- __pydantic_private__: dict[str, Any] | None
Values of private attributes set on the model instance.
- __class_vars__: ClassVar[set[str]] = {'context_factor_names'}
The names of the class variables defined on the model.
- __private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}
Metadata about the private attributes of the model.
- __pydantic_complete__: ClassVar[bool] = True
Whether model building is completed, or if there are still undefined fields.
- __pydantic_computed_fields__: ClassVar[Dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
- __pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'justopinion.citations.CAPCitation'>, 'config': {'title': 'CAPCitation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.citations.CAPCitation'>>]}, 'ref': 'justopinion.citations.CAPCitation:96271529676128', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'case_ids': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'int'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'category': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'cite': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'reporter': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'CAPCitation', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.predicates.Predicate'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Predicate'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.predicates.Predicate'>>]}, 'ref': 'nettlesome.predicates.Predicate:96271533766672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'truth': {'metadata': {}, 'schema': {'default': True, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Predicate', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.Comparison'>, 'config': {'title': 'Comparison'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.Comparison'>>]}, 'ref': 'nettlesome.quantities.Comparison:96271546375360', 'root_model': False, 'schema': {'function': {'function': <bound method Comparison.set_quantity_range of <class 'nettlesome.quantities.Comparison'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'function': {'function': <bound method Comparison.content_ends_with_was of <class 'nettlesome.quantities.Comparison'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'quantity_range': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.quantities.DecimalRange:96271546368928', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.UnitRange:96271546289072', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.DateRange:96271534566352', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}, 'truth': {'metadata': {}, 'schema': {'default': True, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Comparison', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'nettlesome.entities.Entity'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Entity'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.entities.Entity'>>]}, 'ref': 'nettlesome.entities.Entity:96271533697616', 'root_model': False, 'schema': {'function': {'function': <bound method Entity.validate_type of <class 'nettlesome.entities.Entity'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'plural': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Entity', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.DecimalRange'>, 'config': {'title': 'DecimalRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.DecimalRange'>>]}, 'ref': 'nettlesome.quantities.DecimalRange:96271546368928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity': {'metadata': {}, 'schema': {'type': 'decimal'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.DecimalRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DecimalRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.UnitRange'>, 'config': {'title': 'UnitRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.UnitRange'>>]}, 'ref': 'nettlesome.quantities.UnitRange:96271546289072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity_magnitude': {'metadata': {}, 'schema': {'type': 'decimal'}, 'type': 'model-field'}, 'quantity_units': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.UnitRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'UnitRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.DateRange'>, 'config': {'title': 'DateRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.DateRange'>>]}, 'ref': 'nettlesome.quantities.DateRange:96271534566352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity': {'metadata': {}, 'schema': {'type': 'date'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.DateRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DateRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Pleading'>, 'config': {'title': 'Pleading'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Pleading'>>]}, 'ref': 'authorityspoke.facts.Pleading:96271546737760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'filer': {'metadata': {}, 'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Pleading', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Exhibit'>, 'config': {'title': 'Exhibit'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Exhibit'>>]}, 'ref': 'authorityspoke.facts.Exhibit:96271546734272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'form': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'offered_by': {'metadata': {}, 'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'statement': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'statement_attribution': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Exhibit', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Evidence'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Evidence'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Evidence'>>]}, 'ref': 'authorityspoke.facts.Evidence:96271546736768', 'root_model': False, 'schema': {'function': {'function': <bound method Evidence.check_type_field of <class 'authorityspoke.facts.Evidence'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'exhibit': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'to_effect': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Evidence', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Fact'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Fact'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Fact'>>]}, 'ref': 'authorityspoke.facts.Fact:96271546644960', 'root_model': False, 'schema': {'function': {'function': <bound method Fact.nest_predicate_fields of <class 'authorityspoke.facts.Fact'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'predicate': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.predicates.Predicate:96271533766672', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.Comparison:96271546375360', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}, 'standard_of_proof': {'metadata': {}, 'schema': {'default': None, 'schema': {'function': {'function': <bound method Fact.validate_standard_of_proof of <class 'authorityspoke.facts.Fact'>>, 'type': 'no-info'}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'terms': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'field_name': 'terms', 'function': <bound method Fact._validate_terms of <class 'authorityspoke.facts.Fact'>>, 'type': 'with-info'}, 'schema': {'function': {'field_name': 'terms', 'function': <bound method Fact.terms_as_sequence of <class 'authorityspoke.facts.Fact'>>, 'type': 'with-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Fact', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Allegation'>, 'config': {'title': 'Allegation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Allegation'>>]}, 'ref': 'authorityspoke.facts.Allegation:96271546728512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'fact': {'metadata': {}, 'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'pleading': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Allegation', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.TextVersion'>, 'config': {'title': 'TextVersion'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.TextVersion'>>]}, 'ref': 'legislice.enactments.TextVersion:96271533242160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'function': {'function': <bound method TextVersion.content_exists of <class 'legislice.enactments.TextVersion'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'id': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'url': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextVersion', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'anchorpoint.textselectors.TextPositionSet'>, 'config': {'title': 'TextPositionSet'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'anchorpoint.textselectors.TextPositionSet'>>]}, 'ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'positions': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method TextPositionSet.order_of_selectors of <class 'anchorpoint.textselectors.TextPositionSet'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method TextPositionSet.is_sequence of <class 'anchorpoint.textselectors.TextPositionSet'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSelector:96271532389520', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'quotes': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method TextPositionSet.quote_selectors_are_in_list of <class 'anchorpoint.textselectors.TextPositionSet'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'anchorpoint.textselectors.TextQuoteSelector:96271532375040', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextPositionSet', 'type': 'model-fields'}, 'type': 'model'}, {'function': {'function': <function TextPositionSelector.start_less_than_end>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'anchorpoint.textselectors.TextPositionSelector'>>]}, 'ref': 'anchorpoint.textselectors.TextPositionSelector:96271532389520', 'schema': {'cls': <class 'anchorpoint.textselectors.TextPositionSelector'>, 'config': {'title': 'TextPositionSelector'}, 'custom_init': False, 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'start': {'metadata': {}, 'schema': {'default': 0, 'schema': {'function': {'function': <bound method TextPositionSelector.start_not_negative of <class 'anchorpoint.textselectors.TextPositionSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'int'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextPositionSelector', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'function-after'}, {'cls': <class 'anchorpoint.textselectors.TextQuoteSelector'>, 'config': {'title': 'TextQuoteSelector'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'anchorpoint.textselectors.TextQuoteSelector'>>]}, 'ref': 'anchorpoint.textselectors.TextQuoteSelector:96271532375040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'exact': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method TextQuoteSelector.no_none_for_prefix of <class 'anchorpoint.textselectors.TextQuoteSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'prefix': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method TextQuoteSelector.no_none_for_prefix of <class 'anchorpoint.textselectors.TextQuoteSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'suffix': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method TextQuoteSelector.no_none_for_prefix of <class 'anchorpoint.textselectors.TextQuoteSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextQuoteSelector', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.CrossReference'>, 'config': {'title': 'CrossReference'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.CrossReference'>>]}, 'ref': 'legislice.enactments.CrossReference:96271522451392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'reference_text': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target_node': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'target_uri': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target_url': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'CrossReference', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.Enactment'>, 'config': {'title': 'Enactment'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.Enactment'>>]}, 'ref': 'legislice.enactments.Enactment:96271533270272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'anchors': {'metadata': {}, 'schema': {'default': [], 'schema': {'choices': [{'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, {'items_schema': {'choices': [{'schema_ref': 'anchorpoint.textselectors.TextPositionSelector:96271532389520', 'type': 'definition-ref'}, {'schema_ref': 'anchorpoint.textselectors.TextQuoteSelector:96271532375040', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}], 'type': 'union'}, 'type': 'default'}, 'type': 'model-field'}, 'children': {'metadata': {}, 'schema': {'default': [], 'schema': {'choices': [{'items_schema': {'schema_ref': 'legislice.enactments.Enactment:96271533270272', 'type': 'definition-ref'}, 'type': 'list'}, {'items_schema': {'type': 'str'}, 'type': 'list'}], 'type': 'union'}, 'type': 'default'}, 'type': 'model-field'}, 'citations': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'schema_ref': 'legislice.enactments.CrossReference:96271522451392', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'earliest_in_db': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'date'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'end_date': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'date'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'first_published': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'date'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'heading': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'node': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'start_date': {'metadata': {}, 'schema': {'type': 'date'}, 'type': 'model-field'}, 'text_version': {'metadata': {}, 'schema': {'default': None, 'schema': {'function': {'function': <bound method Enactment.make_text_version_from_str of <class 'legislice.enactments.Enactment'>>, 'type': 'no-info'}, 'schema': {'schema': {'schema_ref': 'legislice.enactments.TextVersion:96271533242160', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Enactment', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.groups.EnactmentGroup'>, 'config': {'title': 'EnactmentGroup'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.groups.EnactmentGroup'>>]}, 'ref': 'legislice.groups.EnactmentGroup:96271533573280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'passages': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method EnactmentGroup.sort_passages of <class 'legislice.groups.EnactmentGroup'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method EnactmentGroup.consolidate_passages of <class 'legislice.groups.EnactmentGroup'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'legislice.enactments.EnactmentPassage:96271533361456', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'EnactmentGroup', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.EnactmentPassage'>, 'config': {'title': 'EnactmentPassage'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.EnactmentPassage'>>]}, 'ref': 'legislice.enactments.EnactmentPassage:96271533361456', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'enactment': {'metadata': {}, 'schema': {'schema_ref': 'legislice.enactments.Enactment:96271533270272', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {}, 'schema': {'default': TextPositionSet(positions=[TextPositionSelector(start=0, end=None)], quotes=[]), 'schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'EnactmentPassage', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'authorityspoke.decisions.DecisionReading'>, 'config': {'title': 'DecisionReading'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.decisions.DecisionReading'>>]}, 'ref': 'authorityspoke.decisions.DecisionReading:96271549605744', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'decision': {'metadata': {}, 'schema': {'cls': <class 'justopinion.decisions.Decision'>, 'config': {'title': 'Decision'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.Decision'>>]}, 'ref': 'justopinion.decisions.Decision:96271532942032', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'analysis': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'justopinion.decisions.DecisionAnalysis'>, 'config': {'title': 'DecisionAnalysis'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.DecisionAnalysis'>>]}, 'ref': 'justopinion.decisions.DecisionAnalysis:96271532758368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cardinality': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'char_count': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'orc_confidence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'pagerank': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'justopinion.decisions.PageRank'>, 'config': {'title': 'PageRank'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.PageRank'>>]}, 'ref': 'justopinion.decisions.PageRank:96271532674960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'percentile': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'raw': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'PageRank', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sha256': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'simhash': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'word_count': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'DecisionAnalysis', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'attorneys': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'casebody': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'justopinion.decisions.CaseBody'>, 'config': {'title': 'CaseBody'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.CaseBody'>>]}, 'ref': 'justopinion.decisions.CaseBody:96271532741984', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {}, 'schema': {'cls': <class 'justopinion.decisions.CaseData'>, 'config': {'title': 'CaseData'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.CaseData'>>]}, 'ref': 'justopinion.decisions.CaseData:96271532671728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'attorneys': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'corrections': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'head_matter': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'judges': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'opinions': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'cls': <class 'justopinion.decisions.Opinion'>, 'config': {'title': 'Opinion'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.Opinion'>>]}, 'ref': 'justopinion.decisions.Opinion:96271532586096', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'author': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method Opinion.remove_author_name_punctuation of <class 'justopinion.decisions.Opinion'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'text': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'majority', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Opinion', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'parties': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'CaseData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'status': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'CaseBody', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'citations': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'json_schema': {'items_schema': {'schema_ref': 'justopinion.citations.CAPCitation:96271529676128', 'type': 'definition-ref'}, 'type': 'list'}, 'python_schema': {'steps': [{'cls': typing.Sequence, 'cls_repr': 'Sequence', 'type': 'is-instance'}, {'function': {'function': <function sequence_validator>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'justopinion.citations.CAPCitation:96271529676128', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-wrap'}], 'type': 'chain'}, 'serialization': {'function': <function serialize_sequence_via_list>, 'info_arg': True, 'schema': {'schema_ref': 'justopinion.citations.CAPCitation:96271529676128', 'type': 'definition-ref'}, 'type': 'function-wrap'}, 'type': 'json-or-python'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'cites_to': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'json_schema': {'items_schema': {'schema_ref': 'justopinion.citations.CAPCitation:96271529676128', 'type': 'definition-ref'}, 'type': 'list'}, 'python_schema': {'steps': [{'cls': typing.Sequence, 'cls_repr': 'Sequence', 'type': 'is-instance'}, {'function': {'function': <function sequence_validator>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'justopinion.citations.CAPCitation:96271529676128', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-wrap'}], 'type': 'chain'}, 'serialization': {'function': <function serialize_sequence_via_list>, 'info_arg': True, 'schema': {'schema_ref': 'justopinion.citations.CAPCitation:96271529676128', 'type': 'definition-ref'}, 'type': 'function-wrap'}, 'type': 'json-or-python'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'court': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'justopinion.decisions.Court'>, 'config': {'title': 'Court'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.Court'>>]}, 'ref': 'justopinion.decisions.Court:96271532560544', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'id': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'name_abbreviation': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'slug': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'url': {'metadata': {}, 'schema': {'function': {'function': <function _BaseUrl.__get_pydantic_core_schema__.<locals>.wrap_val>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method _BaseUrl.__get_pydantic_json_schema__ of <class 'pydantic.networks.HttpUrl'>>]}, 'schema': {'allowed_schemes': ['http', 'https'], 'max_length': 2083, 'type': 'url'}, 'serialization': {'function': <bound method _BaseUrl.serialize_url of <class 'pydantic.networks.HttpUrl'>>, 'type': 'function-plain'}, 'type': 'function-wrap'}, 'type': 'model-field'}}, 'model_name': 'Court', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'decision_date': {'metadata': {}, 'schema': {'function': {'function': <bound method Decision.decision_date_must_include_day of <class 'justopinion.decisions.Decision'>>, 'type': 'no-info'}, 'schema': {'type': 'date'}, 'type': 'function-before'}, 'type': 'model-field'}, 'docket_num': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'first_page': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'frontend_url': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <function _BaseUrl.__get_pydantic_core_schema__.<locals>.wrap_val>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method _BaseUrl.__get_pydantic_json_schema__ of <class 'pydantic.networks.HttpUrl'>>]}, 'schema': {'allowed_schemes': ['http', 'https'], 'max_length': 2083, 'type': 'url'}, 'serialization': {'function': <bound method _BaseUrl.serialize_url of <class 'pydantic.networks.HttpUrl'>>, 'type': 'function-plain'}, 'type': 'function-wrap'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'id': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'jurisdiction': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'justopinion.decisions.Jurisdiction'>, 'config': {'title': 'Jurisdiction'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'justopinion.decisions.Jurisdiction'>>]}, 'ref': 'justopinion.decisions.Jurisdiction:96271532570736', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'id': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'name_abbreviation': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'slug': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'url': {'metadata': {}, 'schema': {'function': {'function': <function _BaseUrl.__get_pydantic_core_schema__.<locals>.wrap_val>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method _BaseUrl.__get_pydantic_json_schema__ of <class 'pydantic.networks.HttpUrl'>>]}, 'schema': {'allowed_schemes': ['http', 'https'], 'max_length': 2083, 'type': 'url'}, 'serialization': {'function': <bound method _BaseUrl.serialize_url of <class 'pydantic.networks.HttpUrl'>>, 'type': 'function-plain'}, 'type': 'function-wrap'}, 'type': 'model-field'}, 'whitelisted': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}}, 'model_name': 'Jurisdiction', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'last_page': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'last_updated': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'microseconds_precision': 'truncate', 'type': 'datetime'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'name_abbreviation': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'parties': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Decision', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'opinion_readings': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'cls': <class 'authorityspoke.opinions.OpinionReading'>, 'config': {'title': 'OpinionReading'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.opinions.OpinionReading'>>]}, 'ref': 'authorityspoke.opinions.OpinionReading:96271549272880', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'anchored_holdings': {'metadata': {}, 'schema': {'default': AnchoredHoldings(holdings=[], named_anchors=[], enactment_anchors=[]), 'schema': {'cls': <class 'authorityspoke.opinions.AnchoredHoldings'>, 'config': {'title': 'AnchoredHoldings'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.opinions.AnchoredHoldings'>>]}, 'ref': 'authorityspoke.opinions.AnchoredHoldings:96271549023184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'enactment_anchors': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'cls': <class 'authorityspoke.opinions.EnactmentWithAnchors'>, 'config': {'title': 'EnactmentWithAnchors'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.opinions.EnactmentWithAnchors'>>]}, 'ref': 'authorityspoke.opinions.EnactmentWithAnchors:96271548514720', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'anchors': {'metadata': {}, 'schema': {'default': TextPositionSet(positions=[], quotes=[]), 'schema': {'function': {'function': <bound method EnactmentWithAnchors.validate_anchors of <class 'authorityspoke.opinions.EnactmentWithAnchors'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'passage': {'metadata': {}, 'schema': {'schema_ref': 'legislice.enactments.EnactmentPassage:96271533361456', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'EnactmentWithAnchors', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'holdings': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'cls': <class 'authorityspoke.opinions.HoldingWithAnchors'>, 'config': {'title': 'HoldingWithAnchors'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.opinions.HoldingWithAnchors'>>]}, 'ref': 'authorityspoke.opinions.HoldingWithAnchors:96271548889968', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'anchors': {'metadata': {}, 'schema': {'default': TextPositionSet(positions=[], quotes=[]), 'schema': {'function': {'function': <bound method HoldingWithAnchors.validate_anchors of <class 'authorityspoke.opinions.HoldingWithAnchors'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'holding': {'metadata': {}, 'schema': {'cls': <class 'authorityspoke.holdings.Holding'>, 'config': {'title': 'Holding'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.holdings.Holding'>>]}, 'ref': 'authorityspoke.holdings.Holding:96271548710480', 'root_model': False, 'schema': {'function': {'function': <bound method Holding.nest_factor_fields of <class 'authorityspoke.holdings.Holding'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'decided': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'exclusive': {'metadata': {}, 'schema': {'default': False, 'schema': {'function': {'field_name': 'exclusive', 'function': <bound method Holding.not_undecided_and_exclusive of <class 'authorityspoke.holdings.Holding'>>, 'type': 'with-info'}, 'schema': {'function': {'field_name': 'exclusive', 'function': <bound method Holding.not_invalid_and_exclusive of <class 'authorityspoke.holdings.Holding'>>, 'type': 'with-info'}, 'schema': {'type': 'bool'}, 'type': 'function-after'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'rule': {'metadata': {}, 'schema': {'cls': <class 'authorityspoke.rules.Rule'>, 'config': {'title': 'Rule'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.rules.Rule'>>]}, 'ref': 'authorityspoke.rules.Rule:96271548281184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'enactments': {'metadata': {}, 'schema': {'default': EnactmentGroup([]), 'schema': {'function': {'function': <bound method Rule.select_enactment_text of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method Rule.validate_enactment_groups of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'legislice.groups.EnactmentGroup:96271533573280', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'enactments_despite': {'metadata': {}, 'schema': {'default': EnactmentGroup([]), 'schema': {'function': {'function': <bound method Rule.select_enactment_text of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method Rule.validate_enactment_groups of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'legislice.groups.EnactmentGroup:96271533573280', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'mandatory': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'procedure': {'metadata': {}, 'schema': {'cls': <class 'authorityspoke.procedures.Procedure'>, 'config': {'title': 'Procedure'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.procedures.Procedure'>>]}, 'ref': 'authorityspoke.procedures.Procedure:96271547885440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'despite': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'inputs': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'outputs': {'metadata': {}, 'schema': {'function': {'function': <bound method Procedure._validate_outputs of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'model-field'}}, 'model_name': 'Procedure', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'universal': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Rule', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'rule_valid': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Holding', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'HoldingWithAnchors', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'named_anchors': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'cls': <class 'authorityspoke.opinions.TermWithAnchors'>, 'config': {'title': 'TermWithAnchors'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.opinions.TermWithAnchors'>>]}, 'ref': 'authorityspoke.opinions.TermWithAnchors:96271549102320', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'anchors': {'metadata': {}, 'schema': {'default': TextPositionSet(positions=[], quotes=[]), 'schema': {'function': {'function': <bound method TermWithAnchors.validate_anchors of <class 'authorityspoke.opinions.TermWithAnchors'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'term': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}}, 'model_name': 'TermWithAnchors', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'AnchoredHoldings', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'opinion_author': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'opinion_type': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OpinionReading', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DecisionReading', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}
The core schema of the model.
- __pydantic_custom_init__: ClassVar[bool] = False
Whether the model has a custom __init__ method.
- __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})
Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
- __pydantic_fields__: ClassVar[Dict[str, FieldInfo]] = {'absent': FieldInfo(annotation=bool, required=False, default=False), 'decision': FieldInfo(annotation=Decision, required=True), 'generic': FieldInfo(annotation=bool, required=False, default=False), 'opinion_readings': FieldInfo(annotation=List[OpinionReading], required=False, default=[])}
A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.
- __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}
Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
- __pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None
Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None
The name of the post-init method for the model, if defined.
- __pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model( ModelSerializer { class: Py( 0x0000578ef7842770, ), serializer: Fields( GeneralFieldsSerializer { fields: { "generic": SerField { key_py: Py( 0x00007ea2debabcc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "absent": SerField { key_py: Py( 0x00007ea2deb1c6c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "opinion_readings": SerField { key_py: Py( 0x00007ea2c2ed0ef0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2ee3bc0, ), ), serializer: List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x0000578ef77f1330, ), serializer: Fields( GeneralFieldsSerializer { fields: { "anchored_holdings": SerField { key_py: Py( 0x00007ea2c2dc80f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c3b2a580, ), ), serializer: Model( ModelSerializer { class: Py( 0x0000578ef77b43d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "enactment_anchors": SerField { key_py: Py( 0x00007ea2c2ef1cf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2ddb480, ), ), serializer: List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x0000578ef77381a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "passage": SerField { key_py: Py( 0x00007ea2d4ed4450, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "anchors": SerField { key_py: Py( 0x00007ea2df828e70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2da5400, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "EnactmentWithAnchors", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[EnactmentWithAnchors]", }, ), }, ), ), required: true, }, "named_anchors": SerField { key_py: Py( 0x00007ea2c2ef1c70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2ddb980, ), ), serializer: List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x0000578ef77c78f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "anchors": SerField { key_py: Py( 0x00007ea2df828e70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2da54a0, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "term": SerField { key_py: Py( 0x00007ea2e081c948, ), alias: None, alias_py: None, serializer: Some( Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "TermWithAnchors", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[TermWithAnchors]", }, ), }, ), ), required: true, }, "holdings": SerField { key_py: Py( 0x00007ea2d5f76ab0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2ee0ec0, ), ), serializer: List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x0000578ef7793b70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "holding": SerField { key_py: Py( 0x00007ea2c2d29860, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef7767e50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "absent": SerField { key_py: Py( 0x00007ea2deb1c6c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "rule": SerField { key_py: Py( 0x00007ea2deb9b330, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef76ff160, ), serializer: Fields( GeneralFieldsSerializer { fields: { "procedure": SerField { key_py: Py( 0x00007ea2de97adb0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef769e780, ), serializer: Fields( GeneralFieldsSerializer { fields: { "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "inputs": SerField { key_py: Py( 0x00007ea2d5f58c60, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2d141c0, ), ), serializer: List( ListSerializer { item_serializer: Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]", }, ), }, ), ), required: true, }, "despite": SerField { key_py: Py( 0x00007ea2c3240ba0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2d14200, ), ), serializer: List( ListSerializer { item_serializer: Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]", }, ), }, ), ), required: true, }, "outputs": SerField { key_py: Py( 0x00007ea2c2e9bea0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "Procedure", }, ), ), required: true, }, "absent": SerField { key_py: Py( 0x00007ea2deb1c6c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "mandatory": SerField { key_py: Py( 0x00007ea2dfc269b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "universal": SerField { key_py: Py( 0x00007ea2df9ed070, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "generic": SerField { key_py: Py( 0x00007ea2debabcc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "enactments": SerField { key_py: Py( 0x00007ea2d479eb70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2da4730, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "enactments_despite": SerField { key_py: Py( 0x00007ea2c2ed2030, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c35a4e60, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 8, }, ), has_extra: false, root_model: false, name: "Rule", }, ), ), required: true, }, "decided": SerField { key_py: Py( 0x00007ea2c2e9a970, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110c0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "generic": SerField { key_py: Py( 0x00007ea2debabcc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "rule_valid": SerField { key_py: Py( 0x00007ea2c2ed6970, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110c0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "exclusive": SerField { key_py: Py( 0x00007ea2d5f349f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "Holding", }, ), ), required: true, }, "anchors": SerField { key_py: Py( 0x00007ea2df828e70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2da4ff0, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "HoldingWithAnchors", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[HoldingWithAnchors]", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "AnchoredHoldings", }, ), }, ), ), required: true, }, "absent": SerField { key_py: Py( 0x00007ea2deb1c6c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "opinion_type": SerField { key_py: Py( 0x00007ea2d467c870, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "generic": SerField { key_py: Py( 0x00007ea2debabcc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "opinion_author": SerField { key_py: Py( 0x00007ea2d467c7f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OpinionReading", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[OpinionReading]", }, ), }, ), ), required: true, }, "decision": SerField { key_py: Py( 0x00007ea2d5f8c3f0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef685e2d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "court": SerField { key_py: Py( 0x00007ea2dc3ed950, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x0000578ef68010a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "id": SerField { key_py: Py( 0x00007ea2e08197d0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "name_abbreviation": SerField { key_py: Py( 0x00007ea2d467eeb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "url": SerField { key_py: Py( 0x00007ea2df904180, ), alias: None, alias_py: None, serializer: Some( Function( FunctionPlainSerializer { func: Py( 0x00007ea2d4d65a00, ), name: "plain_function[serialize_url]", function_name: "serialize_url", return_serializer: Any( AnySerializer, ), fallback_serializer: None, when_used: Always, is_field_serializer: false, info_arg: false, }, ), ), required: true, }, "slug": SerField { key_py: Py( 0x00007ea2d550c540, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "Court", }, ), }, ), }, ), ), required: true, }, "casebody": SerField { key_py: Py( 0x00007ea2d467c830, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x0000578ef682d560, ), serializer: Fields( GeneralFieldsSerializer { fields: { "status": SerField { key_py: Py( 0x00007ea2e081c430, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007ea2e08183b8, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef681c2f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "attorneys": SerField { key_py: Py( 0x00007ea2d467d530, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d5a91780, ), ), serializer: List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), }, ), ), required: true, }, "corrections": SerField { key_py: Py( 0x00007ea2d467d370, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "opinions": SerField { key_py: Py( 0x00007ea2d5f76970, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d4d57e40, ), ), serializer: List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x0000578ef6807470, ), serializer: Fields( GeneralFieldsSerializer { fields: { "text": SerField { key_py: Py( 0x00007ea2e081c978, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007ea2e081cc80, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d467ebb0, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "author": SerField { key_py: Py( 0x00007ea2df774930, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "Opinion", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Opinion]", }, ), }, ), ), required: true, }, "parties": SerField { key_py: Py( 0x00007ea2df9f1530, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d4657480, ), ), serializer: List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), }, ), ), required: true, }, "judges": SerField { key_py: Py( 0x00007ea2d4726fa0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d4d57180, ), ), serializer: List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), }, ), ), required: true, }, "head_matter": SerField { key_py: Py( 0x00007ea2d467d3b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "CaseData", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "CaseBody", }, ), }, ), }, ), ), required: true, }, "attorneys": SerField { key_py: Py( 0x00007ea2d467d530, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d472af00, ), ), serializer: List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), }, ), ), required: true, }, "decision_date": SerField { key_py: Py( 0x00007ea2d467ccb0, ), alias: None, alias_py: None, serializer: Some( Date( DateSerializer, ), ), required: true, }, "last_page": SerField { key_py: Py( 0x00007ea2d467cb70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "last_updated": SerField { key_py: Py( 0x00007ea2de5a1f30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Datetime( DatetimeSerializer, ), }, ), }, ), ), required: true, }, "cites_to": SerField { key_py: Py( 0x00007ea2d467ca30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: FunctionWrap( FunctionWrapSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), func: Py( 0x00007ea2d4e9e020, ), name: "wrap_function[serialize_sequence_via_list, definition-ref]", function_name: "serialize_sequence_via_list", return_serializer: Any( AnySerializer, ), when_used: Always, is_field_serializer: false, info_arg: true, }, ), }, ), }, ), ), required: true, }, "frontend_url": SerField { key_py: Py( 0x00007ea2d467c9b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Function( FunctionPlainSerializer { func: Py( 0x00007ea2d47b8200, ), name: "plain_function[serialize_url]", function_name: "serialize_url", return_serializer: Any( AnySerializer, ), fallback_serializer: None, when_used: Always, is_field_serializer: false, info_arg: false, }, ), }, ), }, ), ), required: true, }, "docket_num": SerField { key_py: Py( 0x00007ea2d467cc30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "name_abbreviation": SerField { key_py: Py( 0x00007ea2d467eeb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "citations": SerField { key_py: Py( 0x00007ea2df771130, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: FunctionWrap( FunctionWrapSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), func: Py( 0x00007ea2d4e9e020, ), name: "wrap_function[serialize_sequence_via_list, definition-ref]", function_name: "serialize_sequence_via_list", return_serializer: Any( AnySerializer, ), when_used: Always, is_field_serializer: false, info_arg: true, }, ), }, ), }, ), ), required: true, }, "parties": SerField { key_py: Py( 0x00007ea2df9f1530, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2d47c3700, ), ), serializer: List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), }, ), ), required: true, }, "first_page": SerField { key_py: Py( 0x00007ea2d467cbb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "jurisdiction": SerField { key_py: Py( 0x00007ea2d467ca70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x0000578ef6803870, ), serializer: Fields( GeneralFieldsSerializer { fields: { "whitelisted": SerField { key_py: Py( 0x00007ea2d467e8b0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "id": SerField { key_py: Py( 0x00007ea2e08197d0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "name_abbreviation": SerField { key_py: Py( 0x00007ea2d467eeb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "slug": SerField { key_py: Py( 0x00007ea2d550c540, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "url": SerField { key_py: Py( 0x00007ea2df904180, ), alias: None, alias_py: None, serializer: Some( Function( FunctionPlainSerializer { func: Py( 0x00007ea2d4d641c0, ), name: "plain_function[serialize_url]", function_name: "serialize_url", return_serializer: Any( AnySerializer, ), fallback_serializer: None, when_used: Always, is_field_serializer: false, info_arg: false, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "Jurisdiction", }, ), }, ), }, ), ), required: true, }, "id": SerField { key_py: Py( 0x00007ea2e08197d0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "analysis": SerField { key_py: Py( 0x00007ea2d467c970, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x0000578ef6831560, ), serializer: Fields( GeneralFieldsSerializer { fields: { "word_count": SerField { key_py: Py( 0x00007ea2d467d130, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "sha256": SerField { key_py: Py( 0x00007ea2df36c480, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "orc_confidence": SerField { key_py: Py( 0x00007ea2d467d0b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "char_count": SerField { key_py: Py( 0x00007ea2d467d070, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "cardinality": SerField { key_py: Py( 0x00007ea2d467cf70, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "simhash": SerField { key_py: Py( 0x00007ea2d4727060, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "pagerank": SerField { key_py: Py( 0x00007ea2d467cff0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x0000578ef681cf90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "raw": SerField { key_py: Py( 0x00007ea2e081b7f8, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "percentile": SerField { key_py: Py( 0x00007ea2d467d270, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "PageRank", }, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 7, }, ), has_extra: false, root_model: false, name: "DecisionAnalysis", }, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 17, }, ), has_extra: false, root_model: false, name: "Decision", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "DecisionReading", }, ), definitions=[Model(ModelSerializer { class: Py(0x578ef67d3c00), serializer: Fields(GeneralFieldsSerializer { fields: {"suffix": SerField { key_py: Py(0x7ea2e07dd240), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "exact": SerField { key_py: Py(0x7ea2dfb975a0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "prefix": SerField { key_py: Py(0x7ea2e07d1300), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "TextQuoteSelector" }), Model(ModelSerializer { class: Py(0x578ef7518bb0), serializer: Fields(GeneralFieldsSerializer { fields: {"include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity_magnitude": SerField { key_py: Py(0x7ea2d46237b0), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }, "quantity_units": SerField { key_py: Py(0x7ea2d4623770), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "UnitRange" }), Model(ModelSerializer { class: Py(0x578ef67da0d0), serializer: Fields(GeneralFieldsSerializer { fields: {"quotes": SerField { key_py: Py(0x7ea2df7b13e0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d5814500)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }, "positions": SerField { key_py: Py(0x7ea2dfb31b30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d473b4c0)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "TextPositionSet" }), Model(ModelSerializer { class: Py(0x578ef68c4930), serializer: Fields(GeneralFieldsSerializer { fields: {"enactment": SerField { key_py: Py(0x7ea2d479ffb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "selection": SerField { key_py: Py(0x7ea2d467e330), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d589c0f0)), serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "EnactmentPassage" }), Model(ModelSerializer { class: Py(0x578ef68f84a0), serializer: Fields(GeneralFieldsSerializer { fields: {"passages": SerField { key_py: Py(0x7ea2d46720b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d4765580)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 1 }), has_extra: false, root_model: false, name: "EnactmentGroup" }), Model(ModelSerializer { class: Py(0x578ef7586460), serializer: Fields(GeneralFieldsSerializer { fields: {"name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "filer": SerField { key_py: Py(0x7ea2c2e9bdb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Pleading" }), Model(ModelSerializer { class: Py(0x578ef7584040), serializer: Fields(GeneralFieldsSerializer { fields: {"fact": SerField { key_py: Py(0x7ea2d44c0600), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "pleading": SerField { key_py: Py(0x7ea2c2d51970), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "Allegation" }), Model(ModelSerializer { class: Py(0x578ef6540d60), serializer: Fields(GeneralFieldsSerializer { fields: {"case_ids": SerField { key_py: Py(0x7ea2d5fb81f0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d5e7be40)), serializer: List(ListSerializer { item_serializer: Int(IntSerializer), filter: SchemaFilter { include: None, exclude: None }, name: "list[int]" }) })), required: true }, "cite": SerField { key_py: Py(0x7ea2dea5a7f0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "type": SerField { key_py: Py(0x7ea2e081cc80), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "category": SerField { key_py: Py(0x7ea2e0817b30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "reporter": SerField { key_py: Py(0x7ea2df8ca630), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "CAPCitation" }), Model(ModelSerializer { class: Py(0x578ef752c3a0), serializer: Fields(GeneralFieldsSerializer { fields: {"sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), required: true }, "include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "DecimalRange" }), Model(ModelSerializer { class: Py(0x578ef69eabd0), serializer: Fields(GeneralFieldsSerializer { fields: {"include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "DateRange" }), Model(ModelSerializer { class: Py(0x578ef68ae500), serializer: Fields(GeneralFieldsSerializer { fields: {"heading": SerField { key_py: Py(0x7ea2dfc9b600), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "earliest_in_db": SerField { key_py: Py(0x7ea2d47a4ef0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Date(DateSerializer) }) })), required: true }, "end_date": SerField { key_py: Py(0x7ea2dd70c270), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Date(DateSerializer) }) })), required: true }, "text_version": SerField { key_py: Py(0x7ea2d47a4f70), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "first_published": SerField { key_py: Py(0x7ea2d47a4f30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Date(DateSerializer) }) })), required: true }, "start_date": SerField { key_py: Py(0x7ea2d47a52b0), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), required: true }, "anchors": SerField { key_py: Py(0x7ea2df828e70), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d478b2c0)), serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), List(ListSerializer { item_serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref]" }), filter: SchemaFilter { include: None, exclude: None }, name: "list[Union[definition-ref, definition-ref]]" })], name: "Union[definition-ref, list[Union[definition-ref, definition-ref]]]" }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "citations": SerField { key_py: Py(0x7ea2df771130), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d4789780)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }, "children": SerField { key_py: Py(0x7ea2dfd957f0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d4777340)), serializer: Union(UnionSerializer { choices: [List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }), List(ListSerializer { item_serializer: Str(StrSerializer), filter: SchemaFilter { include: None, exclude: None }, name: "list[str]" })], name: "Union[list[definition-ref], list[str]]" }) })), required: true }, "node": SerField { key_py: Py(0x7ea2dfb25260), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 11 }), has_extra: false, root_model: false, name: "Enactment" }), Model(ModelSerializer { class: Py(0x578ef68a7730), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "id": SerField { key_py: Py(0x7ea2e08197d0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Int(IntSerializer) }) })), required: true }, "url": SerField { key_py: Py(0x7ea2df904180), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "TextVersion" }), Model(ModelSerializer { class: Py(0x578ef5e5cfc0), serializer: Fields(GeneralFieldsSerializer { fields: {"target_url": SerField { key_py: Py(0x7ea2d47a5430), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "reference_text": SerField { key_py: Py(0x7ea2d47a53f0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "target_node": SerField { key_py: Py(0x7ea2de752f30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Int(IntSerializer) }) })), required: true }, "target_uri": SerField { key_py: Py(0x7ea2d47a5470), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "CrossReference" }), Model(ModelSerializer { class: Py(0x578ef7586080), serializer: Fields(GeneralFieldsSerializer { fields: {"generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "exhibit": SerField { key_py: Py(0x7ea2c2e9a0d0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "to_effect": SerField { key_py: Py(0x7ea2c2d51630), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "Evidence" }), Model(ModelSerializer { class: Py(0x578ef6916a50), serializer: Fields(GeneralFieldsSerializer { fields: {"absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Bool(BoolSerializer) })), required: true }, "plural": SerField { key_py: Py(0x7ea2dfcc6460), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Entity" }), Model(ModelSerializer { class: Py(0x578ef756f9e0), serializer: Fields(GeneralFieldsSerializer { fields: {"generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "predicate": SerField { key_py: Py(0x7ea2dfb1b3b0), alias: None, alias_py: None, serializer: Some(Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref]" })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "standard_of_proof": SerField { key_py: Py(0x7ea2c2d25df0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "terms": SerField { key_py: Py(0x7ea2de7547b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2c2d37e00)), serializer: List(ListSerializer { item_serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), filter: SchemaFilter { include: None, exclude: None }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 6 }), has_extra: false, root_model: false, name: "Fact" }), Model(ModelSerializer { class: Py(0x578ef6927810), serializer: Fields(GeneralFieldsSerializer { fields: {"truth": SerField { key_py: Py(0x7ea2dfc2da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "Predicate" }), Model(ModelSerializer { class: Py(0x578ef67d7490), serializer: Fields(GeneralFieldsSerializer { fields: {"start": SerField { key_py: Py(0x7ea2e081c3c8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e080ef28)), serializer: Int(IntSerializer) })), required: true }, "end": SerField { key_py: Py(0x7ea2e0818a48), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Int(IntSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "TextPositionSelector" }), Model(ModelSerializer { class: Py(0x578ef75856c0), serializer: Fields(GeneralFieldsSerializer { fields: {"statement_attribution": SerField { key_py: Py(0x7ea2c2d510b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "offered_by": SerField { key_py: Py(0x7ea2c2d34db0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "form": SerField { key_py: Py(0x7ea2de307960), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "statement": SerField { key_py: Py(0x7ea2e081c3f8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 7 }), has_extra: false, root_model: false, name: "Exhibit" }), Model(ModelSerializer { class: Py(0x578ef752dcc0), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "truth": SerField { key_py: Py(0x7ea2dfc2da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity_range": SerField { key_py: Py(0x7ea2d4622af0), alias: None, alias_py: None, serializer: Some(Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref]" })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Comparison" })])
The pydantic-core SchemaSerializer used to dump instances of the model.
- __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="DecisionReading", validator=Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py( 0x00007ea2c2d1e0d0, ), path: LookupPath( [ S( "generic", Py( 0x00007ea2c2d1e100, ), ), ], ), }, name_py: Py( 0x00007ea2debabcc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py( 0x00007ea2c2d1e130, ), path: LookupPath( [ S( "absent", Py( 0x00007ea2c2d1e160, ), ), ], ), }, name_py: Py( 0x00007ea2deb1c6c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "decision", lookup_key: Simple { key: "decision", py_key: Py( 0x00007ea2c2c70430, ), path: LookupPath( [ S( "decision", Py( 0x00007ea2c2c704f0, ), ), ], ), }, name_py: Py( 0x00007ea2d5f8c3f0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "decision_date", lookup_key: Simple { key: "decision_date", py_key: Py( 0x00007ea2c2c6bbf0, ), path: LookupPath( [ S( "decision_date", Py( 0x00007ea2c2c6b870, ), ), ], ), }, name_py: Py( 0x00007ea2d467ccb0, ), validator: FunctionBefore( FunctionBeforeValidator { validator: Date( DateValidator { strict: false, constraints: None, }, ), func: Py( 0x00007ea2d5d95840, ), config: Py( 0x00007ea2c2dd97c0, ), name: "function-before[decision_date_must_include_day(), date]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d1e190, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d1e1c0, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "name_abbreviation", lookup_key: Simple { key: "name_abbreviation", py_key: Py( 0x00007ea2c2c6b8f0, ), path: LookupPath( [ S( "name_abbreviation", Py( 0x00007ea2c2c6b970, ), ), ], ), }, name_py: Py( 0x00007ea2d467eeb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "docket_num", lookup_key: Simple { key: "docket_num", py_key: Py( 0x00007ea2c2c6b9f0, ), path: LookupPath( [ S( "docket_num", Py( 0x00007ea2c2c6ba70, ), ), ], ), }, name_py: Py( 0x00007ea2d467cc30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "citations", lookup_key: Simple { key: "citations", py_key: Py( 0x00007ea2c3a6c4f0, ), path: LookupPath( [ S( "citations", Py( 0x00007ea2c2c6baf0, ), ), ], ), }, name_py: Py( 0x00007ea2df771130, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: JsonOrPython( JsonOrPython { json: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "CAPCitation", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[CAPCitation]", ), fail_fast: false, }, ), python: Chain( ChainValidator { steps: [ IsInstance( IsInstanceValidator { class: Py( 0x00007ea2df8a5cd0, ), class_repr: "Sequence", name: "is-instance[Sequence]", }, ), FunctionWrap( FunctionWrapValidator { validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "CAPCitation", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), func: Py( 0x00007ea2d4e544a0, ), config: Py( 0x00007ea2c2dd97c0, ), name: "function-wrap[sequence_validator()]", field_name: None, info_arg: false, hide_input_in_errors: false, validation_error_cause: false, }, ), ], name: "chain[is-instance[Sequence],function-wrap[sequence_validator()]]", }, ), name: "json-or-python[json=list[CAPCitation],python=chain[is-instance[Sequence],function-wrap[sequence_validator()]]]", }, ), name: "nullable[json-or-python[json=list[CAPCitation],python=chain[is-instance[Sequence],function-wrap[sequence_validator()]]]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[json-or-python[json=list[CAPCitation],python=chain[is-instance[Sequence],function-wrap[sequence_validator()]]]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "parties", lookup_key: Simple { key: "parties", py_key: Py( 0x00007ea2c2d1e1f0, ), path: LookupPath( [ S( "parties", Py( 0x00007ea2c2d1e220, ), ), ], ), }, name_py: Py( 0x00007ea2df9f1530, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d47c3700, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[str]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "attorneys", lookup_key: Simple { key: "attorneys", py_key: Py( 0x00007ea2c2c6b930, ), path: LookupPath( [ S( "attorneys", Py( 0x00007ea2c2c6b770, ), ), ], ), }, name_py: Py( 0x00007ea2d467d530, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d472af00, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[str]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "first_page", lookup_key: Simple { key: "first_page", py_key: Py( 0x00007ea2c2c6bbb0, ), path: LookupPath( [ S( "first_page", Py( 0x00007ea2c2c6bcb0, ), ), ], ), }, name_py: Py( 0x00007ea2d467cbb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "last_page", lookup_key: Simple { key: "last_page", py_key: Py( 0x00007ea2c2c6bdb0, ), path: LookupPath( [ S( "last_page", Py( 0x00007ea2c2c6be70, ), ), ], ), }, name_py: Py( 0x00007ea2d467cb70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "court", lookup_key: Simple { key: "court", py_key: Py( 0x00007ea2c2d1e3d0, ), path: LookupPath( [ S( "court", Py( 0x00007ea2c2d1e400, ), ), ], ), }, name_py: Py( 0x00007ea2dc3ed950, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "id", lookup_key: Simple { key: "id", py_key: Py( 0x00007ea2c2d1e250, ), path: LookupPath( [ S( "id", Py( 0x00007ea2c2d1e280, ), ), ], ), }, name_py: Py( 0x00007ea2e08197d0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d1e2b0, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d1e2e0, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "url", lookup_key: Simple { key: "url", py_key: Py( 0x00007ea2c2d1e310, ), path: LookupPath( [ S( "url", Py( 0x00007ea2c2d1e340, ), ), ], ), }, name_py: Py( 0x00007ea2df904180, ), validator: FunctionWrap( FunctionWrapValidator { validator: Url( UrlValidator { strict: false, max_length: Some( 2083, ), allowed_schemes: Some( ( { "http", "https", }, "'http' or 'https'", ), ), host_required: false, default_host: None, default_port: None, default_path: None, name: "url['http','https']", }, ), func: Py( 0x00007ea2d4750ae0, ), config: Py( 0x00007ea2c2d82780, ), name: "function-wrap[wrap_val()]", field_name: None, info_arg: false, hide_input_in_errors: false, validation_error_cause: false, }, ), frozen: false, }, Field { name: "slug", lookup_key: Simple { key: "slug", py_key: Py( 0x00007ea2c2d1e370, ), path: LookupPath( [ S( "slug", Py( 0x00007ea2c2d1e3a0, ), ), ], ), }, name_py: Py( 0x00007ea2d550c540, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "name_abbreviation", lookup_key: Simple { key: "name_abbreviation", py_key: Py( 0x00007ea2c2c6bef0, ), path: LookupPath( [ S( "name_abbreviation", Py( 0x00007ea2c2c6bc70, ), ), ], ), }, name_py: Py( 0x00007ea2d467eeb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Court", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef68010a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Court", }, ), name: "nullable[Court]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Court]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "casebody", lookup_key: Simple { key: "casebody", py_key: Py( 0x00007ea2c2c6bf70, ), path: LookupPath( [ S( "casebody", Py( 0x00007ea2c2c6bd30, ), ), ], ), }, name_py: Py( 0x00007ea2d467c830, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007ea2c2d1e610, ), path: LookupPath( [ S( "data", Py( 0x00007ea2c2d1e640, ), ), ], ), }, name_py: Py( 0x00007ea2e08183b8, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "head_matter", lookup_key: Simple { key: "head_matter", py_key: Py( 0x00007ea2c2c6bcf0, ), path: LookupPath( [ S( "head_matter", Py( 0x00007ea2c2c6bd70, ), ), ], ), }, name_py: Py( 0x00007ea2d467d3b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "corrections", lookup_key: Simple { key: "corrections", py_key: Py( 0x00007ea2c2c6bdf0, ), path: LookupPath( [ S( "corrections", Py( 0x00007ea2c2c6bb30, ), ), ], ), }, name_py: Py( 0x00007ea2d467d370, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "parties", lookup_key: Simple { key: "parties", py_key: Py( 0x00007ea2c2d1e430, ), path: LookupPath( [ S( "parties", Py( 0x00007ea2c2d1e460, ), ), ], ), }, name_py: Py( 0x00007ea2df9f1530, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d4657480, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[str]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "attorneys", lookup_key: Simple { key: "attorneys", py_key: Py( 0x00007ea2c2c6ba30, ), path: LookupPath( [ S( "attorneys", Py( 0x00007ea2c2c6bfb0, ), ), ], ), }, name_py: Py( 0x00007ea2d467d530, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d5a91780, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[str]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "opinions", lookup_key: Simple { key: "opinions", py_key: Py( 0x00007ea2c2c6bf30, ), path: LookupPath( [ S( "opinions", Py( 0x00007ea2c2c6beb0, ), ), ], ), }, name_py: Py( 0x00007ea2d5f76970, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d4d57e40, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007ea2c2d1e490, ), path: LookupPath( [ S( "type", Py( 0x00007ea2c2d1e4c0, ), ), ], ), }, name_py: Py( 0x00007ea2e081cc80, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d467ebb0, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "author", lookup_key: Simple { key: "author", py_key: Py( 0x00007ea2c2d1e4f0, ), path: LookupPath( [ S( "author", Py( 0x00007ea2c2d1e520, ), ), ], ), }, name_py: Py( 0x00007ea2df774930, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00007ea2d4d576c0, ), config: Py( 0x00007ea2c2d91380, ), name: "function-before[remove_author_name_punctuation(), str]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: false, name: "default[function-before[remove_author_name_punctuation(), str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "text", lookup_key: Simple { key: "text", py_key: Py( 0x00007ea2c2d1e550, ), path: LookupPath( [ S( "text", Py( 0x00007ea2c2d1e580, ), ), ], ), }, name_py: Py( 0x00007ea2e081c978, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Opinion", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef6807470, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Opinion", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[Opinion]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[Opinion]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "judges", lookup_key: Simple { key: "judges", py_key: Py( 0x00007ea2c2d1e5b0, ), path: LookupPath( [ S( "judges", Py( 0x00007ea2c2d1e5e0, ), ), ], ), }, name_py: Py( 0x00007ea2d4726fa0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2d4d57180, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[str]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "CaseData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef681c2f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "CaseData", }, ), frozen: false, }, Field { name: "status", lookup_key: Simple { key: "status", py_key: Py( 0x00007ea2c2d1e670, ), path: LookupPath( [ S( "status", Py( 0x00007ea2c2d1e6a0, ), ), ], ), }, name_py: Py( 0x00007ea2e081c430, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "CaseBody", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef682d560, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "CaseBody", }, ), name: "nullable[CaseBody]", }, ), validate_default: false, copy_default: false, name: "default[nullable[CaseBody]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "jurisdiction", lookup_key: Simple { key: "jurisdiction", py_key: Py( 0x00007ea2c3b82cb0, ), path: LookupPath( [ S( "jurisdiction", Py( 0x00007ea2c2d512b0, ), ), ], ), }, name_py: Py( 0x00007ea2d467ca70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "id", lookup_key: Simple { key: "id", py_key: Py( 0x00007ea2c2d1e6d0, ), path: LookupPath( [ S( "id", Py( 0x00007ea2c2d1e700, ), ), ], ), }, name_py: Py( 0x00007ea2e08197d0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d1e730, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d1e760, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "url", lookup_key: Simple { key: "url", py_key: Py( 0x00007ea2c2d1e790, ), path: LookupPath( [ S( "url", Py( 0x00007ea2c2d1e7c0, ), ), ], ), }, name_py: Py( 0x00007ea2df904180, ), validator: FunctionWrap( FunctionWrapValidator { validator: Url( UrlValidator { strict: false, max_length: Some( 2083, ), allowed_schemes: Some( ( { "https", "http", }, "'http' or 'https'", ), ), host_required: false, default_host: None, default_port: None, default_path: None, name: "url['http','https']", }, ), func: Py( 0x00007ea2d4750fe0, ), config: Py( 0x00007ea2c2d923c0, ), name: "function-wrap[wrap_val()]", field_name: None, info_arg: false, hide_input_in_errors: false, validation_error_cause: false, }, ), frozen: false, }, Field { name: "slug", lookup_key: Simple { key: "slug", py_key: Py( 0x00007ea2c2d1e7f0, ), path: LookupPath( [ S( "slug", Py( 0x00007ea2c2d1e820, ), ), ], ), }, name_py: Py( 0x00007ea2d550c540, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "whitelisted", lookup_key: Simple { key: "whitelisted", py_key: Py( 0x00007ea2c2c6b470, ), path: LookupPath( [ S( "whitelisted", Py( 0x00007ea2c2c6bc30, ), ), ], ), }, name_py: Py( 0x00007ea2d467e8b0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "name_abbreviation", lookup_key: Simple { key: "name_abbreviation", py_key: Py( 0x00007ea2c2c6b7f0, ), path: LookupPath( [ S( "name_abbreviation", Py( 0x00007ea2c31365f0, ), ), ], ), }, name_py: Py( 0x00007ea2d467eeb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Jurisdiction", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef6803870, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Jurisdiction", }, ), name: "nullable[Jurisdiction]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Jurisdiction]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "cites_to", lookup_key: Simple { key: "cites_to", py_key: Py( 0x00007ea2c2d514b0, ), path: LookupPath( [ S( "cites_to", Py( 0x00007ea2c2d51530, ), ), ], ), }, name_py: Py( 0x00007ea2d467ca30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: JsonOrPython( JsonOrPython { json: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "CAPCitation", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[CAPCitation]", ), fail_fast: false, }, ), python: Chain( ChainValidator { steps: [ IsInstance( IsInstanceValidator { class: Py( 0x00007ea2df8a5cd0, ), class_repr: "Sequence", name: "is-instance[Sequence]", }, ), FunctionWrap( FunctionWrapValidator { validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "CAPCitation", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), func: Py( 0x00007ea2d4e544a0, ), config: Py( 0x00007ea2c2dd97c0, ), name: "function-wrap[sequence_validator()]", field_name: None, info_arg: false, hide_input_in_errors: false, validation_error_cause: false, }, ), ], name: "chain[is-instance[Sequence],function-wrap[sequence_validator()]]", }, ), name: "json-or-python[json=list[CAPCitation],python=chain[is-instance[Sequence],function-wrap[sequence_validator()]]]", }, ), name: "nullable[json-or-python[json=list[CAPCitation],python=chain[is-instance[Sequence],function-wrap[sequence_validator()]]]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[json-or-python[json=list[CAPCitation],python=chain[is-instance[Sequence],function-wrap[sequence_validator()]]]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "id", lookup_key: Simple { key: "id", py_key: Py( 0x00007ea2c2d1e850, ), path: LookupPath( [ S( "id", Py( 0x00007ea2c2d1e880, ), ), ], ), }, name_py: Py( 0x00007ea2e08197d0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "last_updated", lookup_key: Simple { key: "last_updated", py_key: Py( 0x00007ea2c2d51130, ), path: LookupPath( [ S( "last_updated", Py( 0x00007ea2c2ecd930, ), ), ], ), }, name_py: Py( 0x00007ea2de5a1f30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Datetime( DateTimeValidator { strict: false, constraints: None, microseconds_precision: Truncate, }, ), name: "nullable[datetime]", }, ), validate_default: false, copy_default: false, name: "default[nullable[datetime]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "frontend_url", lookup_key: Simple { key: "frontend_url", py_key: Py( 0x00007ea2c32529f0, ), path: LookupPath( [ S( "frontend_url", Py( 0x00007ea2c3148130, ), ), ], ), }, name_py: Py( 0x00007ea2d467c9b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: FunctionWrap( FunctionWrapValidator { validator: Url( UrlValidator { strict: false, max_length: Some( 2083, ), allowed_schemes: Some( ( { "http", "https", }, "'http' or 'https'", ), ), host_required: false, default_host: None, default_port: None, default_path: None, name: "url['http','https']", }, ), func: Py( 0x00007ea2d4750d60, ), config: Py( 0x00007ea2c2dd97c0, ), name: "function-wrap[wrap_val()]", field_name: None, info_arg: false, hide_input_in_errors: false, validation_error_cause: false, }, ), name: "nullable[function-wrap[wrap_val()]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[function-wrap[wrap_val()]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "analysis", lookup_key: Simple { key: "analysis", py_key: Py( 0x00007ea2c2c700b0, ), path: LookupPath( [ S( "analysis", Py( 0x00007ea2c2c700f0, ), ), ], ), }, name_py: Py( 0x00007ea2d467c970, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "word_count", lookup_key: Simple { key: "word_count", py_key: Py( 0x00007ea2c3148530, ), path: LookupPath( [ S( "word_count", Py( 0x00007ea2c3697f30, ), ), ], ), }, name_py: Py( 0x00007ea2d467d130, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "sha256", lookup_key: Simple { key: "sha256", py_key: Py( 0x00007ea2c2d1e8b0, ), path: LookupPath( [ S( "sha256", Py( 0x00007ea2c2d1e8e0, ), ), ], ), }, name_py: Py( 0x00007ea2df36c480, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "orc_confidence", lookup_key: Simple { key: "orc_confidence", py_key: Py( 0x00007ea2c3909d30, ), path: LookupPath( [ S( "orc_confidence", Py( 0x00007ea2c390ae30, ), ), ], ), }, name_py: Py( 0x00007ea2d467d0b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "char_count", lookup_key: Simple { key: "char_count", py_key: Py( 0x00007ea2c32e4430, ), path: LookupPath( [ S( "char_count", Py( 0x00007ea2c2c70170, ), ), ], ), }, name_py: Py( 0x00007ea2d467d070, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "pagerank", lookup_key: Simple { key: "pagerank", py_key: Py( 0x00007ea2c2c70070, ), path: LookupPath( [ S( "pagerank", Py( 0x00007ea2c2c70130, ), ), ], ), }, name_py: Py( 0x00007ea2d467cff0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "percentile", lookup_key: Simple { key: "percentile", py_key: Py( 0x00007ea2c2c70230, ), path: LookupPath( [ S( "percentile", Py( 0x00007ea2c2c702b0, ), ), ], ), }, name_py: Py( 0x00007ea2d467d270, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "raw", lookup_key: Simple { key: "raw", py_key: Py( 0x00007ea2c2d1e910, ), path: LookupPath( [ S( "raw", Py( 0x00007ea2c2d1e940, ), ), ], ), }, name_py: Py( 0x00007ea2e081b7f8, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, ], model_name: "PageRank", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef681cf90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "PageRank", }, ), name: "nullable[PageRank]", }, ), validate_default: false, copy_default: false, name: "default[nullable[PageRank]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "cardinality", lookup_key: Simple { key: "cardinality", py_key: Py( 0x00007ea2c2c701b0, ), path: LookupPath( [ S( "cardinality", Py( 0x00007ea2c2c70030, ), ), ], ), }, name_py: Py( 0x00007ea2d467cf70, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "simhash", lookup_key: Simple { key: "simhash", py_key: Py( 0x00007ea2c2d1e970, ), path: LookupPath( [ S( "simhash", Py( 0x00007ea2c2d1e9a0, ), ), ], ), }, name_py: Py( 0x00007ea2d4727060, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "DecisionAnalysis", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef6831560, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "DecisionAnalysis", }, ), name: "nullable[DecisionAnalysis]", }, ), validate_default: false, copy_default: false, name: "default[nullable[DecisionAnalysis]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Decision", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef685e2d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Decision", }, ), frozen: false, }, Field { name: "opinion_readings", lookup_key: Simple { key: "opinion_readings", py_key: Py( 0x00007ea2c2c70d30, ), path: LookupPath( [ S( "opinion_readings", Py( 0x00007ea2c2c70db0, ), ), ], ), }, name_py: Py( 0x00007ea2c2ed0ef0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2ee3bc0, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py( 0x00007ea2c2d1e9d0, ), path: LookupPath( [ S( "generic", Py( 0x00007ea2c2d1ea00, ), ), ], ), }, name_py: Py( 0x00007ea2debabcc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py( 0x00007ea2c2d1ea30, ), path: LookupPath( [ S( "absent", Py( 0x00007ea2c2d1ea60, ), ), ], ), }, name_py: Py( 0x00007ea2deb1c6c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "anchored_holdings", lookup_key: Simple { key: "anchored_holdings", py_key: Py( 0x00007ea2c2c70bf0, ), path: LookupPath( [ S( "anchored_holdings", Py( 0x00007ea2c2c70d70, ), ), ], ), }, name_py: Py( 0x00007ea2c2dc80f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c3b2a580, ), ), on_error: Raise, validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "holdings", lookup_key: Simple { key: "holdings", py_key: Py( 0x00007ea2c2c711f0, ), path: LookupPath( [ S( "holdings", Py( 0x00007ea2c2c711b0, ), ), ], ), }, name_py: Py( 0x00007ea2d5f76ab0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2ee0ec0, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "holding", lookup_key: Simple { key: "holding", py_key: Py( 0x00007ea2c2d1eeb0, ), path: LookupPath( [ S( "holding", Py( 0x00007ea2c2d1eee0, ), ), ], ), }, name_py: Py( 0x00007ea2c2d29860, ), validator: Model( ModelValidator { revalidate: Never, validator: FunctionBefore( FunctionBeforeValidator { validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py( 0x00007ea2c2d1ea90, ), path: LookupPath( [ S( "generic", Py( 0x00007ea2c2d1eac0, ), ), ], ), }, name_py: Py( 0x00007ea2debabcc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py( 0x00007ea2c2d1eaf0, ), path: LookupPath( [ S( "absent", Py( 0x00007ea2c2d1eb20, ), ), ], ), }, name_py: Py( 0x00007ea2deb1c6c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "rule", lookup_key: Simple { key: "rule", py_key: Py( 0x00007ea2c2d1edf0, ), path: LookupPath( [ S( "rule", Py( 0x00007ea2c2d1ee20, ), ), ], ), }, name_py: Py( 0x00007ea2deb9b330, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py( 0x00007ea2c2d1eb50, ), path: LookupPath( [ S( "generic", Py( 0x00007ea2c2d1eb80, ), ), ], ), }, name_py: Py( 0x00007ea2debabcc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py( 0x00007ea2c2d1ebb0, ), path: LookupPath( [ S( "absent", Py( 0x00007ea2c2d1ebe0, ), ), ], ), }, name_py: Py( 0x00007ea2deb1c6c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "procedure", lookup_key: Simple { key: "procedure", py_key: Py( 0x00007ea2c2c70570, ), path: LookupPath( [ S( "procedure", Py( 0x00007ea2c2c705f0, ), ), ], ), }, name_py: Py( 0x00007ea2de97adb0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "outputs", lookup_key: Simple { key: "outputs", py_key: Py( 0x00007ea2c2d1ec10, ), path: LookupPath( [ S( "outputs", Py( 0x00007ea2c2d1ec40, ), ), ], ), }, name_py: Py( 0x00007ea2c2e9bea0, ), validator: FunctionBefore( FunctionBeforeValidator { validator: List( ListValidator { strict: false, item_validator: Some( Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]", ), fail_fast: false, }, ), func: Py( 0x00007ea2c3649540, ), config: Py( 0x00007ea2c2dc6000, ), name: "function-before[_validate_outputs(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "inputs", lookup_key: Simple { key: "inputs", py_key: Py( 0x00007ea2c2d1ec70, ), path: LookupPath( [ S( "inputs", Py( 0x00007ea2c2d1eca0, ), ), ], ), }, name_py: Py( 0x00007ea2d5f58c60, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2d141c0, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: List( ListValidator { strict: false, item_validator: Some( Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]", ), fail_fast: false, }, ), func: Py( 0x00007ea2c38396c0, ), config: Py( 0x00007ea2c2dc6000, ), name: "function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "despite", lookup_key: Simple { key: "despite", py_key: Py( 0x00007ea2c2d1ecd0, ), path: LookupPath( [ S( "despite", Py( 0x00007ea2c2d1ed00, ), ), ], ), }, name_py: Py( 0x00007ea2c3240ba0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2d14200, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: List( ListValidator { strict: false, item_validator: Some( Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]", ), fail_fast: false, }, ), func: Py( 0x00007ea2c38396c0, ), config: Py( 0x00007ea2c2dc6000, ), name: "function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d1ed30, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d1ed60, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Procedure", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef769e780, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Procedure", }, ), frozen: false, }, Field { name: "enactments", lookup_key: Simple { key: "enactments", py_key: Py( 0x00007ea2c2c703b0, ), path: LookupPath( [ S( "enactments", Py( 0x00007ea2c2c70470, ), ), ], ), }, name_py: Py( 0x00007ea2d479eb70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2da4730, ), ), on_error: Raise, validator: FunctionAfter( FunctionAfterValidator { validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "EnactmentGroup", }, ), func: Py( 0x00007ea2c3a568c0, ), config: Py( 0x00007ea2c2dc70c0, ), name: "function-before[validate_enactment_groups(), EnactmentGroup]", field_name: None, info_arg: false, }, ), func: Py( 0x00007ea2c2d93f00, ), config: Py( 0x00007ea2c2dc70c0, ), name: "function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "enactments_despite", lookup_key: Simple { key: "enactments_despite", py_key: Py( 0x00007ea2c2c70330, ), path: LookupPath( [ S( "enactments_despite", Py( 0x00007ea2c2c703f0, ), ), ], ), }, name_py: Py( 0x00007ea2c2ed2030, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c35a4e60, ), ), on_error: Raise, validator: FunctionAfter( FunctionAfterValidator { validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "EnactmentGroup", }, ), func: Py( 0x00007ea2c3a568c0, ), config: Py( 0x00007ea2c2dc70c0, ), name: "function-before[validate_enactment_groups(), EnactmentGroup]", field_name: None, info_arg: false, }, ), func: Py( 0x00007ea2c2d93f00, ), config: Py( 0x00007ea2c2dc70c0, ), name: "function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "mandatory", lookup_key: Simple { key: "mandatory", py_key: Py( 0x00007ea2c2c702f0, ), path: LookupPath( [ S( "mandatory", Py( 0x00007ea2c2c70370, ), ), ], ), }, name_py: Py( 0x00007ea2dfc269b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "universal", lookup_key: Simple { key: "universal", py_key: Py( 0x00007ea2c2c704b0, ), path: LookupPath( [ S( "universal", Py( 0x00007ea2c2c701f0, ), ), ], ), }, name_py: Py( 0x00007ea2df9ed070, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d1ed90, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d1edc0, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Rule", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef76ff160, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Rule", }, ), frozen: false, }, Field { name: "rule_valid", lookup_key: Simple { key: "rule_valid", py_key: Py( 0x00007ea2c2c70e30, ), path: LookupPath( [ S( "rule_valid", Py( 0x00007ea2c2c71070, ), ), ], ), }, name_py: Py( 0x00007ea2c2ed6970, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110c0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "decided", lookup_key: Simple { key: "decided", py_key: Py( 0x00007ea2c2d1ee50, ), path: LookupPath( [ S( "decided", Py( 0x00007ea2c2d1ee80, ), ), ], ), }, name_py: Py( 0x00007ea2c2e9a970, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110c0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "exclusive", lookup_key: Simple { key: "exclusive", py_key: Py( 0x00007ea2c2c710f0, ), path: LookupPath( [ S( "exclusive", Py( 0x00007ea2c2c71170, ), ), ], ), }, name_py: Py( 0x00007ea2d5f349f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: FunctionAfter( FunctionAfterValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Bool( BoolValidator { strict: false, }, ), func: Py( 0x00007ea2c396f400, ), config: Py( 0x00007ea2c2dc7140, ), name: "function-after[not_invalid_and_exclusive(), bool]", field_name: Some( Py( 0x00007ea2d5f349f0, ), ), info_arg: true, }, ), func: Py( 0x00007ea2c3ee95c0, ), config: Py( 0x00007ea2c2dc7140, ), name: "function-after[not_undecided_and_exclusive(), function-after[not_invalid_and_exclusive(), bool]]", field_name: Some( Py( 0x00007ea2d5f349f0, ), ), info_arg: true, }, ), validate_default: false, copy_default: false, name: "default[function-after[not_undecided_and_exclusive(), function-after[not_invalid_and_exclusive(), bool]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Holding", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), func: Py( 0x00007ea2d402b400, ), config: Py( 0x00007ea2c2dc7140, ), name: "function-before[nest_factor_fields(), model-fields]", field_name: None, info_arg: false, }, ), class: Py( 0x0000578ef7767e50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Holding", }, ), frozen: false, }, Field { name: "anchors", lookup_key: Simple { key: "anchors", py_key: Py( 0x00007ea2c2d1ef10, ), path: LookupPath( [ S( "anchors", Py( 0x00007ea2c2d1ef40, ), ), ], ), }, name_py: Py( 0x00007ea2df828e70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2da4ff0, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "TextPositionSet", }, ), func: Py( 0x00007ea2c350f340, ), config: Py( 0x00007ea2c2dc7540, ), name: "function-before[validate_anchors(), TextPositionSet]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[validate_anchors(), TextPositionSet]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "HoldingWithAnchors", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef7793b70, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "HoldingWithAnchors", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[HoldingWithAnchors]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[HoldingWithAnchors]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "named_anchors", lookup_key: Simple { key: "named_anchors", py_key: Py( 0x00007ea2c2c71270, ), path: LookupPath( [ S( "named_anchors", Py( 0x00007ea2c2c70cf0, ), ), ], ), }, name_py: Py( 0x00007ea2c2ef1c70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2ddb980, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "term", lookup_key: Simple { key: "term", py_key: Py( 0x00007ea2c2d1ef70, ), path: LookupPath( [ S( "term", Py( 0x00007ea2c2d1efa0, ), ), ], ), }, name_py: Py( 0x00007ea2e081c948, ), validator: Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Entity", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Entity,Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), frozen: false, }, Field { name: "anchors", lookup_key: Simple { key: "anchors", py_key: Py( 0x00007ea2c2d1efd0, ), path: LookupPath( [ S( "anchors", Py( 0x00007ea2c2d1f000, ), ), ], ), }, name_py: Py( 0x00007ea2df828e70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2da54a0, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "TextPositionSet", }, ), func: Py( 0x00007ea2c2dc8c00, ), config: Py( 0x00007ea2c2dc7a40, ), name: "function-before[validate_anchors(), TextPositionSet]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[validate_anchors(), TextPositionSet]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "TermWithAnchors", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef77c78f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "TermWithAnchors", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[TermWithAnchors]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[TermWithAnchors]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "enactment_anchors", lookup_key: Simple { key: "enactment_anchors", py_key: Py( 0x00007ea2c2c70f70, ), path: LookupPath( [ S( "enactment_anchors", Py( 0x00007ea2c2c71030, ), ), ], ), }, name_py: Py( 0x00007ea2c2ef1cf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2ddb480, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "passage", lookup_key: Simple { key: "passage", py_key: Py( 0x00007ea2c2d1f030, ), path: LookupPath( [ S( "passage", Py( 0x00007ea2c2d1f060, ), ), ], ), }, name_py: Py( 0x00007ea2d4ed4450, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "anchors", lookup_key: Simple { key: "anchors", py_key: Py( 0x00007ea2c2d1f090, ), path: LookupPath( [ S( "anchors", Py( 0x00007ea2c2d1f0c0, ), ), ], ), }, name_py: Py( 0x00007ea2df828e70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2da5400, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "TextPositionSet", }, ), func: Py( 0x00007ea2c36b3ec0, ), config: Py( 0x00007ea2c2dcb9c0, ), name: "function-before[validate_anchors(), TextPositionSet]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[validate_anchors(), TextPositionSet]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "EnactmentWithAnchors", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef77381a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "EnactmentWithAnchors", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[EnactmentWithAnchors]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[EnactmentWithAnchors]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "AnchoredHoldings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef77b43d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "AnchoredHoldings", }, ), validate_default: false, copy_default: true, name: "default[AnchoredHoldings]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "opinion_type", lookup_key: Simple { key: "opinion_type", py_key: Py( 0x00007ea2c2c70eb0, ), path: LookupPath( [ S( "opinion_type", Py( 0x00007ea2c2c70fb0, ), ), ], ), }, name_py: Py( 0x00007ea2d467c870, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "opinion_author", lookup_key: Simple { key: "opinion_author", py_key: Py( 0x00007ea2c2c70af0, ), path: LookupPath( [ S( "opinion_author", Py( 0x00007ea2c2c70c70, ), ), ], ), }, name_py: Py( 0x00007ea2d467c7f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "OpinionReading", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef77f1330, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "OpinionReading", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[OpinionReading]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[OpinionReading]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "DecisionReading", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef7842770, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "DecisionReading", }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "target_uri", lookup_key: Simple { key: "target_uri", py_key: Py(0x7ea2c2c6b3b0), path: LookupPath([S("target_uri", Py(0x7ea2c2c6b0f0))]) }, name_py: Py(0x7ea2d47a5470), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "target_url", lookup_key: Simple { key: "target_url", py_key: Py(0x7ea2c2c6b230), path: LookupPath([S("target_url", Py(0x7ea2c2c6b030))]) }, name_py: Py(0x7ea2d47a5430), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "reference_text", lookup_key: Simple { key: "reference_text", py_key: Py(0x7ea2c2c6b170), path: LookupPath([S("reference_text", Py(0x7ea2c2c6b1f0))]) }, name_py: Py(0x7ea2d47a53f0), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "target_node", lookup_key: Simple { key: "target_node", py_key: Py(0x7ea2c2c6afb0), path: LookupPath([S("target_node", Py(0x7ea2c2c6b0b0))]) }, name_py: Py(0x7ea2de752f30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Int(IntValidator { strict: false }), name: "nullable[int]" }), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "CrossReference", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef5e5cfc0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "CrossReference" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "node", lookup_key: Simple { key: "node", py_key: Py(0x7ea2c2d1df50), path: LookupPath([S("node", Py(0x7ea2c2d1df80))]) }, name_py: Py(0x7ea2dfb25260), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "start_date", lookup_key: Simple { key: "start_date", py_key: Py(0x7ea2c2c6b130), path: LookupPath([S("start_date", Py(0x7ea2c2c6b2f0))]) }, name_py: Py(0x7ea2d47a52b0), validator: Date(DateValidator { strict: false, constraints: None }), frozen: false }, Field { name: "heading", lookup_key: Simple { key: "heading", py_key: Py(0x7ea2c2d1dfb0), path: LookupPath([S("heading", Py(0x7ea2c2d1dfe0))]) }, name_py: Py(0x7ea2dfc9b600), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "text_version", lookup_key: Simple { key: "text_version", py_key: Py(0x7ea2c2c6ac30), path: LookupPath([S("text_version", Py(0x7ea2c2c6b5b0))]) }, name_py: Py(0x7ea2d47a4f70), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "TextVersion" }), name: "nullable[TextVersion]" }), func: Py(0x7ea2d4776680), config: Py(0x7ea2c2c7ba00), name: "function-before[make_text_version_from_str(), nullable[TextVersion]]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[make_text_version_from_str(), nullable[TextVersion]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "end_date", lookup_key: Simple { key: "end_date", py_key: Py(0x7ea2c2c6b6f0), path: LookupPath([S("end_date", Py(0x7ea2c2c6b7b0))]) }, name_py: Py(0x7ea2dd70c270), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Date(DateValidator { strict: false, constraints: None }), name: "nullable[date]" }), validate_default: false, copy_default: false, name: "default[nullable[date]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "first_published", lookup_key: Simple { key: "first_published", py_key: Py(0x7ea2c2c6b830), path: LookupPath([S("first_published", Py(0x7ea2c2c6b530))]) }, name_py: Py(0x7ea2d47a4f30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Date(DateValidator { strict: false, constraints: None }), name: "nullable[date]" }), validate_default: false, copy_default: false, name: "default[nullable[date]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "earliest_in_db", lookup_key: Simple { key: "earliest_in_db", py_key: Py(0x7ea2c2c6b630), path: LookupPath([S("earliest_in_db", Py(0x7ea2c2c6b6b0))]) }, name_py: Py(0x7ea2d47a4ef0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Date(DateValidator { strict: false, constraints: None }), name: "nullable[date]" }), validate_default: false, copy_default: false, name: "default[nullable[date]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "anchors", lookup_key: Simple { key: "anchors", py_key: Py(0x7ea2c2d1e010), path: LookupPath([S("anchors", Py(0x7ea2c2d1e040))]) }, name_py: Py(0x7ea2df828e70), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d478b2c0)), on_error: Raise, validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "TextPositionSet" }), None), (List(ListValidator { strict: false, item_validator: Some(Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "function-after[start_less_than_end(), TextPositionSelector]" }), None), (DefinitionRef(DefinitionRefValidator { definition: "TextQuoteSelector" }), None)], custom_error: None, strict: false, name: "union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]" })), min_length: None, max_length: None, name: OnceLock("list[union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]]"), fail_fast: false }), None)], custom_error: None, strict: false, name: "union[TextPositionSet,list[union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]]]" }), validate_default: false, copy_default: true, name: "default[union[TextPositionSet,list[union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "citations", lookup_key: Simple { key: "citations", py_key: Py(0x7ea2c2c6b730), path: LookupPath([S("citations", Py(0x7ea2c2c6b4f0))]) }, name_py: Py(0x7ea2df771130), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d4789780)), on_error: Raise, validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "CrossReference" })), min_length: None, max_length: None, name: OnceLock("list[CrossReference]"), fail_fast: false }), validate_default: false, copy_default: true, name: "default[list[CrossReference]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d1e070), path: LookupPath([S("name", Py(0x7ea2c2d1e0a0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "children", lookup_key: Simple { key: "children", py_key: Py(0x7ea2c2c6b570), path: LookupPath([S("children", Py(0x7ea2c2c6b5f0))]) }, name_py: Py(0x7ea2dfd957f0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d4777340)), on_error: Raise, validator: Union(UnionValidator { mode: Smart, choices: [(List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "..." })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), None), (List(ListValidator { strict: false, item_validator: Some(Str(StrValidator { strict: false, coerce_numbers_to_str: false })), min_length: None, max_length: None, name: OnceLock("list[str]"), fail_fast: false }), None)], custom_error: None, strict: false, name: "union[list[...],list[str]]" }), validate_default: false, copy_default: true, name: "default[union[list[...],list[str]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Enactment", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68ae500), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Enactment" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "passages", lookup_key: Simple { key: "passages", py_key: Py(0x7ea2c2c6b670), path: LookupPath([S("passages", Py(0x7ea2c2c6b3f0))]) }, name_py: Py(0x7ea2d46720b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d4765580)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "..." })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), func: Py(0x7ea2d4774540), config: Py(0x7ea2c2c7bdc0), name: "function-before[consolidate_passages(), list[...]]", field_name: None, info_arg: false }), func: Py(0x7ea2d4776740), config: Py(0x7ea2c2c7bdc0), name: "function-after[sort_passages(), function-before[consolidate_passages(), list[...]]]", field_name: None, info_arg: false }), validate_default: false, copy_default: true, name: "default[function-after[sort_passages(), function-before[consolidate_passages(), list[...]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "EnactmentGroup", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68f84a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "EnactmentGroup" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "positions", lookup_key: Simple { key: "positions", py_key: Py(0x7ea2c2c6b2b0), path: LookupPath([S("positions", Py(0x7ea2c2c6b330))]) }, name_py: Py(0x7ea2dfb31b30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d473b4c0)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "function-after[start_less_than_end(), TextPositionSelector]" })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), func: Py(0x7ea2d4739a40), config: Py(0x7ea2c2c79980), name: "function-before[is_sequence(), list[...]]", field_name: None, info_arg: false }), func: Py(0x7ea2d4739a00), config: Py(0x7ea2c2c79980), name: "function-after[order_of_selectors(), function-before[is_sequence(), list[...]]]", field_name: None, info_arg: false }), validate_default: false, copy_default: true, name: "default[function-after[order_of_selectors(), function-before[is_sequence(), list[...]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quotes", lookup_key: Simple { key: "quotes", py_key: Py(0x7ea2c2d1dd40), path: LookupPath([S("quotes", Py(0x7ea2c2d1dd10))]) }, name_py: Py(0x7ea2df7b13e0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d5814500)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "TextQuoteSelector" })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), func: Py(0x7ea2d4739a80), config: Py(0x7ea2c2c79980), name: "function-before[quote_selectors_are_in_list(), list[...]]", field_name: None, info_arg: false }), validate_default: false, copy_default: true, name: "default[function-before[quote_selectors_are_in_list(), list[...]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextPositionSet", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef67da0d0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextPositionSet" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2e9b480), path: LookupPath([S("generic", Py(0x7ea2c2e9b810))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2e9b7e0), path: LookupPath([S("absent", Py(0x7ea2c2e9b840))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2e9b420), path: LookupPath([S("name", Py(0x7ea2c2e9b510))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "plural", lookup_key: Simple { key: "plural", py_key: Py(0x7ea2c2e9b4b0), path: LookupPath([S("plural", Py(0x7ea2c2e995c0))]) }, name_py: Py(0x7ea2dfcc6460), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Entity", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2d469fc00), config: Py(0x7ea2c2efc0c0), name: "function-before[validate_type(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef6916a50), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Entity" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c3240390), path: LookupPath([S("content", Py(0x7ea2c3240a50))]) }, name_py: Py(0x7ea2dfb24f00), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "truth", lookup_key: Simple { key: "truth", py_key: Py(0x7ea2c3240ae0), path: LookupPath([S("truth", Py(0x7ea2c3240c90))]) }, name_py: Py(0x7ea2dfc2da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Predicate", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef6927810), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Predicate" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "enactment", lookup_key: Simple { key: "enactment", py_key: Py(0x7ea2c2c6b8b0), path: LookupPath([S("enactment", Py(0x7ea2c2c6b9b0))]) }, name_py: Py(0x7ea2d479ffb0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py(0x7ea2c2c6bab0), path: LookupPath([S("selection", Py(0x7ea2c2c6bb70))]) }, name_py: Py(0x7ea2d467e330), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d589c0f0)), on_error: Raise, validator: DefinitionRef(DefinitionRefValidator { definition: "TextPositionSet" }), validate_default: false, copy_default: true, name: "default[TextPositionSet]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "EnactmentPassage", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68c4930), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "EnactmentPassage" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2d5e3be10), path: LookupPath([S("content", Py(0x7ea2c2e990e0))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a1ce00), config: Py(0x7ea2c2d3bbc0), name: "function-after[content_ends_with_was(), str]", field_name: None, info_arg: false }), frozen: false }, Field { name: "truth", lookup_key: Simple { key: "truth", py_key: Py(0x7ea2c2e984b0), path: LookupPath([S("truth", Py(0x7ea2c2e9b360))]) }, name_py: Py(0x7ea2dfc2da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity_range", lookup_key: Simple { key: "quantity_range", py_key: Py(0x7ea2c2c6abb0), path: LookupPath([S("quantity_range", Py(0x7ea2c2c6acb0))]) }, name_py: Py(0x7ea2d4622af0), validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "..." }), None), (DefinitionRef(DefinitionRefValidator { definition: "..." }), None), (DefinitionRef(DefinitionRefValidator { definition: "..." }), None)], custom_error: None, strict: false, name: "union[...,...,...]" }), frozen: false }], model_name: "Comparison", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c3b8cf40), config: Py(0x7ea2c2d3bbc0), name: "function-before[set_quantity_range(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef752dcc0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Comparison" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2e99c50), path: LookupPath([S("sign", Py(0x7ea2c2e99b00))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c35a8f40), config: Py(0x7ea2c2efc680), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2c6a970), path: LookupPath([S("include_negatives", Py(0x7ea2c2c6aaf0))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity", lookup_key: Simple { key: "quantity", py_key: Py(0x7ea2c2c6ab70), path: LookupPath([S("quantity", Py(0x7ea2c2c6abf0))]) }, name_py: Py(0x7ea2d4623630), validator: Decimal(DecimalValidator { strict: false, allow_inf_nan: false, check_digits: false, multiple_of: None, le: None, lt: None, ge: None, gt: None, max_digits: None, decimal_places: None }), frozen: false }], model_name: "DecimalRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef752c3a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "DecimalRange" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2e99bf0), path: LookupPath([S("sign", Py(0x7ea2c2e99b60))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a6ed40), config: Py(0x7ea2c2efcd00), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2c6ac70), path: LookupPath([S("include_negatives", Py(0x7ea2c2c6acf0))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity_magnitude", lookup_key: Simple { key: "quantity_magnitude", py_key: Py(0x7ea2c2c6ad70), path: LookupPath([S("quantity_magnitude", Py(0x7ea2c2c6adb0))]) }, name_py: Py(0x7ea2d46237b0), validator: Decimal(DecimalValidator { strict: false, allow_inf_nan: false, check_digits: false, multiple_of: None, le: None, lt: None, ge: None, gt: None, max_digits: None, decimal_places: None }), frozen: false }, Field { name: "quantity_units", lookup_key: Simple { key: "quantity_units", py_key: Py(0x7ea2c2c6adf0), path: LookupPath([S("quantity_units", Py(0x7ea2c2c6ae30))]) }, name_py: Py(0x7ea2d4623770), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }], model_name: "UnitRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7518bb0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "UnitRange" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2d41ee9a0), path: LookupPath([S("generic", Py(0x7ea2c2d003f0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d00300), path: LookupPath([S("absent", Py(0x7ea2c2d03750))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "filer", lookup_key: Simple { key: "filer", py_key: Py(0x7ea2c2d035d0), path: LookupPath([S("filer", Py(0x7ea2c2d03600))]) }, name_py: Py(0x7ea2c2e9bdb0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d03660), path: LookupPath([S("name", Py(0x7ea2c2d03630))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Pleading", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7586460), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Pleading" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d1db30), path: LookupPath([S("content", Py(0x7ea2c2d1da10))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4777700), config: Py(0x7ea2c2c79400), name: "function-after[content_exists(), str]", field_name: None, info_arg: false }), frozen: false }, Field { name: "url", lookup_key: Simple { key: "url", py_key: Py(0x7ea2c2d1dc20), path: LookupPath([S("url", Py(0x7ea2c2d1daa0))]) }, name_py: Py(0x7ea2df904180), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "id", lookup_key: Simple { key: "id", py_key: Py(0x7ea2c2d1dcb0), path: LookupPath([S("id", Py(0x7ea2c2d1dc80))]) }, name_py: Py(0x7ea2e08197d0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Int(IntValidator { strict: false }), name: "nullable[int]" }), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextVersion", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68a7730), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextVersion" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d1db60), path: LookupPath([S("generic", Py(0x7ea2c2d1dad0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d1dc50), path: LookupPath([S("absent", Py(0x7ea2c2d1d9b0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "fact", lookup_key: Simple { key: "fact", py_key: Py(0x7ea2c2d1db00), path: LookupPath([S("fact", Py(0x7ea2c2d1d980))]) }, name_py: Py(0x7ea2d44c0600), validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), frozen: false }, Field { name: "pleading", lookup_key: Simple { key: "pleading", py_key: Py(0x7ea2c2c6b4b0), path: LookupPath([S("pleading", Py(0x7ea2c2c6b1b0))]) }, name_py: Py(0x7ea2c2d51970), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Pleading" }), name: "nullable[Pleading]" }), validate_default: false, copy_default: false, name: "default[nullable[Pleading]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d1db90), path: LookupPath([S("name", Py(0x7ea2c2d1dbc0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Allegation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7584040), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Allegation" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2e99bc0), path: LookupPath([S("sign", Py(0x7ea2c2e99b30))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d42cca00), config: Py(0x7ea2c2c72100), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2c6ae70), path: LookupPath([S("include_negatives", Py(0x7ea2c2c6aef0))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity", lookup_key: Simple { key: "quantity", py_key: Py(0x7ea2c2c6a8b0), path: LookupPath([S("quantity", Py(0x7ea2c2c6a9f0))]) }, name_py: Py(0x7ea2d4623630), validator: Date(DateValidator { strict: false, constraints: None }), frozen: false }], model_name: "DateRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef69eabd0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "DateRange" }), FunctionAfter(FunctionAfterValidator { validator: Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "start", lookup_key: Simple { key: "start", py_key: Py(0x7ea2c2d1dce0), path: LookupPath([S("start", Py(0x7ea2c2d1dd70))]) }, name_py: Py(0x7ea2e081c3c8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e080ef28)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Int(IntValidator { strict: false }), func: Py(0x7ea2d473b100), config: Py(0x7ea2c2c79e40), name: "function-after[start_not_negative(), int]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[start_not_negative(), int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "end", lookup_key: Simple { key: "end", py_key: Py(0x7ea2c2d1ddd0), path: LookupPath([S("end", Py(0x7ea2c2d1de00))]) }, name_py: Py(0x7ea2e0818a48), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Int(IntValidator { strict: false }), name: "nullable[int]" }), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextPositionSelector", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef67d7490), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextPositionSelector" }), func: Py(0x7ea2d470a2a0), config: Py(0x7ea2c3694840), name: "function-after[start_less_than_end(), TextPositionSelector]", field_name: None, info_arg: false }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d1d470), path: LookupPath([S("generic", Py(0x7ea2c2d1c390))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d1c900), path: LookupPath([S("absent", Py(0x7ea2c2d1d4a0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "predicate", lookup_key: Simple { key: "predicate", py_key: Py(0x7ea2c2c6af30), path: LookupPath([S("predicate", Py(0x7ea2c2c6b270))]) }, name_py: Py(0x7ea2dfb1b3b0), validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "Predicate" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Comparison" }), None)], custom_error: None, strict: false, name: "union[Predicate,Comparison]" }), frozen: false }, Field { name: "terms", lookup_key: Simple { key: "terms", py_key: Py(0x7ea2c2d1d590), path: LookupPath([S("terms", Py(0x7ea2c2d1c7b0))]) }, name_py: Py(0x7ea2de7547b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2c2d37e00)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "Entity" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Fact" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Allegation" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Pleading" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Exhibit" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Evidence" }), None)], custom_error: None, strict: false, name: "union[Entity,...,...,Pleading,Exhibit,Evidence]" })), min_length: None, max_length: None, name: OnceLock("list[union[Entity,...,...,Pleading,Exhibit,Evidence]]"), fail_fast: false }), func: Py(0x7ea2c2d34a40), config: Py(0x7ea2c2c78800), name: "function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]", field_name: Some(Py(0x7ea2de7547b0)), info_arg: true }), func: Py(0x7ea2c2d34e40), config: Py(0x7ea2c2c78800), name: "function-after[_validate_terms(), function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]]", field_name: Some(Py(0x7ea2de7547b0)), info_arg: true }), validate_default: false, copy_default: true, name: "default[function-after[_validate_terms(), function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d1c810), path: LookupPath([S("name", Py(0x7ea2c2d1dda0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "standard_of_proof", lookup_key: Simple { key: "standard_of_proof", py_key: Py(0x7ea2c2c6b370), path: LookupPath([S("standard_of_proof", Py(0x7ea2c2c6b430))]) }, name_py: Py(0x7ea2c2d25df0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), func: Py(0x7ea2c2d34c80), config: Py(0x7ea2c2c78800), name: "function-after[validate_standard_of_proof(), nullable[str]]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[validate_standard_of_proof(), nullable[str]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Fact", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c390bcc0), config: Py(0x7ea2c2c78800), name: "function-before[nest_predicate_fields(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef756f9e0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Fact" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "cite", lookup_key: Simple { key: "cite", py_key: Py(0x7ea2c2d2bfc0), path: LookupPath([S("cite", Py(0x7ea2c3240b40))]) }, name_py: Py(0x7ea2dea5a7f0), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "reporter", lookup_key: Simple { key: "reporter", py_key: Py(0x7ea2c2c6ab30), path: LookupPath([S("reporter", Py(0x7ea2c2c6a730))]) }, name_py: Py(0x7ea2df8ca630), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "category", lookup_key: Simple { key: "category", py_key: Py(0x7ea2c2c6af70), path: LookupPath([S("category", Py(0x7ea2c2c6aeb0))]) }, name_py: Py(0x7ea2e0817b30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "case_ids", lookup_key: Simple { key: "case_ids", py_key: Py(0x7ea2c2c6aff0), path: LookupPath([S("case_ids", Py(0x7ea2c2c6b070))]) }, name_py: Py(0x7ea2d5fb81f0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d5e7be40)), on_error: Raise, validator: List(ListValidator { strict: false, item_validator: Some(Int(IntValidator { strict: false })), min_length: None, max_length: None, name: OnceLock("list[int]"), fail_fast: false }), validate_default: false, copy_default: true, name: "default[list[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7ea2c3240b70), path: LookupPath([S("type", Py(0x7ea2c3240150))]) }, name_py: Py(0x7ea2e081cc80), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "CAPCitation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef6540d60), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "CAPCitation" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ed8a20), path: LookupPath([S("generic", Py(0x7ea2c2ed97a0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ed8ae0), path: LookupPath([S("absent", Py(0x7ea2c2ed93e0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "offered_by", lookup_key: Simple { key: "offered_by", py_key: Py(0x7ea2c2c6aa70), path: LookupPath([S("offered_by", Py(0x7ea2c2c6aab0))]) }, name_py: Py(0x7ea2c2d34db0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "form", lookup_key: Simple { key: "form", py_key: Py(0x7ea2c2ed83f0), path: LookupPath([S("form", Py(0x7ea2c2edb420))]) }, name_py: Py(0x7ea2de307960), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "statement", lookup_key: Simple { key: "statement", py_key: Py(0x7ea2c2c6a830), path: LookupPath([S("statement", Py(0x7ea2c2c6a930))]) }, name_py: Py(0x7ea2e081c3f8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), name: "nullable[...]" }), validate_default: false, copy_default: false, name: "default[nullable[...]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "statement_attribution", lookup_key: Simple { key: "statement_attribution", py_key: Py(0x7ea2c2c6a9b0), path: LookupPath([S("statement_attribution", Py(0x7ea2c2c6a7f0))]) }, name_py: Py(0x7ea2c2d510b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), name: "nullable[Entity]" }), validate_default: false, copy_default: false, name: "default[nullable[Entity]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2edb540), path: LookupPath([S("name", Py(0x7ea2c2edb390))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Exhibit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef75856c0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Exhibit" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ed8180), path: LookupPath([S("generic", Py(0x7ea2c2ed81b0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ed83c0), path: LookupPath([S("absent", Py(0x7ea2c2ed9e00))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "exhibit", lookup_key: Simple { key: "exhibit", py_key: Py(0x7ea2c2ed9e60), path: LookupPath([S("exhibit", Py(0x7ea2c2ed9320))]) }, name_py: Py(0x7ea2c2e9a0d0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Exhibit" }), name: "nullable[Exhibit]" }), validate_default: false, copy_default: false, name: "default[nullable[Exhibit]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "to_effect", lookup_key: Simple { key: "to_effect", py_key: Py(0x7ea2c2c6a870), path: LookupPath([S("to_effect", Py(0x7ea2c2c6a8f0))]) }, name_py: Py(0x7ea2c2d51630), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), name: "nullable[...]" }), validate_default: false, copy_default: false, name: "default[nullable[...]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ed9fb0), path: LookupPath([S("name", Py(0x7ea2c2ed9e30))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Evidence", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c2d37080), config: Py(0x7ea2c2c73b80), name: "function-before[check_type_field(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef7586080), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Evidence" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "exact", lookup_key: Simple { key: "exact", py_key: Py(0x7ea2c2d1de30), path: LookupPath([S("exact", Py(0x7ea2c2d1de60))]) }, name_py: Py(0x7ea2dfb975a0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4744780), config: Py(0x7ea2c2c7a440), name: "function-before[no_none_for_prefix(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[no_none_for_prefix(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "prefix", lookup_key: Simple { key: "prefix", py_key: Py(0x7ea2c2d1de90), path: LookupPath([S("prefix", Py(0x7ea2c2d1dec0))]) }, name_py: Py(0x7ea2e07d1300), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4744780), config: Py(0x7ea2c2c7a440), name: "function-before[no_none_for_prefix(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[no_none_for_prefix(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "suffix", lookup_key: Simple { key: "suffix", py_key: Py(0x7ea2c2d1def0), path: LookupPath([S("suffix", Py(0x7ea2c2d1df20))]) }, name_py: Py(0x7ea2e07dd240), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4744780), config: Py(0x7ea2c2c7a440), name: "function-before[no_none_for_prefix(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[no_none_for_prefix(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextQuoteSelector", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef67d3c00), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextQuoteSelector" })], cache_strings=True)
The pydantic-core SchemaValidator used to validate instances of the model.
- __signature__: ClassVar[Signature] = <Signature (*, generic: bool = False, absent: bool = False, decision: justopinion.decisions.Decision, opinion_readings: List[authorityspoke.opinions.OpinionReading] = []) -> None>
The synthesized __init__ [Signature][inspect.Signature] of the model.
- __weakref__
list of weak references to the object
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].