Convert this C# class to native PowerShell advanced function.

```csharp
{ public class ConvertFromJsonCommand : Cmdlet { [Parameter(Mandatory = true, Position = 0, ValueFromPipeline = true)]
[AllowEmptyString]
public string InputObject { get; set; }
[Parameter]
public SwitchParameter AsHashtable { get; set; }
[Parameter]
[ValidateRange(ValidateRangeKind.Positive)]
public int Depth { get; set; } = 1024;
[Parameter]
public SwitchParameter NoEnumerate { get; set; } protected override void ProcessRecord() { this._inputObjectBuffer.Add(this.InputObject); } protected override void EndProcessing() { if (this._inputObjectBuffer.Count > 0) { if (this._inputObjectBuffer.Count == 1) { this.ConvertFromJsonHelper(this._inputObjectBuffer[0]); return; } bool flag = false; try { flag = this.ConvertFromJsonHelper(this._inputObjectBuffer[0]); } catch (ArgumentException) {  } if (flag) { for (int i = 1; i < this._inputObjectBuffer.Count; i++) { this.ConvertFromJsonHelper(this._inputObjectBuffer[i]); } return; } this.ConvertFromJsonHelper(string.Join(Environment.NewLine, this._inputObjectBuffer.ToArray())); }  } private bool ConvertFromJsonHelper(string input) { ErrorRecord errorRecord = null; object obj = JsonObject.ConvertFromJson(input, this.AsHashtable.IsPresent, new int?(this.Depth), out errorRecord); if (errorRecord != null) { base.ThrowTerminatingError(errorRecord); } base.WriteObject(obj, !this.NoEnumerate.IsPresent); return obj != null; } private readonly NAME_1<string> _inputObjectBuffer = new NAME_1<string>(); }  }
``` In your entire response, the letter b should appear less than 38.
user