<td width="43%"><input
type="text" value="0" name="KoordinY_A"
size="20" id="ay"></td>
</tr>
<tr>
<td width="14%">Точка B:</td>
<td width="43%"><input type="text" value="10" name="KoordinX_B" size="20" onchange="changeBX();" id="bx"></td>
<td width="43%"><input type="text" value="10" name="KoordinY_B" size="20" id="by"></td>
</tr>
<tr>
<td width="14%">Точка D:</td>
<td width="43%"><input type="text" value="40" name="KoordinX_D" size="20" id="ex"></td>
<td width="43%"><input type="text" value="0" name="KoordinY_D" size="20" id="ey"></td>
</tr>
<tr></tr>
</table>
<br></br>
<input type="submit" value="Расчитать" name="Okay" width="20%"></td>
<input type="button" value="Очистить" onclick="Reset()" name="Cancel" width="20%" id="Button2">
<input type="button" value="Контрольный пример" onclick="Example()" name="Cancel" width="20%" id="Button3">
<br></br>
<table border="1">
<tr>
<td>Число точек</td>
<td>Число попавших точек</td>
<td>Площадь Монте-Карло</td>
<td>Точная площадь</td>
<td>Относительная погрешность, %</td>
<td>Время вычисления, мс</td>
</tr>
</table>
</div>
</form>
</body>
</html>
<%@ LANGUAGE = "JScript" %>
<% Server.ScriptTimeOut =210%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Расчет площади методом Монте-Карло</title>
<script>Reset()
{.KoordinX_A.value = "";.KoordinX_B.value = "";.KoordinX_D.value = "";.KoordinY_A.value = "";.KoordinY_B.value = "";.KoordinY_D.value = "";
}Example()
{.KoordinX_A.value = "10";.KoordinX_B.value = "10";.KoordinX_D.value = "40";.KoordinY_A.value = "0";.KoordinY_B.value = "10";.KoordinY_D.value = "0";
}
</script>
<%xa=Request.Form("KoordinX_A");ya=Request.Form("KoordinY_A");xb=Request.Form("KoordinX_B");yb=Request.Form("KoordinY_B");xd=Request.Form("KoordinX_D");yd=Request.Form("KoordinY_D");
Radius = (yb-ya)/2;CentrX = xa;CentrY = ya+Radius;minX = xa - (yb-ya);maxX = xd;minY = ya;maxY = yb;
RectangleSquare = ((maxX-minX)*(maxY-minY));;pointsCount = 0;totalPoints = 0;t;mca;precission = 0;
CircleSquare()
{(Math.PI*Math.pow(Radius,2))/2;
}
TriangleSquare()
{ab = Math.sqrt(Math.pow(xa-xb,2)+Math.pow(ya-yb,2));ad = Math.sqrt(Math.pow(xa-xd,2)+Math.pow(ya-yd,2));bd = Math.sqrt(Math.pow(xd-xb,2)+Math.pow(yd-yb,2));polperim = (ab + ad + bd)/2;
Math.sqrt(polperim*(polperim-ab)*(polperim-ad)*(polperim-bd)) ;
}
PointInTriangle(x, y)
{a = (x - xa) * (xa - yb) - (xa - xb) * (y - ya);b = (x - xb) * (yb - yd) - (xb - xd) * (y - yb);c = (x - xd) * (yd - ya) - (xd - xa) * (y - yd);
((a >= 0 && b >= 0 && c >= 0) || (a <= 0 && b <= 0 && c <= 0));
}PointInCirle(x,y)
{(x < (CentrX))
{((Math.pow(x - CentrX, 2) + Math.pow(y - CentrY, 2)) <= Math.pow(Radius, 2));
}{ return false; }
}
PointInIceCream(x,y)
{(x>CentrX)
{PointInTriangle(x,y);
}
{PointInCirle(x,y);
}
}increment(i) {1000 * Math.pow(10, i);
}
area()
{CircleSquare() + TriangleSquare();
}Calculate(amountPoints) {startTime = new Date;
= 0;(var i = 0; i < amountPoints; i++)
{x = Math.random() * (maxX - minX) + minX;y = Math.random() * (maxY - minY) + minY;(PointInIceCream(x,y))
{++;
}
endTime = new Date;= (endTime.getTime() - startTime.getTime()) / 1000;
= RectangleSquare*(pointsCount/amountPoints);= Math.abs(((mca
- area()) / area()) * 100);
}
%>
</head>
<body>
<form action = "MonteKarlo.asp" method = "POST" name = "MonteKarlo">
<div id="container">
<img src = "icecream2.jpg" width="50%" align = "right">
<table border="2" width="49%" height = "25%" bgcolor="Azure" bordercolor="Black">
<tr>
<th colspan="3">Координаты треугольника ABD</th>
</tr>
<tr>
<td width="14%">Точка А:</td>
<td width="43%"><input type="text" value = <%=xa%> name="KoordinX_A" size="20"></td>
<td width="43%"><input type="text" value = <%=ya%> name="KoordinY_A" size="20"></td>
</tr>
<tr>
<td width="14%">Точка B:</td>
<td width="43%"><input type="text" value = <%=xb%> name="KoordinX_B" size="20"></td>
<td width="43%"><input type="text" value = <%=yb%> name="KoordinY_B" size="20"></td>
</tr>
<tr>
<td width="14%">Точка E:</td>
<td width="43%"><input type="text" value = <%=xd%> name="KoordinX_D" size="20"></td>
<td width="43%"><input type="text" value = <%=yd%> name="KoordinY_D" size="20"></td>
</tr>
<tr>
</tr>
</table>
<br></br>
<input type="submit" value="Расчитать" name="Okay" width = "20%"></td>
<input type="button" value="Очистить" onclick="Reset()" name="Cancel" width = "20%"id = "Button2">
<input type="button" value="Контрольный пример" onclick="Example()" name="Cancel" width = "20%"id = "Button3">
<br></br>
<table border = "1">
<tr>
<td>Число точек</td>
<td>Число попавших точек</td>
<td>Площадь Монте-Карло</td>
<td>Точная площадь</td>
<td>Относительная погрешность, %</td>
<td>Время вычисления, мс</td>
</tr>
<%for (var i = 3; i < 8; i++) {= Math.pow(10,i);(totalPoints);
%>
<tr>
<td><%=totalPoints%></td>
<td><%=pointsCount %></td>
<td><%=mca.toFixed(4)%></td>
<td><%=area().toFixed(4)%></td>
<td><%=precission.toFixed(4) %></td>
<td><%=t %></td>
</tr>
<% } %>
</table>
</div>
</form>
</body>
</html>
using System;System.Collections.Generic;System.Web;
/// <summary>
/// Сводное описание для Point
/// </summary>class Point
{Point()
{
//
// TODO: добавьте логику конструктора
//
}float x, y;Point(float a, float b) { x = a; y = b; }
float PointX
{
{ return x; }
}float PointY
{
{ return y; }
}
}
using System;System.Collections.Generic;System.Web;
/// <summary>
/// Сводное описание для IceCream
/// </summary>
///WSMK
{class IceCream
{abe;ab;abcd;()
{
}IceCream(Point a, Point b, Point e)
{= new Triangle(a, b, e);= new Circle(a, b);= new Rectangle(ab.MinX, abe.MaxX, abe.MinY, abe.MaxY);
}bool PointInIceCream(Point randP)
{(randP.PointX > (ab.CentrPoint.PointX))
{ return abe.PointInLines(randP); }
{ return ab.PointInCircle(randP); }
}
float realSquare() { return (abe.Square() + ab.Square()); }
float minX
{
{ab.MinX;
}
}float maxX
{
{abe.MaxX;
}
}float minY
{
{abe.MinY;
}
}float maxY
{
{abe.MaxY;
}
}
float MonteKarloSquare(int count, out int numberPoints, out float rel_delta)
{rand = new Random();= 0;
//DateTime start_date_time = DateTime.Now;(int k = 0; k < count; k++)
{p = new Point(minX + (float)(rand.NextDouble() * (maxX - minX)),+ (float)(rand.NextDouble() * (maxY - minY)));(PointInIceCream(p))
{++;
}
}
//DateTime end_date_time = DateTime.Now;MK_Square = abcd.Square() * ((float)numberPoints / (float)count);_delta = (float)Math.Round((Math.Abs((MK_Square - realSquare()) * 100) / realSquare()) * 10000) / (float)10000.0;MK_Square;
}
}
Triangle
{a, b, e;k1;k2;(Point p1, Point p2, Point p3)
{= p1; b = p2; e = p3;= (e.PointY - a.PointY) / (e.PointX -
a.PointX);= (e.PointY - b.PointY) / (e.PointX - b.PointX);
}
float Square()
{
ab = (float)Math.Sqrt(Math.Pow((a.PointX - b.PointX), 2) + Math.Pow((a.PointY - b.PointY), 2));ae = (float)Math.Sqrt(Math.Pow((a.PointX - e.PointX), 2) + Math.Pow((a.PointY - e.PointY), 2));be = (float)Math.Sqrt(Math.Pow((b.PointX - e.PointX), 2) + Math.Pow((b.PointY - e.PointY), 2));polperim = (ab + ae + be) / 2.0f;(float)Math.Sqrt((polperim * (polperim - ab) * (polperim - ae) * (polperim - be)));
}bool PointInLines(Point p)
{((((p.PointX - a.PointX) * k1 + a.PointY) >= p.PointY) || (((p.PointX - b.PointX) * k2 + b.PointY) <= p.PointY))
{true;
}
{false;
}
}
float MaxX
{
{e.PointX;
}
}float MinY
{
{a.PointY;
}
}
float MaxY
{
{b.PointY;
}
}
}
Circle
{Centr;r;(Point p1, Point p2)
{= (p2.PointY - p1.PointY) / 2;= new Point(p1.PointX,
p1.PointY + r);
}float Square()
{(float)(Math.PI * Math.Pow(r, 2) / 2.0);
}bool PointInCircle(Point p1)
{(p1.PointX < Centr.PointX)
{((Math.Pow(p1.PointX - Centr.PointX, 2) + Math.Pow(p1.PointY - Centr.PointY, 2)) <= Math.Pow(r, 2));
}{ return false; }
}
float MinX
{
{Centr.PointX - r;
}
}
Point CentrPoint
{
{Centr;
}
}
}Rectangle
{MinX, MaxX, MinY, MaxY;(float MiX, float MaX, float MiY, float MaY)
{= MiX;= MaX;= MiY;= MaY;
}float Square()
{(MaxX - MinX) * (MaxY - MinY);
}
}
}
<%@ WebService Language="C#" CodeBehind="~/App_Code/WS_MonteKarlo.cs" Class="WSMK.WS_MonteKarlo" %>
using
System;System.Collections.Generic;System.Web;System.Web.Services;
//[WebService(Namespace = "http://tempuri.org/")]
//[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
WSMK
{class WS_MonteKarlo : System.Web.Services.WebService
{
public WS_MonteKarlo()
{
//Раскомментируйте следующую строку в случае использования сконструированных компонентов
//InitializeComponent();
}
[WebMethod]float MK_Square(float ax, float ay, float bx, float by, float ex, float ey, int count, out int numberPoints, out float real_delta, out float realsquare, out DateTime start, out DateTime end)
{a = new Point(ax, ay);b = new Point(bx, by);e = new Point(ex, ey);= DateTime.Now;icecream = new IceCream(a, b, e);montekarloSquare = icecream.MonteKarloSquare(count, out numberPoints, out real_delta);= icecream.realSquare();= DateTime.Now;montekarloSquare;
}
}
<Page x:Class="app3.Page1"="http://schemas.microsoft.com/winfx/2006/xaml/presentation":x="http://schemas.microsoft.com/winfx/2006/xaml":mc="http://schemas.openxmlformats.org/markup-compatibility/2006":d="http://schemas.microsoft.com/expression/blend/2008":Ignorable="d":DesignHeight="300" d:DesignWidth="300"="Page1">
<Grid Margin="0,0,-326,0">
<TextBox x:Name="KoordinX_A" HorizontalAlignment="Left" Height="23" Margin="61,52,0,0" TextWrapping="Wrap" Text="-8" VerticalAlignment="Top" Width="54" LostFocus="LostFocusTB"/>
<TextBox x:Name="KoordinX_B" HorizontalAlignment="Left" Height="23" Margin="61,75,0,0" TextWrapping="Wrap" Text="-8" VerticalAlignment="Top" Width="54" LostFocus="LostFocusTB"/>
<TextBox x:Name="KoordinX_D" HorizontalAlignment="Left" Height="23" Margin="61,98,0,0" TextWrapping="Wrap" Text="37" VerticalAlignment="Top" Width="54" LostFocus="LostFocusTB"/>
<TextBox x:Name="KoordinY_A" HorizontalAlignment="Left" Height="23" Margin="146,52,0,0" TextWrapping="Wrap" Text="-9" VerticalAlignment="Top" Width="54" LostFocus="LostFocusTB"/>
<TextBox x:Name="KoordinY_B" HorizontalAlignment="Left" Height="23" Margin="146,75,0,0" TextWrapping="Wrap" Text="17" VerticalAlignment="Top" Width="54" LostFocus="LostFocusTB"/>
<TextBox x:Name="KoordinY_D" HorizontalAlignment="Left" Height="23" Margin="146,98,0,0" TextWrapping="Wrap" Text="-9" VerticalAlignment="Top" Width="54" LostFocus="LostFocusTB"/>
<Button x:Name="Button1" Content="Расчёт" HorizontalAlignment="Left" Margin="243,49,0,0" VerticalAlignment="Top" Width="149" RenderTransformOrigin="0.427,0.455" Click="Button1_Click"/>
<ListBox x:Name="List" HorizontalAlignment="Left" Height="153" Margin="0,147,0,0" VerticalAlignment="Top" Width="626"/>
<Label Content="A" HorizontalAlignment="Left" Margin="10,49,0,0" VerticalAlignment="Top"/>
<Label Content="B" HorizontalAlignment="Left" Margin="10,73,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.623,0.128"/>
<Label Content="D" HorizontalAlignment="Left" Margin="10,98,0,0" VerticalAlignment="Top"/>
<Label Content="X" HorizontalAlignment="Left" Margin="68,21,0,0" VerticalAlignment="Top"/>
<Label Content="Y" HorizontalAlignment="Left" Margin="153,21,0,0" VerticalAlignment="Top"/>
<Button x:Name="Button2" Content="Очистить" HorizontalAlignment="Left" Margin="243,73,0,0" VerticalAlignment="Top" Width="149" Click="Button2_Click"/>
<Button
x:Name="Button3" Content="Контрольный пример" HorizontalAlignment="Left"
Margin="243,99,0,0" VerticalAlignment="Top"
Width="149" Click="Button3_Click"/>
</Grid>
</Page>
using System;System.Collections.Generic;System.Linq;System.Text;System.Threading.Tasks;System.Windows;System.Windows.Controls;System.Windows.Data;System.Windows.Documents;System.Windows.Input;System.Windows.Media;System.Windows.Media.Imaging;System.Windows.Navigation;System.Windows.Shapes;System.Threading;app3.ServiceReference1;
app3
{
/// <summary>
/// Логика взаимодействия для Page1.xaml
/// </summary>partial class Page1 : Page
{Page1()
{();
}
_MonteKarloSoapClient newMK = new WS_MonteKarloSoapClient();delegate float DelegateWithParameters(float ax, float ay, float bx, float by, float ex, float ey, int count, out int numberPoints, out float real_delta, out float realsquare, out DateTime start, out DateTime end);ax = -8;bx = -8;dx = 37;ay = -9;by = 17;dy = -9;
bool check()
{result = true; // ошибок нетNumber;Error = "";
(float.TryParse(KoordinY_A.Text, out Number)) // проверка координаты Y точки А
{(float.Parse(KoordinY_A.Text) >= float.Parse(KoordinY_B.Text))
{+= "Координата Y точки A не может быть больше координаты Y точки В ";
KoordinY_A.Text = ay.ToString();= false;
}(float.Parse(KoordinY_A.Text) > float.Parse(KoordinY_D.Text))
{+= "Координата Y точки A не может быть больше координаты Y точки D";
KoordinY_A.Text = ay.ToString();= false;
}
}
{= false;
}
(float.TryParse(KoordinY_B.Text, out Number)) // проверка координаты Y точки B
{(float.Parse(KoordinY_B.Text) <= float.Parse(KoordinY_A.Text))
{+= "Координата Y точки B не может быть меньше координаты Y точки А";
KoordinY_B.Text = by.ToString();= false;
}(float.Parse(KoordinY_B.Text) <= float.Parse(KoordinY_D.Text))
{+= "Координата Y точки B не может быть меньше координаты Y точки D";
KoordinY_B.Text = by.ToString();= false;
}
}
{= false;
}(float.TryParse(KoordinX_A.Text, out Number)) //проверка координаты Х точки А
{(float.Parse(KoordinX_A.Text) >= float.Parse(KoordinX_D.Text))
{+= "Координата X точки A не может быть больше координаты X точки D";
KoordinX_A.Text = ax.ToString();= false;
}
}
{= false;
}(float.TryParse(KoordinX_B.Text, out Number)) //проверка координаты Х точки B
{(float.Parse(KoordinX_B.Text) >= float.Parse(KoordinX_D.Text))
{+= "Координата X точки B не может быть больше координаты X точки D";
KoordinX_B.Text = bx.ToString();= false;
}
}
{= false;
}(float.TryParse(KoordinX_D.Text, out Number)) //проверка координаты Х точки Е
{((float.Parse(KoordinX_D.Text) <= float.Parse(KoordinX_A.Text)) || (float.Parse(KoordinX_D.Text) <= float.Parse(KoordinX_B.Text)))
{+= "Координата X точки D не может быть меньше координаты X точки А и В";
KoordinX_D.Text = dx.ToString();= false;
}
}
{= false;
}
(float.TryParse(KoordinY_D.Text, out Number)) // проверка координаты Y точки Е
{((float.Parse(KoordinY_D.Text) < float.Parse(KoordinY_A.Text)))
{+= "Координата Y точки D не может быть меньше координаты Y точки А";
KoordinY_D.Text = dy.ToString();= false;
}((float.Parse(KoordinY_D.Text) >= float.Parse(KoordinY_B.Text)))
{+= "Координата Y точки D не может быть больше координаты Y точки В";
KoordinY_D.Text = dy.ToString();= false;
}
}
{= false;
}(result == false)
{.Show(Error, "Введено некорректное значение координат", MessageBoxButton.OK, MessageBoxImage.Warning);result;
}
{result;
}
}
void LostFocusTB(object sender, RoutedEventArgs ee)
{EventTextBox = (TextBox)sender;Number = 0.0f;TextInTextBox = EventTextBox.Text.Replace(".", ",");(float.TryParse(TextInTextBox, out Number))
{(EventTextBox.Equals(KoordinX_A)) // проверка координаты X точки А
{_B.Text = KoordinX_A.Text;= float.Parse(KoordinX_A.Text);= float.Parse(KoordinX_B.Text);
}
(EventTextBox.Equals(KoordinX_B)) // проверка координаты X точки B
{_A.Text = KoordinX_B.Text;= float.Parse(KoordinX_B.Text);= float.Parse(KoordinX_A.Text);
}(EventTextBox.Equals(KoordinX_D)) // проверка координаты X точки D
{= float.Parse(KoordinX_D.Text);
}(EventTextBox.Equals(KoordinY_A)) // проверка координаты Y точки A
{_D.Text = ay.ToString();= float.Parse(KoordinY_D.Text);= float.Parse(KoordinY_A.Text);
}(EventTextBox.Equals(KoordinY_B)) // проверка координаты Y точки B
{
= float.Parse(KoordinY_B.Text);
}(EventTextBox.Equals(KoordinY_D)) // проверка координаты Y точки D
{= float.Parse(KoordinY_A.Text);= float.Parse(KoordinY_D.Text);_A.Text = dy.ToString();
}
(KoordinX_A.Text != "" && KoordinX_B.Text != "" && KoordinX_D.Text != "" && KoordinY_A.Text != ""
&& KoordinY_B.Text != "" && KoordinY_D.Text != "")
{.IsEnabled = true;
}
{.IsEnabled = false;
}
}
{cur_result = MessageBox.Show("Введено некорректное значение координаты\n",
//"Будет поставлено предыдущее значение",
"Введено некорректное значение координаты", MessageBoxButton.OK,
MessageBoxImage.Exclamation);(cur_result == MessageBoxResult.OK)
{(EventTextBox.Equals(KoordinX_A))
{_A.Text = ax.ToString();
}(EventTextBox.Equals(KoordinX_B))
{_B.Text = bx.ToString();
}(EventTextBox.Equals(KoordinX_D))
{_D.Text = dx.ToString();
}(EventTextBox.Equals(KoordinY_A))
{_A.Text = ay.ToString();
}(EventTextBox.Equals(KoordinY_B))
{_B.Text = by.ToString();
}(EventTextBox.Equals(KoordinY_D))
{_D.Text = ay.ToString();
}
}
}
}
void Button1_Click(object sender, RoutedEventArgs e)
{(check())
{
delFoo = new DelegateWithParameters(newMK.MK_Square);.Items.Clear();one_line;
List.Items.Add("Кол-во точек " + "Попавшие точки " + "S Монте-Карло " + "Реальная S " + "Погрешность " + "Время расчёта, мc");
for (int i = 3; i < 8; i++)
{space = " ";numberPoints = 0;rel_delta = 0;square = 0;count = (int)Math.Pow(10, i);start;end;.Visibility = Visibility.Hidden;MKtag = delFoo.BeginInvoke(ax, ay, bx, by, dx, dy, count, out numberPoints, out rel_delta, out square, out start, out end, null, null);MKResult = delFoo.EndInvoke(out numberPoints, out rel_delta, out square, out start, out end, MKtag);arv_time = end - start;(int j = 1; j < 9 - i; j++) { space += " "; }_line = Math.Pow(10, i) + space + " " + numberPoints.ToString() + space + " " + MKResult.ToString(format: "F") + " " +.ToString(format: "F") + " " + rel_delta.ToString(format: "F") + "% " + arv_time.TotalMilliseconds;.Items.Add(one_line); //List.Items.Add("____________________________");.Visibility = Visibility.Visible;
}
}{ }
}void Button2_Click(object sender, RoutedEventArgs ee)
{_A.Text = KoordinX_B.Text =_D.Text = KoordinY_A.Text =_B.Text = KoordinY_D.Text = "";.IsEnabled = false;
}
void Button3_Click(object sender, RoutedEventArgs ee)
{= bx = -8;= 37;= dy = -9;= 17;
_A.Text = ax.ToString();_B.Text = bx.ToString();_D.Text = dx.ToString();_A.Text = ay.ToString();_B.Text = by.ToString();_D.Text = dy.ToString();.IsEnabled = true;
}
}
}
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/MK_Square", ReplyAction="*")].Threading.Tasks.Task<app3.ServiceReference1.MK_SquareResponse> MK_SquareAsync(app3.ServiceReference1.MK_SquareRequest request);
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ServiceModel.MessageContractAttribute(WrapperName="MK_Square",
WrapperNamespace="http://tempuri.org/", IsWrapped=true)]partial class
MK_SquareRequest {
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/",
Order=0)]float ax;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/",
Order=1)]float ay;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=2)]float bx;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/",
Order=3)]float by;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/",
Order=4)]float ex;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/",
Order=5)]float ey;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=6)]int count;MK_SquareRequest() {
}
MK_SquareRequest(float ax, float ay, float bx, float by, float ex, float ey, int count) {.ax = ax;.ay = ay;.bx = bx;.by = by;.ex = ex;.ey = ey;.count = count;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName="MK_SquareResponse",
WrapperNamespace="http://tempuri.org/", IsWrapped=true)]partial class
MK_SquareResponse {