docs: Add better docs for tolerance parameter (#7548)
* Add better docs for tolerance parameter * Update generated docs
This commit is contained in:
		@ -29,7 +29,7 @@ The sketches need to be closed and on different planes that are parallel.
 | 
			
		||||
| `vDegree` | [`number(_)`](/docs/kcl-std/types/std-types-number) | Degree of the interpolation. Must be greater than zero. For example, use 2 for quadratic, or 3 for cubic interpolation in the V direction. | No |
 | 
			
		||||
| `bezApproximateRational` | [`bool`](/docs/kcl-std/types/std-types-bool) | Attempt to approximate rational curves (such as arcs) using a bezier. This will remove banding around interpolations between arcs and non-arcs. It may produce errors in other scenarios. Over time, this field won't be necessary. | No |
 | 
			
		||||
| `baseCurveIndex` | [`number(_)`](/docs/kcl-std/types/std-types-number) | This can be set to override the automatically determined topological base curve, which is usually the first section encountered. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Tolerance for the loft operation. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
| `tagStart` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | A named tag for the face at the start of the loft, i.e. the original sketch. | No |
 | 
			
		||||
| `tagEnd` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | A named tag for the face at the end of the loft. | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -38,7 +38,7 @@ revolved around the same axis.
 | 
			
		||||
| `sketches` | [`[Sketch; 1+]`](/docs/kcl-std/types/std-types-Sketch) | The sketch or set of sketches that should be revolved | Yes |
 | 
			
		||||
| `axis` | [`Axis2d`](/docs/kcl-std/types/std-types-Axis2d) or [`Edge`](/docs/kcl-std/types/std-types-Edge) | Axis of revolution. | Yes |
 | 
			
		||||
| `angle` | [`number(Angle)`](/docs/kcl-std/types/std-types-number) | Angle to revolve (in degrees). Default is 360. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Tolerance for the revolve operation. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
| `symmetric` | [`bool`](/docs/kcl-std/types/std-types-bool) | If true, the extrusion will happen symmetrically around the sketch. Otherwise, the extrusion will happen on only one side of the sketch. | No |
 | 
			
		||||
| `bidirectionalAngle` | [`number(Angle)`](/docs/kcl-std/types/std-types-number) | If specified, will also revolve in the opposite direction to 'angle' to the specified angle. If 'symmetric' is true, this value is ignored. | No |
 | 
			
		||||
| `tagStart` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | A named tag for the face at the start of the revolve, i.e. the original sketch. | No |
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,7 @@ swept along the same path.
 | 
			
		||||
| `sketches` | [`[Sketch; 1+]`](/docs/kcl-std/types/std-types-Sketch) | The sketch or set of sketches that should be swept in space. | Yes |
 | 
			
		||||
| `path` | [`Sketch`](/docs/kcl-std/types/std-types-Sketch) or [`Helix`](/docs/kcl-std/types/std-types-Helix) | The path to sweep the sketch along. | Yes |
 | 
			
		||||
| `sectional` | [`bool`](/docs/kcl-std/types/std-types-bool) | If true, the sweep will be broken up into sub-sweeps (extrusions, revolves, sweeps) based on the trajectory path components. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Tolerance for this operation. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
| `relativeTo` | [`string`](/docs/kcl-std/types/std-types-string) | What is the sweep relative to? Can be either 'sketchPlane' or 'trajectoryCurve'. | No |
 | 
			
		||||
| `tagStart` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | A named tag for the face at the start of the sweep, i.e. the original sketch. | No |
 | 
			
		||||
| `tagEnd` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | A named tag for the face at the end of the sweep. | No |
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,7 @@ will smoothly blend the transition.
 | 
			
		||||
| `solid` | [`Solid`](/docs/kcl-std/types/std-types-Solid) | The solid whose edges should be filletted | Yes |
 | 
			
		||||
| `radius` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The radius of the fillet | Yes |
 | 
			
		||||
| `tags` | [`[Edge; 1+]`](/docs/kcl-std/types/std-types-Edge) | The paths you want to fillet | Yes |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The tolerance for this fillet | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
| `tag` | [`TagDecl`](/docs/kcl-std/types/std-types-TagDecl) | Create a new tag which refers to this fillet | No |
 | 
			
		||||
 | 
			
		||||
### Returns
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,7 @@ verifying fit, and analyzing overlapping geometries in assemblies.
 | 
			
		||||
| Name | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `solids` | `[Solid; 2+]` | The solids to intersect. | Yes |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The tolerance to use for the intersection operation. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
 | 
			
		||||
### Returns
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,7 @@ and complex multi-body part modeling.
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `solids` | [`[Solid; 1+]`](/docs/kcl-std/types/std-types-Solid) | The solids to use as the base to subtract from. | Yes |
 | 
			
		||||
| `tools` | [`[Solid]`](/docs/kcl-std/types/std-types-Solid) | The solids to subtract. | Yes |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The tolerance to use for the subtraction operation. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
 | 
			
		||||
### Returns
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@ union(
 | 
			
		||||
| Name | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `solids` | `[Solid; 2+]` | The solids to union. | Yes |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The tolerance to use for the union operation. | No |
 | 
			
		||||
| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters. | No |
 | 
			
		||||
 | 
			
		||||
### Returns
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ use kittycad_modeling_cmds::{
 | 
			
		||||
    websocket::OkWebSocketResponseData,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE};
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE_MM};
 | 
			
		||||
use crate::{
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
    execution::{types::RuntimeType, ExecState, KclValue, ModelingCmdMeta, Solid},
 | 
			
		||||
@ -57,7 +57,7 @@ pub(crate) async fn inner_union(
 | 
			
		||||
            ModelingCmdMeta::from_args_id(&args, solid_out_id),
 | 
			
		||||
            ModelingCmd::from(mcmd::BooleanUnion {
 | 
			
		||||
                solid_ids: solids.iter().map(|s| s.id).collect(),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM)),
 | 
			
		||||
            }),
 | 
			
		||||
        )
 | 
			
		||||
        .await?;
 | 
			
		||||
@ -122,7 +122,7 @@ pub(crate) async fn inner_intersect(
 | 
			
		||||
            ModelingCmdMeta::from_args_id(&args, solid_out_id),
 | 
			
		||||
            ModelingCmd::from(mcmd::BooleanIntersection {
 | 
			
		||||
                solid_ids: solids.iter().map(|s| s.id).collect(),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM)),
 | 
			
		||||
            }),
 | 
			
		||||
        )
 | 
			
		||||
        .await?;
 | 
			
		||||
@ -186,7 +186,7 @@ pub(crate) async fn inner_subtract(
 | 
			
		||||
            ModelingCmd::from(mcmd::BooleanSubtract {
 | 
			
		||||
                target_ids: solids.iter().map(|s| s.id).collect(),
 | 
			
		||||
                tool_ids: tools.iter().map(|s| s.id).collect(),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM)),
 | 
			
		||||
            }),
 | 
			
		||||
        )
 | 
			
		||||
        .await?;
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,7 @@ use kittycad_modeling_cmds::{
 | 
			
		||||
};
 | 
			
		||||
use uuid::Uuid;
 | 
			
		||||
 | 
			
		||||
use super::{args::TyF64, utils::point_to_mm, DEFAULT_TOLERANCE};
 | 
			
		||||
use super::{args::TyF64, utils::point_to_mm, DEFAULT_TOLERANCE_MM};
 | 
			
		||||
use crate::{
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
    execution::{
 | 
			
		||||
@ -79,7 +79,7 @@ async fn inner_extrude(
 | 
			
		||||
) -> Result<Vec<Solid>, KclError> {
 | 
			
		||||
    // Extrude the element(s).
 | 
			
		||||
    let mut solids = Vec::new();
 | 
			
		||||
    let tolerance = LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE));
 | 
			
		||||
    let tolerance = LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM));
 | 
			
		||||
 | 
			
		||||
    if symmetric.unwrap_or(false) && bidirectional_length.is_some() {
 | 
			
		||||
        return Err(KclError::new_semantic(KclErrorDetails::new(
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@ use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::CutType, ModelingC
 | 
			
		||||
use kittycad_modeling_cmds as kcmc;
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE};
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE_MM};
 | 
			
		||||
use crate::{
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
    execution::{
 | 
			
		||||
@ -122,7 +122,7 @@ async fn inner_fillet(
 | 
			
		||||
                strategy: Default::default(),
 | 
			
		||||
                object_id: solid.id,
 | 
			
		||||
                radius: LengthUnit(radius.to_mm()),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM)),
 | 
			
		||||
                cut_type: CutType::Fillet,
 | 
			
		||||
            }),
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@ use anyhow::Result;
 | 
			
		||||
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, ModelingCmd};
 | 
			
		||||
use kittycad_modeling_cmds as kcmc;
 | 
			
		||||
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE};
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE_MM};
 | 
			
		||||
use crate::{
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
    execution::{
 | 
			
		||||
@ -84,7 +84,7 @@ async fn inner_loft(
 | 
			
		||||
                section_ids: sketches.iter().map(|group| group.id).collect(),
 | 
			
		||||
                base_curve_index,
 | 
			
		||||
                bez_approximate_rational,
 | 
			
		||||
                tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
 | 
			
		||||
                tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM)),
 | 
			
		||||
                v_degree,
 | 
			
		||||
            }),
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
@ -442,5 +442,5 @@ pub(crate) fn std_ty(path: &str, fn_name: &str) -> (PrimitiveType, StdFnProps) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// The default tolerance for modeling commands in [`kittycad_modeling_cmds::length_unit::LengthUnit`].
 | 
			
		||||
const DEFAULT_TOLERANCE: f64 = 0.0000001;
 | 
			
		||||
/// The default tolerance for modeling commands in millimeters.
 | 
			
		||||
const DEFAULT_TOLERANCE_MM: f64 = 0.0000001;
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ use kcmc::{
 | 
			
		||||
};
 | 
			
		||||
use kittycad_modeling_cmds::{self as kcmc, shared::Point3d};
 | 
			
		||||
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE};
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE_MM};
 | 
			
		||||
use crate::{
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
    execution::{
 | 
			
		||||
@ -133,7 +133,7 @@ async fn inner_revolve(
 | 
			
		||||
    let mut solids = Vec::new();
 | 
			
		||||
    for sketch in &sketches {
 | 
			
		||||
        let id = exec_state.next_uuid();
 | 
			
		||||
        let tolerance = tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE);
 | 
			
		||||
        let tolerance = tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM);
 | 
			
		||||
 | 
			
		||||
        let direction = match &axis {
 | 
			
		||||
            Axis2dOrEdgeReference::Axis { direction, origin } => {
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@ use kittycad_modeling_cmds::{self as kcmc, shared::RelativeTo};
 | 
			
		||||
use schemars::JsonSchema;
 | 
			
		||||
use serde::Serialize;
 | 
			
		||||
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE};
 | 
			
		||||
use super::{args::TyF64, DEFAULT_TOLERANCE_MM};
 | 
			
		||||
use crate::{
 | 
			
		||||
    errors::KclError,
 | 
			
		||||
    execution::{
 | 
			
		||||
@ -93,7 +93,7 @@ async fn inner_sweep(
 | 
			
		||||
                    target: sketch.id.into(),
 | 
			
		||||
                    trajectory,
 | 
			
		||||
                    sectional: sectional.unwrap_or(false),
 | 
			
		||||
                    tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
 | 
			
		||||
                    tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE_MM)),
 | 
			
		||||
                    relative_to,
 | 
			
		||||
                }),
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
@ -622,7 +622,7 @@ export fn revolve(
 | 
			
		||||
  axis: Axis2d | Edge,
 | 
			
		||||
  /// Angle to revolve (in degrees). Default is 360.
 | 
			
		||||
  angle?: number(Angle),
 | 
			
		||||
  /// Tolerance for the revolve operation.
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
  /// If true, the extrusion will happen symmetrically around the sketch. Otherwise, the extrusion will happen on only one side of the sketch.
 | 
			
		||||
  symmetric?: bool,
 | 
			
		||||
@ -961,7 +961,7 @@ export fn sweep(
 | 
			
		||||
  path: Sketch | Helix,
 | 
			
		||||
  /// If true, the sweep will be broken up into sub-sweeps (extrusions, revolves, sweeps) based on the trajectory path components.
 | 
			
		||||
  sectional?: bool,
 | 
			
		||||
  /// Tolerance for this operation.
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
  /// What is the sweep relative to? Can be either 'sketchPlane' or 'trajectoryCurve'.
 | 
			
		||||
  relativeTo?: string = 'trajectoryCurve',
 | 
			
		||||
@ -1047,7 +1047,7 @@ export fn loft(
 | 
			
		||||
  bezApproximateRational?: bool = false,
 | 
			
		||||
  /// This can be set to override the automatically determined topological base curve, which is usually the first section encountered.
 | 
			
		||||
  baseCurveIndex?: number(Count),
 | 
			
		||||
  /// Tolerance for the loft operation.
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
  /// A named tag for the face at the start of the loft, i.e. the original sketch.
 | 
			
		||||
  tagStart?: TagDecl,
 | 
			
		||||
 | 
			
		||||
@ -70,7 +70,7 @@ export fn fillet(
 | 
			
		||||
  radius: number(Length),
 | 
			
		||||
  /// The paths you want to fillet
 | 
			
		||||
  tags: [Edge; 1+],
 | 
			
		||||
  /// The tolerance for this fillet
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
  /// Create a new tag which refers to this fillet
 | 
			
		||||
  tag?: TagDecl,
 | 
			
		||||
@ -799,7 +799,7 @@ export fn patternCircular3d(
 | 
			
		||||
export fn union(
 | 
			
		||||
  /// The solids to union.
 | 
			
		||||
  @solids: [Solid; 2+],
 | 
			
		||||
  /// The tolerance to use for the union operation.
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
): [Solid; 1+] {}
 | 
			
		||||
 | 
			
		||||
@ -857,7 +857,7 @@ export fn union(
 | 
			
		||||
export fn intersect(
 | 
			
		||||
  /// The solids to intersect.
 | 
			
		||||
  @solids: [Solid; 2+],
 | 
			
		||||
  /// The tolerance to use for the intersection operation.
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
): [Solid; 1+] {}
 | 
			
		||||
 | 
			
		||||
@ -917,7 +917,7 @@ export fn subtract(
 | 
			
		||||
  @solids: [Solid; 1+],
 | 
			
		||||
  /// The solids to subtract.
 | 
			
		||||
  tools: [Solid],
 | 
			
		||||
  /// The tolerance to use for the subtraction operation.
 | 
			
		||||
  /// Defines the smallest distance below which two entities are considered coincident, intersecting, coplanar, or similar. For most use cases, it should not be changed from its default value of 10^-7 millimeters.
 | 
			
		||||
  tolerance?: number(Length),
 | 
			
		||||
): [Solid; 1+] {}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user