...

Source file src/google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1/geometry.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1

     1  // Copyright 2019 Google LLC.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  //
    15  
    16  // Code generated by protoc-gen-go. DO NOT EDIT.
    17  // versions:
    18  // 	protoc-gen-go v1.26.0
    19  // 	protoc        v3.12.2
    20  // source: google/cloud/vision/v1p4beta1/geometry.proto
    21  
    22  package vision
    23  
    24  import (
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    29  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // A vertex represents a 2D point in the image.
    40  // NOTE: the vertex coordinates are in the same scale as the original image.
    41  type Vertex struct {
    42  	state         protoimpl.MessageState
    43  	sizeCache     protoimpl.SizeCache
    44  	unknownFields protoimpl.UnknownFields
    45  
    46  	// X coordinate.
    47  	X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
    48  	// Y coordinate.
    49  	Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
    50  }
    51  
    52  func (x *Vertex) Reset() {
    53  	*x = Vertex{}
    54  	if protoimpl.UnsafeEnabled {
    55  		mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[0]
    56  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    57  		ms.StoreMessageInfo(mi)
    58  	}
    59  }
    60  
    61  func (x *Vertex) String() string {
    62  	return protoimpl.X.MessageStringOf(x)
    63  }
    64  
    65  func (*Vertex) ProtoMessage() {}
    66  
    67  func (x *Vertex) ProtoReflect() protoreflect.Message {
    68  	mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[0]
    69  	if protoimpl.UnsafeEnabled && x != nil {
    70  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    71  		if ms.LoadMessageInfo() == nil {
    72  			ms.StoreMessageInfo(mi)
    73  		}
    74  		return ms
    75  	}
    76  	return mi.MessageOf(x)
    77  }
    78  
    79  // Deprecated: Use Vertex.ProtoReflect.Descriptor instead.
    80  func (*Vertex) Descriptor() ([]byte, []int) {
    81  	return file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescGZIP(), []int{0}
    82  }
    83  
    84  func (x *Vertex) GetX() int32 {
    85  	if x != nil {
    86  		return x.X
    87  	}
    88  	return 0
    89  }
    90  
    91  func (x *Vertex) GetY() int32 {
    92  	if x != nil {
    93  		return x.Y
    94  	}
    95  	return 0
    96  }
    97  
    98  // A vertex represents a 2D point in the image.
    99  // NOTE: the normalized vertex coordinates are relative to the original image
   100  // and range from 0 to 1.
   101  type NormalizedVertex struct {
   102  	state         protoimpl.MessageState
   103  	sizeCache     protoimpl.SizeCache
   104  	unknownFields protoimpl.UnknownFields
   105  
   106  	// X coordinate.
   107  	X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
   108  	// Y coordinate.
   109  	Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
   110  }
   111  
   112  func (x *NormalizedVertex) Reset() {
   113  	*x = NormalizedVertex{}
   114  	if protoimpl.UnsafeEnabled {
   115  		mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[1]
   116  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   117  		ms.StoreMessageInfo(mi)
   118  	}
   119  }
   120  
   121  func (x *NormalizedVertex) String() string {
   122  	return protoimpl.X.MessageStringOf(x)
   123  }
   124  
   125  func (*NormalizedVertex) ProtoMessage() {}
   126  
   127  func (x *NormalizedVertex) ProtoReflect() protoreflect.Message {
   128  	mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[1]
   129  	if protoimpl.UnsafeEnabled && x != nil {
   130  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   131  		if ms.LoadMessageInfo() == nil {
   132  			ms.StoreMessageInfo(mi)
   133  		}
   134  		return ms
   135  	}
   136  	return mi.MessageOf(x)
   137  }
   138  
   139  // Deprecated: Use NormalizedVertex.ProtoReflect.Descriptor instead.
   140  func (*NormalizedVertex) Descriptor() ([]byte, []int) {
   141  	return file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescGZIP(), []int{1}
   142  }
   143  
   144  func (x *NormalizedVertex) GetX() float32 {
   145  	if x != nil {
   146  		return x.X
   147  	}
   148  	return 0
   149  }
   150  
   151  func (x *NormalizedVertex) GetY() float32 {
   152  	if x != nil {
   153  		return x.Y
   154  	}
   155  	return 0
   156  }
   157  
   158  // A bounding polygon for the detected image annotation.
   159  type BoundingPoly struct {
   160  	state         protoimpl.MessageState
   161  	sizeCache     protoimpl.SizeCache
   162  	unknownFields protoimpl.UnknownFields
   163  
   164  	// The bounding polygon vertices.
   165  	Vertices []*Vertex `protobuf:"bytes,1,rep,name=vertices,proto3" json:"vertices,omitempty"`
   166  	// The bounding polygon normalized vertices.
   167  	NormalizedVertices []*NormalizedVertex `protobuf:"bytes,2,rep,name=normalized_vertices,json=normalizedVertices,proto3" json:"normalized_vertices,omitempty"`
   168  }
   169  
   170  func (x *BoundingPoly) Reset() {
   171  	*x = BoundingPoly{}
   172  	if protoimpl.UnsafeEnabled {
   173  		mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[2]
   174  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   175  		ms.StoreMessageInfo(mi)
   176  	}
   177  }
   178  
   179  func (x *BoundingPoly) String() string {
   180  	return protoimpl.X.MessageStringOf(x)
   181  }
   182  
   183  func (*BoundingPoly) ProtoMessage() {}
   184  
   185  func (x *BoundingPoly) ProtoReflect() protoreflect.Message {
   186  	mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[2]
   187  	if protoimpl.UnsafeEnabled && x != nil {
   188  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   189  		if ms.LoadMessageInfo() == nil {
   190  			ms.StoreMessageInfo(mi)
   191  		}
   192  		return ms
   193  	}
   194  	return mi.MessageOf(x)
   195  }
   196  
   197  // Deprecated: Use BoundingPoly.ProtoReflect.Descriptor instead.
   198  func (*BoundingPoly) Descriptor() ([]byte, []int) {
   199  	return file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescGZIP(), []int{2}
   200  }
   201  
   202  func (x *BoundingPoly) GetVertices() []*Vertex {
   203  	if x != nil {
   204  		return x.Vertices
   205  	}
   206  	return nil
   207  }
   208  
   209  func (x *BoundingPoly) GetNormalizedVertices() []*NormalizedVertex {
   210  	if x != nil {
   211  		return x.NormalizedVertices
   212  	}
   213  	return nil
   214  }
   215  
   216  // A 3D position in the image, used primarily for Face detection landmarks.
   217  // A valid Position must have both x and y coordinates.
   218  // The position coordinates are in the same scale as the original image.
   219  type Position struct {
   220  	state         protoimpl.MessageState
   221  	sizeCache     protoimpl.SizeCache
   222  	unknownFields protoimpl.UnknownFields
   223  
   224  	// X coordinate.
   225  	X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
   226  	// Y coordinate.
   227  	Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
   228  	// Z coordinate (or depth).
   229  	Z float32 `protobuf:"fixed32,3,opt,name=z,proto3" json:"z,omitempty"`
   230  }
   231  
   232  func (x *Position) Reset() {
   233  	*x = Position{}
   234  	if protoimpl.UnsafeEnabled {
   235  		mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[3]
   236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   237  		ms.StoreMessageInfo(mi)
   238  	}
   239  }
   240  
   241  func (x *Position) String() string {
   242  	return protoimpl.X.MessageStringOf(x)
   243  }
   244  
   245  func (*Position) ProtoMessage() {}
   246  
   247  func (x *Position) ProtoReflect() protoreflect.Message {
   248  	mi := &file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[3]
   249  	if protoimpl.UnsafeEnabled && x != nil {
   250  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   251  		if ms.LoadMessageInfo() == nil {
   252  			ms.StoreMessageInfo(mi)
   253  		}
   254  		return ms
   255  	}
   256  	return mi.MessageOf(x)
   257  }
   258  
   259  // Deprecated: Use Position.ProtoReflect.Descriptor instead.
   260  func (*Position) Descriptor() ([]byte, []int) {
   261  	return file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescGZIP(), []int{3}
   262  }
   263  
   264  func (x *Position) GetX() float32 {
   265  	if x != nil {
   266  		return x.X
   267  	}
   268  	return 0
   269  }
   270  
   271  func (x *Position) GetY() float32 {
   272  	if x != nil {
   273  		return x.Y
   274  	}
   275  	return 0
   276  }
   277  
   278  func (x *Position) GetZ() float32 {
   279  	if x != nil {
   280  		return x.Z
   281  	}
   282  	return 0
   283  }
   284  
   285  var File_google_cloud_vision_v1p4beta1_geometry_proto protoreflect.FileDescriptor
   286  
   287  var file_google_cloud_vision_v1p4beta1_geometry_proto_rawDesc = []byte{
   288  	0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
   289  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
   290  	0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d,
   291  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
   292  	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x22, 0x24, 0x0a,
   293  	0x06, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01,
   294  	0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
   295  	0x52, 0x01, 0x79, 0x22, 0x2e, 0x0a, 0x10, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65,
   296  	0x64, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01,
   297  	0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
   298  	0x52, 0x01, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x0c, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
   299  	0x50, 0x6f, 0x6c, 0x79, 0x12, 0x41, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73,
   300  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   301  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
   302  	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x08, 0x76,
   303  	0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x13, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
   304  	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02,
   305  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   306  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
   307  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56,
   308  	0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65,
   309  	0x64, 0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x08, 0x50, 0x6f, 0x73,
   310  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02,
   311  	0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01,
   312  	0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x42,
   313  	0x83, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
   314  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
   315  	0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x50,
   316  	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
   317  	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
   318  	0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c,
   319  	0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62,
   320  	0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0xf8, 0x01, 0x01, 0xa2, 0x02,
   321  	0x04, 0x47, 0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   322  }
   323  
   324  var (
   325  	file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescOnce sync.Once
   326  	file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescData = file_google_cloud_vision_v1p4beta1_geometry_proto_rawDesc
   327  )
   328  
   329  func file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescGZIP() []byte {
   330  	file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescOnce.Do(func() {
   331  		file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescData)
   332  	})
   333  	return file_google_cloud_vision_v1p4beta1_geometry_proto_rawDescData
   334  }
   335  
   336  var file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   337  var file_google_cloud_vision_v1p4beta1_geometry_proto_goTypes = []interface{}{
   338  	(*Vertex)(nil),           // 0: google.cloud.vision.v1p4beta1.Vertex
   339  	(*NormalizedVertex)(nil), // 1: google.cloud.vision.v1p4beta1.NormalizedVertex
   340  	(*BoundingPoly)(nil),     // 2: google.cloud.vision.v1p4beta1.BoundingPoly
   341  	(*Position)(nil),         // 3: google.cloud.vision.v1p4beta1.Position
   342  }
   343  var file_google_cloud_vision_v1p4beta1_geometry_proto_depIdxs = []int32{
   344  	0, // 0: google.cloud.vision.v1p4beta1.BoundingPoly.vertices:type_name -> google.cloud.vision.v1p4beta1.Vertex
   345  	1, // 1: google.cloud.vision.v1p4beta1.BoundingPoly.normalized_vertices:type_name -> google.cloud.vision.v1p4beta1.NormalizedVertex
   346  	2, // [2:2] is the sub-list for method output_type
   347  	2, // [2:2] is the sub-list for method input_type
   348  	2, // [2:2] is the sub-list for extension type_name
   349  	2, // [2:2] is the sub-list for extension extendee
   350  	0, // [0:2] is the sub-list for field type_name
   351  }
   352  
   353  func init() { file_google_cloud_vision_v1p4beta1_geometry_proto_init() }
   354  func file_google_cloud_vision_v1p4beta1_geometry_proto_init() {
   355  	if File_google_cloud_vision_v1p4beta1_geometry_proto != nil {
   356  		return
   357  	}
   358  	if !protoimpl.UnsafeEnabled {
   359  		file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   360  			switch v := v.(*Vertex); i {
   361  			case 0:
   362  				return &v.state
   363  			case 1:
   364  				return &v.sizeCache
   365  			case 2:
   366  				return &v.unknownFields
   367  			default:
   368  				return nil
   369  			}
   370  		}
   371  		file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   372  			switch v := v.(*NormalizedVertex); i {
   373  			case 0:
   374  				return &v.state
   375  			case 1:
   376  				return &v.sizeCache
   377  			case 2:
   378  				return &v.unknownFields
   379  			default:
   380  				return nil
   381  			}
   382  		}
   383  		file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   384  			switch v := v.(*BoundingPoly); i {
   385  			case 0:
   386  				return &v.state
   387  			case 1:
   388  				return &v.sizeCache
   389  			case 2:
   390  				return &v.unknownFields
   391  			default:
   392  				return nil
   393  			}
   394  		}
   395  		file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   396  			switch v := v.(*Position); i {
   397  			case 0:
   398  				return &v.state
   399  			case 1:
   400  				return &v.sizeCache
   401  			case 2:
   402  				return &v.unknownFields
   403  			default:
   404  				return nil
   405  			}
   406  		}
   407  	}
   408  	type x struct{}
   409  	out := protoimpl.TypeBuilder{
   410  		File: protoimpl.DescBuilder{
   411  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   412  			RawDescriptor: file_google_cloud_vision_v1p4beta1_geometry_proto_rawDesc,
   413  			NumEnums:      0,
   414  			NumMessages:   4,
   415  			NumExtensions: 0,
   416  			NumServices:   0,
   417  		},
   418  		GoTypes:           file_google_cloud_vision_v1p4beta1_geometry_proto_goTypes,
   419  		DependencyIndexes: file_google_cloud_vision_v1p4beta1_geometry_proto_depIdxs,
   420  		MessageInfos:      file_google_cloud_vision_v1p4beta1_geometry_proto_msgTypes,
   421  	}.Build()
   422  	File_google_cloud_vision_v1p4beta1_geometry_proto = out.File
   423  	file_google_cloud_vision_v1p4beta1_geometry_proto_rawDesc = nil
   424  	file_google_cloud_vision_v1p4beta1_geometry_proto_goTypes = nil
   425  	file_google_cloud_vision_v1p4beta1_geometry_proto_depIdxs = nil
   426  }
   427  

View as plain text