| // Copyright 2022 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.27.1 |
| // protoc v3.11.4 |
| // source: automation_service.proto |
| |
| package ui |
| |
| import ( |
| context "context" |
| empty "github.com/golang/protobuf/ptypes/empty" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| type ClickType int32 |
| |
| const ( |
| ClickType_CLICK_TYPE_UNSPECIFIED ClickType = 0 |
| ClickType_CLICK_TYPE_LEFT_CLICK ClickType = 1 |
| ClickType_CLICK_TYPE_RIGHT_CLICK ClickType = 2 |
| ClickType_CLICK_TYPE_DOUBLE_CLICK ClickType = 3 |
| ) |
| |
| // Enum value maps for ClickType. |
| var ( |
| ClickType_name = map[int32]string{ |
| 0: "CLICK_TYPE_UNSPECIFIED", |
| 1: "CLICK_TYPE_LEFT_CLICK", |
| 2: "CLICK_TYPE_RIGHT_CLICK", |
| 3: "CLICK_TYPE_DOUBLE_CLICK", |
| } |
| ClickType_value = map[string]int32{ |
| "CLICK_TYPE_UNSPECIFIED": 0, |
| "CLICK_TYPE_LEFT_CLICK": 1, |
| "CLICK_TYPE_RIGHT_CLICK": 2, |
| "CLICK_TYPE_DOUBLE_CLICK": 3, |
| } |
| ) |
| |
| func (x ClickType) Enum() *ClickType { |
| p := new(ClickType) |
| *p = x |
| return p |
| } |
| |
| func (x ClickType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ClickType) Descriptor() protoreflect.EnumDescriptor { |
| return file_automation_service_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (ClickType) Type() protoreflect.EnumType { |
| return &file_automation_service_proto_enumTypes[0] |
| } |
| |
| func (x ClickType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ClickType.Descriptor instead. |
| func (ClickType) EnumDescriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // Checked describes tri-state values of a checkbox or radio button. |
| // As defined in |
| // https://chromium.googlesource.com/chromium/src/+/refs/heads/main/extensions/common/api/automation.idl |
| type Checked int32 |
| |
| const ( |
| Checked_CHECKED_UNSPECIFIED Checked = 0 |
| Checked_CHECKED_TRUE Checked = 1 |
| Checked_CHECKED_FALSE Checked = 2 |
| Checked_CHECKED_MIXED Checked = 3 |
| ) |
| |
| // Enum value maps for Checked. |
| var ( |
| Checked_name = map[int32]string{ |
| 0: "CHECKED_UNSPECIFIED", |
| 1: "CHECKED_TRUE", |
| 2: "CHECKED_FALSE", |
| 3: "CHECKED_MIXED", |
| } |
| Checked_value = map[string]int32{ |
| "CHECKED_UNSPECIFIED": 0, |
| "CHECKED_TRUE": 1, |
| "CHECKED_FALSE": 2, |
| "CHECKED_MIXED": 3, |
| } |
| ) |
| |
| func (x Checked) Enum() *Checked { |
| p := new(Checked) |
| *p = x |
| return p |
| } |
| |
| func (x Checked) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Checked) Descriptor() protoreflect.EnumDescriptor { |
| return file_automation_service_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (Checked) Type() protoreflect.EnumType { |
| return &file_automation_service_proto_enumTypes[1] |
| } |
| |
| func (x Checked) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Checked.Descriptor instead. |
| func (Checked) EnumDescriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{1} |
| } |
| |
| // Restriction describes the restriction state of a chrome.automation |
| // AutomationNode. As defined in |
| // https://developer.chrome.com/docs/extensions/reference/automation/#type-Restriction |
| type Restriction int32 |
| |
| const ( |
| Restriction_RESTRICTION_UNSPECIFIED Restriction = 0 |
| Restriction_RESTRICTION_DISABLED Restriction = 1 // disallows input in itself + any descendants |
| Restriction_RESTRICTION_READ_ONLY Restriction = 2 // allow focus/selection but not input |
| Restriction_RESTRICTION_NONE Restriction = 3 // enable control or other object that is not disabled |
| ) |
| |
| // Enum value maps for Restriction. |
| var ( |
| Restriction_name = map[int32]string{ |
| 0: "RESTRICTION_UNSPECIFIED", |
| 1: "RESTRICTION_DISABLED", |
| 2: "RESTRICTION_READ_ONLY", |
| 3: "RESTRICTION_NONE", |
| } |
| Restriction_value = map[string]int32{ |
| "RESTRICTION_UNSPECIFIED": 0, |
| "RESTRICTION_DISABLED": 1, |
| "RESTRICTION_READ_ONLY": 2, |
| "RESTRICTION_NONE": 3, |
| } |
| ) |
| |
| func (x Restriction) Enum() *Restriction { |
| p := new(Restriction) |
| *p = x |
| return p |
| } |
| |
| func (x Restriction) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Restriction) Descriptor() protoreflect.EnumDescriptor { |
| return file_automation_service_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (Restriction) Type() protoreflect.EnumType { |
| return &file_automation_service_proto_enumTypes[2] |
| } |
| |
| func (x Restriction) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Restriction.Descriptor instead. |
| func (Restriction) EnumDescriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{2} |
| } |
| |
| // State describes the characteristics of the node |
| // See |
| // https://developer.chrome.com/docs/extensions/reference/automation/#type-StateType |
| type State int32 |
| |
| const ( |
| State_STATE_UNSPECIFIED State = 0 |
| State_STATE_AUTOFILL_AVAILABLE State = 1 |
| State_STATE_COLLAPSED State = 2 |
| State_STATE_DEFAULT State = 3 |
| State_STATE_EDITABLE State = 4 |
| State_STATE_EXPANDED State = 5 |
| State_STATE_FOCUSABLE State = 6 |
| State_STATE_FOCUSED State = 7 |
| State_STATE_HORIZONTAL State = 8 |
| State_STATE_HOVERED State = 9 |
| State_STATE_IGNORED State = 10 |
| State_STATE_INVISIBLE State = 11 |
| State_STATE_LINKED State = 12 |
| State_STATE_MULTILINE State = 13 |
| State_STATE_MULTISELECTABLE State = 14 |
| State_STATE_OFFSCREEN State = 15 |
| State_STATE_PROTECTED State = 16 |
| State_STATE_REQUIRED State = 17 |
| State_STATE_RICHLY_EDITABLE State = 18 |
| State_STATE_VERTICAL State = 19 |
| State_STATE_VISITED State = 20 |
| ) |
| |
| // Enum value maps for State. |
| var ( |
| State_name = map[int32]string{ |
| 0: "STATE_UNSPECIFIED", |
| 1: "STATE_AUTOFILL_AVAILABLE", |
| 2: "STATE_COLLAPSED", |
| 3: "STATE_DEFAULT", |
| 4: "STATE_EDITABLE", |
| 5: "STATE_EXPANDED", |
| 6: "STATE_FOCUSABLE", |
| 7: "STATE_FOCUSED", |
| 8: "STATE_HORIZONTAL", |
| 9: "STATE_HOVERED", |
| 10: "STATE_IGNORED", |
| 11: "STATE_INVISIBLE", |
| 12: "STATE_LINKED", |
| 13: "STATE_MULTILINE", |
| 14: "STATE_MULTISELECTABLE", |
| 15: "STATE_OFFSCREEN", |
| 16: "STATE_PROTECTED", |
| 17: "STATE_REQUIRED", |
| 18: "STATE_RICHLY_EDITABLE", |
| 19: "STATE_VERTICAL", |
| 20: "STATE_VISITED", |
| } |
| State_value = map[string]int32{ |
| "STATE_UNSPECIFIED": 0, |
| "STATE_AUTOFILL_AVAILABLE": 1, |
| "STATE_COLLAPSED": 2, |
| "STATE_DEFAULT": 3, |
| "STATE_EDITABLE": 4, |
| "STATE_EXPANDED": 5, |
| "STATE_FOCUSABLE": 6, |
| "STATE_FOCUSED": 7, |
| "STATE_HORIZONTAL": 8, |
| "STATE_HOVERED": 9, |
| "STATE_IGNORED": 10, |
| "STATE_INVISIBLE": 11, |
| "STATE_LINKED": 12, |
| "STATE_MULTILINE": 13, |
| "STATE_MULTISELECTABLE": 14, |
| "STATE_OFFSCREEN": 15, |
| "STATE_PROTECTED": 16, |
| "STATE_REQUIRED": 17, |
| "STATE_RICHLY_EDITABLE": 18, |
| "STATE_VERTICAL": 19, |
| "STATE_VISITED": 20, |
| } |
| ) |
| |
| func (x State) Enum() *State { |
| p := new(State) |
| *p = x |
| return p |
| } |
| |
| func (x State) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (State) Descriptor() protoreflect.EnumDescriptor { |
| return file_automation_service_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (State) Type() protoreflect.EnumType { |
| return &file_automation_service_proto_enumTypes[3] |
| } |
| |
| func (x State) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use State.Descriptor instead. |
| func (State) EnumDescriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{3} |
| } |
| |
| // Role describes the purpose of the node |
| // See |
| // https://developer.chrome.com/docs/extensions/reference/automation/#type-RoleType |
| type Role int32 |
| |
| const ( |
| Role_ROLE_UNSPECIFIED Role = 0 |
| Role_ROLE_ABBR Role = 1 |
| Role_ROLE_ALERT Role = 2 |
| Role_ROLE_ALERT_DIALOG Role = 3 |
| Role_ROLE_ANCHOR Role = 4 |
| Role_ROLE_APPLICATION Role = 5 |
| Role_ROLE_ARTICLE Role = 6 |
| Role_ROLE_AUDIO Role = 7 |
| Role_ROLE_BANNER Role = 8 |
| Role_ROLE_BLOCKQUOTE Role = 9 |
| Role_ROLE_BUTTON Role = 10 |
| Role_ROLE_CANVAS Role = 11 |
| Role_ROLE_CAPTION Role = 12 |
| Role_ROLE_CARET Role = 13 |
| Role_ROLE_CELL Role = 14 |
| Role_ROLE_CHECK_BOX Role = 15 |
| Role_ROLE_CLIENT Role = 16 |
| Role_ROLE_CODE Role = 17 |
| Role_ROLE_COLOR_WELL Role = 18 |
| Role_ROLE_COLUMN Role = 19 |
| Role_ROLE_COLUMN_HEADER Role = 20 |
| Role_ROLE_COMBO_BOX_GROUPING Role = 21 |
| Role_ROLE_COMBO_BOX_MENU_BUTTON Role = 22 |
| Role_ROLE_COMMENT Role = 23 |
| Role_ROLE_COMPLEMENTARY Role = 24 |
| Role_ROLE_CONTENT_DELETION Role = 25 |
| Role_ROLE_CONTENT_INSERTION Role = 26 |
| Role_ROLE_CONTENT_INFO Role = 27 |
| Role_ROLE_DATE Role = 28 |
| Role_ROLE_DATE_TIME Role = 29 |
| Role_ROLE_DEFINITION Role = 30 |
| Role_ROLE_DESCRIPTION_LIST Role = 31 |
| Role_ROLE_DESCRIPTION_LIST_DETAIL Role = 32 |
| Role_ROLE_DESCRIPTION_LIST_TERM Role = 33 |
| Role_ROLE_DESKTOP Role = 34 |
| Role_ROLE_DETAILS Role = 35 |
| Role_ROLE_DIALOG Role = 36 |
| Role_ROLE_DIRECTORY Role = 37 |
| Role_ROLE_DISCLOSURE_TRIANGLE Role = 38 |
| Role_ROLE_DOC_ABSTRACT Role = 39 |
| Role_ROLE_DOC_ACKNOWLEDGMENTS Role = 40 |
| Role_ROLE_DOC_AFTERWORD Role = 41 |
| Role_ROLE_DOC_APPENDIX Role = 42 |
| Role_ROLE_DOC_BACK_LINK Role = 43 |
| Role_ROLE_DOC_BIBLIO_ENTRY Role = 44 |
| Role_ROLE_DOC_BIBLIOGRAPHY Role = 45 |
| Role_ROLE_DOC_BIBLIO_REF Role = 46 |
| Role_ROLE_DOC_CHAPTER Role = 47 |
| Role_ROLE_DOC_COLOPHON Role = 48 |
| Role_ROLE_DOC_CONCLUSION Role = 49 |
| Role_ROLE_DOC_COVER Role = 50 |
| Role_ROLE_DOC_CREDIT Role = 51 |
| Role_ROLE_DOC_CREDITS Role = 52 |
| Role_ROLE_DOC_DEDICATION Role = 53 |
| Role_ROLE_DOC_ENDNOTE Role = 54 |
| Role_ROLE_DOC_ENDNOTES Role = 55 |
| Role_ROLE_DOC_EPIGRAPH Role = 56 |
| Role_ROLE_DOC_EPILOGUE Role = 57 |
| Role_ROLE_DOC_ERRATA Role = 58 |
| Role_ROLE_DOC_EXAMPLE Role = 59 |
| Role_ROLE_DOC_FOOTNOTE Role = 60 |
| Role_ROLE_DOC_FOREWORD Role = 61 |
| Role_ROLE_DOC_GLOSSARY Role = 62 |
| Role_ROLE_DOC_GLOSS_REF Role = 63 |
| Role_ROLE_DOC_INDEX Role = 64 |
| Role_ROLE_DOC_INTRODUCTION Role = 65 |
| Role_ROLE_DOC_NOTE_REF Role = 66 |
| Role_ROLE_DOC_NOTICE Role = 67 |
| Role_ROLE_DOC_PAGE_BREAK Role = 68 |
| Role_ROLE_DOC_PAGE_FOOTER Role = 69 |
| Role_ROLE_DOC_PAGE_HEADER Role = 70 |
| Role_ROLE_DOC_PAGE_LIST Role = 71 |
| Role_ROLE_DOC_PART Role = 72 |
| Role_ROLE_DOC_PREFACE Role = 73 |
| Role_ROLE_DOC_PROLOGUE Role = 74 |
| Role_ROLE_DOC_PULLQUOTE Role = 75 |
| Role_ROLE_DOC_QNA Role = 76 |
| Role_ROLE_DOC_SUBTITLE Role = 77 |
| Role_ROLE_DOC_TIP Role = 78 |
| Role_ROLE_DOC_TOC Role = 79 |
| Role_ROLE_DOCUMENT Role = 80 |
| Role_ROLE_EMBEDDED_OBJECT Role = 81 |
| Role_ROLE_EMPHASIS Role = 82 |
| Role_ROLE_FEED Role = 83 |
| Role_ROLE_FIGCAPTION Role = 84 |
| Role_ROLE_FIGURE Role = 85 |
| Role_ROLE_FOOTER Role = 86 |
| Role_ROLE_FOOTER_AS_NON_LANDMARK Role = 87 |
| Role_ROLE_FORM Role = 88 |
| Role_ROLE_GENERIC_CONTAINER Role = 89 |
| Role_ROLE_GRAPHICS_DOCUMENT Role = 90 |
| Role_ROLE_GRAPHICS_OBJECT Role = 91 |
| Role_ROLE_GRAPHICS_SYMBOL Role = 92 |
| Role_ROLE_GRID Role = 93 |
| Role_ROLE_GROUP Role = 94 |
| Role_ROLE_HEADER Role = 95 |
| Role_ROLE_HEADER_AS_NON_LANDMARK Role = 96 |
| Role_ROLE_HEADING Role = 97 |
| Role_ROLE_IFRAME Role = 98 |
| Role_ROLE_IFRAME_PRESENTATIONAL Role = 99 |
| Role_ROLE_IGNORED Role = 100 |
| Role_ROLE_IMAGE Role = 101 |
| Role_ROLE_IMAGE_MAP Role = 102 |
| Role_ROLE_IME_CANDIDATE Role = 103 |
| Role_ROLE_INLINE_TEXT_BOX Role = 104 |
| Role_ROLE_INPUT_TIME Role = 105 |
| Role_ROLE_KEYBOARD Role = 106 |
| Role_ROLE_LABEL_TEXT Role = 107 |
| Role_ROLE_LAYOUT_TABLE Role = 108 |
| Role_ROLE_LAYOUT_TABLE_CELL Role = 109 |
| Role_ROLE_LAYOUT_TABLE_ROW Role = 110 |
| Role_ROLE_LEGEND Role = 111 |
| Role_ROLE_LINE_BREAK Role = 112 |
| Role_ROLE_LINK Role = 113 |
| Role_ROLE_LIST Role = 114 |
| Role_ROLE_LIST_BOX Role = 115 |
| Role_ROLE_LIST_BOX_OPTION Role = 116 |
| Role_ROLE_LIST_GRID Role = 117 |
| Role_ROLE_LIST_ITEM Role = 118 |
| Role_ROLE_LIST_MARKER Role = 119 |
| Role_ROLE_LOG Role = 120 |
| Role_ROLE_MAIN Role = 121 |
| Role_ROLE_MARK Role = 122 |
| Role_ROLE_MARQUEE Role = 123 |
| Role_ROLE_MATH Role = 124 |
| Role_ROLE_MENU Role = 125 |
| Role_ROLE_MENU_BAR Role = 126 |
| Role_ROLE_MENU_ITEM Role = 127 |
| Role_ROLE_MENU_ITEM_CHECK_BOX Role = 128 |
| Role_ROLE_MENU_ITEM_RADIO Role = 129 |
| Role_ROLE_MENU_LIST_OPTION Role = 130 |
| Role_ROLE_MENU_LIST_POPUP Role = 131 |
| Role_ROLE_METER Role = 132 |
| Role_ROLE_NAVIGATION Role = 133 |
| Role_ROLE_NOTE Role = 134 |
| Role_ROLE_PANE Role = 135 |
| Role_ROLE_PARAGRAPH Role = 136 |
| Role_ROLE_PDF_ACTIONABLE_HIGHLIGHT Role = 137 |
| Role_ROLE_PLUGIN_OBJECT Role = 138 |
| Role_ROLE_POP_UP_BUTTON Role = 139 |
| Role_ROLE_PORTAL Role = 140 |
| Role_ROLE_PRE Role = 141 |
| Role_ROLE_PRESENTATIONAL Role = 142 |
| Role_ROLE_PROGRESS_INDICATOR Role = 143 |
| Role_ROLE_RADIO_BUTTON Role = 144 |
| Role_ROLE_RADIO_GROUP Role = 145 |
| Role_ROLE_REGION Role = 146 |
| Role_ROLE_ROOT_WEB_AREA Role = 147 |
| Role_ROLE_ROW Role = 148 |
| Role_ROLE_ROW_GROUP Role = 149 |
| Role_ROLE_ROW_HEADER Role = 150 |
| Role_ROLE_RUBY Role = 151 |
| Role_ROLE_RUBY_ANNOTATION Role = 152 |
| Role_ROLE_SCROLL_BAR Role = 153 |
| Role_ROLE_SCROLL_VIEW Role = 154 |
| Role_ROLE_SEARCH Role = 155 |
| Role_ROLE_SEARCH_BOX Role = 156 |
| Role_ROLE_SECTION Role = 157 |
| Role_ROLE_SLIDER Role = 158 |
| Role_ROLE_SLIDER_THUMB Role = 159 |
| Role_ROLE_SPIN_BUTTON Role = 160 |
| Role_ROLE_SPLITTER Role = 161 |
| Role_ROLE_STATIC_TEXT Role = 162 |
| Role_ROLE_STATUS Role = 163 |
| Role_ROLE_STRONG Role = 164 |
| Role_ROLE_SUGGESTION Role = 165 |
| Role_ROLE_SVG_ROOT Role = 166 |
| Role_ROLE_SWITCH Role = 167 |
| Role_ROLE_TAB Role = 168 |
| Role_ROLE_TAB_LIST Role = 169 |
| Role_ROLE_TAB_PANEL Role = 170 |
| Role_ROLE_TABLE Role = 171 |
| Role_ROLE_TABLE_HEADER_CONTAINER Role = 172 |
| Role_ROLE_TERM Role = 173 |
| Role_ROLE_TEXT_FIELD Role = 174 |
| Role_ROLE_TEXT_FIELD_WITH_COMBO_BOX Role = 175 |
| Role_ROLE_TIME Role = 176 |
| Role_ROLE_TIMER Role = 177 |
| Role_ROLE_TITLE_BAR Role = 178 |
| Role_ROLE_TOGGLE_BUTTON Role = 179 |
| Role_ROLE_TOOLBAR Role = 180 |
| Role_ROLE_TOOLTIP Role = 181 |
| Role_ROLE_TREE Role = 182 |
| Role_ROLE_TREE_GRID Role = 183 |
| Role_ROLE_TREE_ITEM Role = 184 |
| Role_ROLE_UNKNOWN Role = 185 |
| Role_ROLE_VIDEO Role = 186 |
| Role_ROLE_WEB_AREA Role = 187 |
| Role_ROLE_WEB_VIEW Role = 188 |
| Role_ROLE_WINDOW Role = 189 |
| ) |
| |
| // Enum value maps for Role. |
| var ( |
| Role_name = map[int32]string{ |
| 0: "ROLE_UNSPECIFIED", |
| 1: "ROLE_ABBR", |
| 2: "ROLE_ALERT", |
| 3: "ROLE_ALERT_DIALOG", |
| 4: "ROLE_ANCHOR", |
| 5: "ROLE_APPLICATION", |
| 6: "ROLE_ARTICLE", |
| 7: "ROLE_AUDIO", |
| 8: "ROLE_BANNER", |
| 9: "ROLE_BLOCKQUOTE", |
| 10: "ROLE_BUTTON", |
| 11: "ROLE_CANVAS", |
| 12: "ROLE_CAPTION", |
| 13: "ROLE_CARET", |
| 14: "ROLE_CELL", |
| 15: "ROLE_CHECK_BOX", |
| 16: "ROLE_CLIENT", |
| 17: "ROLE_CODE", |
| 18: "ROLE_COLOR_WELL", |
| 19: "ROLE_COLUMN", |
| 20: "ROLE_COLUMN_HEADER", |
| 21: "ROLE_COMBO_BOX_GROUPING", |
| 22: "ROLE_COMBO_BOX_MENU_BUTTON", |
| 23: "ROLE_COMMENT", |
| 24: "ROLE_COMPLEMENTARY", |
| 25: "ROLE_CONTENT_DELETION", |
| 26: "ROLE_CONTENT_INSERTION", |
| 27: "ROLE_CONTENT_INFO", |
| 28: "ROLE_DATE", |
| 29: "ROLE_DATE_TIME", |
| 30: "ROLE_DEFINITION", |
| 31: "ROLE_DESCRIPTION_LIST", |
| 32: "ROLE_DESCRIPTION_LIST_DETAIL", |
| 33: "ROLE_DESCRIPTION_LIST_TERM", |
| 34: "ROLE_DESKTOP", |
| 35: "ROLE_DETAILS", |
| 36: "ROLE_DIALOG", |
| 37: "ROLE_DIRECTORY", |
| 38: "ROLE_DISCLOSURE_TRIANGLE", |
| 39: "ROLE_DOC_ABSTRACT", |
| 40: "ROLE_DOC_ACKNOWLEDGMENTS", |
| 41: "ROLE_DOC_AFTERWORD", |
| 42: "ROLE_DOC_APPENDIX", |
| 43: "ROLE_DOC_BACK_LINK", |
| 44: "ROLE_DOC_BIBLIO_ENTRY", |
| 45: "ROLE_DOC_BIBLIOGRAPHY", |
| 46: "ROLE_DOC_BIBLIO_REF", |
| 47: "ROLE_DOC_CHAPTER", |
| 48: "ROLE_DOC_COLOPHON", |
| 49: "ROLE_DOC_CONCLUSION", |
| 50: "ROLE_DOC_COVER", |
| 51: "ROLE_DOC_CREDIT", |
| 52: "ROLE_DOC_CREDITS", |
| 53: "ROLE_DOC_DEDICATION", |
| 54: "ROLE_DOC_ENDNOTE", |
| 55: "ROLE_DOC_ENDNOTES", |
| 56: "ROLE_DOC_EPIGRAPH", |
| 57: "ROLE_DOC_EPILOGUE", |
| 58: "ROLE_DOC_ERRATA", |
| 59: "ROLE_DOC_EXAMPLE", |
| 60: "ROLE_DOC_FOOTNOTE", |
| 61: "ROLE_DOC_FOREWORD", |
| 62: "ROLE_DOC_GLOSSARY", |
| 63: "ROLE_DOC_GLOSS_REF", |
| 64: "ROLE_DOC_INDEX", |
| 65: "ROLE_DOC_INTRODUCTION", |
| 66: "ROLE_DOC_NOTE_REF", |
| 67: "ROLE_DOC_NOTICE", |
| 68: "ROLE_DOC_PAGE_BREAK", |
| 69: "ROLE_DOC_PAGE_FOOTER", |
| 70: "ROLE_DOC_PAGE_HEADER", |
| 71: "ROLE_DOC_PAGE_LIST", |
| 72: "ROLE_DOC_PART", |
| 73: "ROLE_DOC_PREFACE", |
| 74: "ROLE_DOC_PROLOGUE", |
| 75: "ROLE_DOC_PULLQUOTE", |
| 76: "ROLE_DOC_QNA", |
| 77: "ROLE_DOC_SUBTITLE", |
| 78: "ROLE_DOC_TIP", |
| 79: "ROLE_DOC_TOC", |
| 80: "ROLE_DOCUMENT", |
| 81: "ROLE_EMBEDDED_OBJECT", |
| 82: "ROLE_EMPHASIS", |
| 83: "ROLE_FEED", |
| 84: "ROLE_FIGCAPTION", |
| 85: "ROLE_FIGURE", |
| 86: "ROLE_FOOTER", |
| 87: "ROLE_FOOTER_AS_NON_LANDMARK", |
| 88: "ROLE_FORM", |
| 89: "ROLE_GENERIC_CONTAINER", |
| 90: "ROLE_GRAPHICS_DOCUMENT", |
| 91: "ROLE_GRAPHICS_OBJECT", |
| 92: "ROLE_GRAPHICS_SYMBOL", |
| 93: "ROLE_GRID", |
| 94: "ROLE_GROUP", |
| 95: "ROLE_HEADER", |
| 96: "ROLE_HEADER_AS_NON_LANDMARK", |
| 97: "ROLE_HEADING", |
| 98: "ROLE_IFRAME", |
| 99: "ROLE_IFRAME_PRESENTATIONAL", |
| 100: "ROLE_IGNORED", |
| 101: "ROLE_IMAGE", |
| 102: "ROLE_IMAGE_MAP", |
| 103: "ROLE_IME_CANDIDATE", |
| 104: "ROLE_INLINE_TEXT_BOX", |
| 105: "ROLE_INPUT_TIME", |
| 106: "ROLE_KEYBOARD", |
| 107: "ROLE_LABEL_TEXT", |
| 108: "ROLE_LAYOUT_TABLE", |
| 109: "ROLE_LAYOUT_TABLE_CELL", |
| 110: "ROLE_LAYOUT_TABLE_ROW", |
| 111: "ROLE_LEGEND", |
| 112: "ROLE_LINE_BREAK", |
| 113: "ROLE_LINK", |
| 114: "ROLE_LIST", |
| 115: "ROLE_LIST_BOX", |
| 116: "ROLE_LIST_BOX_OPTION", |
| 117: "ROLE_LIST_GRID", |
| 118: "ROLE_LIST_ITEM", |
| 119: "ROLE_LIST_MARKER", |
| 120: "ROLE_LOG", |
| 121: "ROLE_MAIN", |
| 122: "ROLE_MARK", |
| 123: "ROLE_MARQUEE", |
| 124: "ROLE_MATH", |
| 125: "ROLE_MENU", |
| 126: "ROLE_MENU_BAR", |
| 127: "ROLE_MENU_ITEM", |
| 128: "ROLE_MENU_ITEM_CHECK_BOX", |
| 129: "ROLE_MENU_ITEM_RADIO", |
| 130: "ROLE_MENU_LIST_OPTION", |
| 131: "ROLE_MENU_LIST_POPUP", |
| 132: "ROLE_METER", |
| 133: "ROLE_NAVIGATION", |
| 134: "ROLE_NOTE", |
| 135: "ROLE_PANE", |
| 136: "ROLE_PARAGRAPH", |
| 137: "ROLE_PDF_ACTIONABLE_HIGHLIGHT", |
| 138: "ROLE_PLUGIN_OBJECT", |
| 139: "ROLE_POP_UP_BUTTON", |
| 140: "ROLE_PORTAL", |
| 141: "ROLE_PRE", |
| 142: "ROLE_PRESENTATIONAL", |
| 143: "ROLE_PROGRESS_INDICATOR", |
| 144: "ROLE_RADIO_BUTTON", |
| 145: "ROLE_RADIO_GROUP", |
| 146: "ROLE_REGION", |
| 147: "ROLE_ROOT_WEB_AREA", |
| 148: "ROLE_ROW", |
| 149: "ROLE_ROW_GROUP", |
| 150: "ROLE_ROW_HEADER", |
| 151: "ROLE_RUBY", |
| 152: "ROLE_RUBY_ANNOTATION", |
| 153: "ROLE_SCROLL_BAR", |
| 154: "ROLE_SCROLL_VIEW", |
| 155: "ROLE_SEARCH", |
| 156: "ROLE_SEARCH_BOX", |
| 157: "ROLE_SECTION", |
| 158: "ROLE_SLIDER", |
| 159: "ROLE_SLIDER_THUMB", |
| 160: "ROLE_SPIN_BUTTON", |
| 161: "ROLE_SPLITTER", |
| 162: "ROLE_STATIC_TEXT", |
| 163: "ROLE_STATUS", |
| 164: "ROLE_STRONG", |
| 165: "ROLE_SUGGESTION", |
| 166: "ROLE_SVG_ROOT", |
| 167: "ROLE_SWITCH", |
| 168: "ROLE_TAB", |
| 169: "ROLE_TAB_LIST", |
| 170: "ROLE_TAB_PANEL", |
| 171: "ROLE_TABLE", |
| 172: "ROLE_TABLE_HEADER_CONTAINER", |
| 173: "ROLE_TERM", |
| 174: "ROLE_TEXT_FIELD", |
| 175: "ROLE_TEXT_FIELD_WITH_COMBO_BOX", |
| 176: "ROLE_TIME", |
| 177: "ROLE_TIMER", |
| 178: "ROLE_TITLE_BAR", |
| 179: "ROLE_TOGGLE_BUTTON", |
| 180: "ROLE_TOOLBAR", |
| 181: "ROLE_TOOLTIP", |
| 182: "ROLE_TREE", |
| 183: "ROLE_TREE_GRID", |
| 184: "ROLE_TREE_ITEM", |
| 185: "ROLE_UNKNOWN", |
| 186: "ROLE_VIDEO", |
| 187: "ROLE_WEB_AREA", |
| 188: "ROLE_WEB_VIEW", |
| 189: "ROLE_WINDOW", |
| } |
| Role_value = map[string]int32{ |
| "ROLE_UNSPECIFIED": 0, |
| "ROLE_ABBR": 1, |
| "ROLE_ALERT": 2, |
| "ROLE_ALERT_DIALOG": 3, |
| "ROLE_ANCHOR": 4, |
| "ROLE_APPLICATION": 5, |
| "ROLE_ARTICLE": 6, |
| "ROLE_AUDIO": 7, |
| "ROLE_BANNER": 8, |
| "ROLE_BLOCKQUOTE": 9, |
| "ROLE_BUTTON": 10, |
| "ROLE_CANVAS": 11, |
| "ROLE_CAPTION": 12, |
| "ROLE_CARET": 13, |
| "ROLE_CELL": 14, |
| "ROLE_CHECK_BOX": 15, |
| "ROLE_CLIENT": 16, |
| "ROLE_CODE": 17, |
| "ROLE_COLOR_WELL": 18, |
| "ROLE_COLUMN": 19, |
| "ROLE_COLUMN_HEADER": 20, |
| "ROLE_COMBO_BOX_GROUPING": 21, |
| "ROLE_COMBO_BOX_MENU_BUTTON": 22, |
| "ROLE_COMMENT": 23, |
| "ROLE_COMPLEMENTARY": 24, |
| "ROLE_CONTENT_DELETION": 25, |
| "ROLE_CONTENT_INSERTION": 26, |
| "ROLE_CONTENT_INFO": 27, |
| "ROLE_DATE": 28, |
| "ROLE_DATE_TIME": 29, |
| "ROLE_DEFINITION": 30, |
| "ROLE_DESCRIPTION_LIST": 31, |
| "ROLE_DESCRIPTION_LIST_DETAIL": 32, |
| "ROLE_DESCRIPTION_LIST_TERM": 33, |
| "ROLE_DESKTOP": 34, |
| "ROLE_DETAILS": 35, |
| "ROLE_DIALOG": 36, |
| "ROLE_DIRECTORY": 37, |
| "ROLE_DISCLOSURE_TRIANGLE": 38, |
| "ROLE_DOC_ABSTRACT": 39, |
| "ROLE_DOC_ACKNOWLEDGMENTS": 40, |
| "ROLE_DOC_AFTERWORD": 41, |
| "ROLE_DOC_APPENDIX": 42, |
| "ROLE_DOC_BACK_LINK": 43, |
| "ROLE_DOC_BIBLIO_ENTRY": 44, |
| "ROLE_DOC_BIBLIOGRAPHY": 45, |
| "ROLE_DOC_BIBLIO_REF": 46, |
| "ROLE_DOC_CHAPTER": 47, |
| "ROLE_DOC_COLOPHON": 48, |
| "ROLE_DOC_CONCLUSION": 49, |
| "ROLE_DOC_COVER": 50, |
| "ROLE_DOC_CREDIT": 51, |
| "ROLE_DOC_CREDITS": 52, |
| "ROLE_DOC_DEDICATION": 53, |
| "ROLE_DOC_ENDNOTE": 54, |
| "ROLE_DOC_ENDNOTES": 55, |
| "ROLE_DOC_EPIGRAPH": 56, |
| "ROLE_DOC_EPILOGUE": 57, |
| "ROLE_DOC_ERRATA": 58, |
| "ROLE_DOC_EXAMPLE": 59, |
| "ROLE_DOC_FOOTNOTE": 60, |
| "ROLE_DOC_FOREWORD": 61, |
| "ROLE_DOC_GLOSSARY": 62, |
| "ROLE_DOC_GLOSS_REF": 63, |
| "ROLE_DOC_INDEX": 64, |
| "ROLE_DOC_INTRODUCTION": 65, |
| "ROLE_DOC_NOTE_REF": 66, |
| "ROLE_DOC_NOTICE": 67, |
| "ROLE_DOC_PAGE_BREAK": 68, |
| "ROLE_DOC_PAGE_FOOTER": 69, |
| "ROLE_DOC_PAGE_HEADER": 70, |
| "ROLE_DOC_PAGE_LIST": 71, |
| "ROLE_DOC_PART": 72, |
| "ROLE_DOC_PREFACE": 73, |
| "ROLE_DOC_PROLOGUE": 74, |
| "ROLE_DOC_PULLQUOTE": 75, |
| "ROLE_DOC_QNA": 76, |
| "ROLE_DOC_SUBTITLE": 77, |
| "ROLE_DOC_TIP": 78, |
| "ROLE_DOC_TOC": 79, |
| "ROLE_DOCUMENT": 80, |
| "ROLE_EMBEDDED_OBJECT": 81, |
| "ROLE_EMPHASIS": 82, |
| "ROLE_FEED": 83, |
| "ROLE_FIGCAPTION": 84, |
| "ROLE_FIGURE": 85, |
| "ROLE_FOOTER": 86, |
| "ROLE_FOOTER_AS_NON_LANDMARK": 87, |
| "ROLE_FORM": 88, |
| "ROLE_GENERIC_CONTAINER": 89, |
| "ROLE_GRAPHICS_DOCUMENT": 90, |
| "ROLE_GRAPHICS_OBJECT": 91, |
| "ROLE_GRAPHICS_SYMBOL": 92, |
| "ROLE_GRID": 93, |
| "ROLE_GROUP": 94, |
| "ROLE_HEADER": 95, |
| "ROLE_HEADER_AS_NON_LANDMARK": 96, |
| "ROLE_HEADING": 97, |
| "ROLE_IFRAME": 98, |
| "ROLE_IFRAME_PRESENTATIONAL": 99, |
| "ROLE_IGNORED": 100, |
| "ROLE_IMAGE": 101, |
| "ROLE_IMAGE_MAP": 102, |
| "ROLE_IME_CANDIDATE": 103, |
| "ROLE_INLINE_TEXT_BOX": 104, |
| "ROLE_INPUT_TIME": 105, |
| "ROLE_KEYBOARD": 106, |
| "ROLE_LABEL_TEXT": 107, |
| "ROLE_LAYOUT_TABLE": 108, |
| "ROLE_LAYOUT_TABLE_CELL": 109, |
| "ROLE_LAYOUT_TABLE_ROW": 110, |
| "ROLE_LEGEND": 111, |
| "ROLE_LINE_BREAK": 112, |
| "ROLE_LINK": 113, |
| "ROLE_LIST": 114, |
| "ROLE_LIST_BOX": 115, |
| "ROLE_LIST_BOX_OPTION": 116, |
| "ROLE_LIST_GRID": 117, |
| "ROLE_LIST_ITEM": 118, |
| "ROLE_LIST_MARKER": 119, |
| "ROLE_LOG": 120, |
| "ROLE_MAIN": 121, |
| "ROLE_MARK": 122, |
| "ROLE_MARQUEE": 123, |
| "ROLE_MATH": 124, |
| "ROLE_MENU": 125, |
| "ROLE_MENU_BAR": 126, |
| "ROLE_MENU_ITEM": 127, |
| "ROLE_MENU_ITEM_CHECK_BOX": 128, |
| "ROLE_MENU_ITEM_RADIO": 129, |
| "ROLE_MENU_LIST_OPTION": 130, |
| "ROLE_MENU_LIST_POPUP": 131, |
| "ROLE_METER": 132, |
| "ROLE_NAVIGATION": 133, |
| "ROLE_NOTE": 134, |
| "ROLE_PANE": 135, |
| "ROLE_PARAGRAPH": 136, |
| "ROLE_PDF_ACTIONABLE_HIGHLIGHT": 137, |
| "ROLE_PLUGIN_OBJECT": 138, |
| "ROLE_POP_UP_BUTTON": 139, |
| "ROLE_PORTAL": 140, |
| "ROLE_PRE": 141, |
| "ROLE_PRESENTATIONAL": 142, |
| "ROLE_PROGRESS_INDICATOR": 143, |
| "ROLE_RADIO_BUTTON": 144, |
| "ROLE_RADIO_GROUP": 145, |
| "ROLE_REGION": 146, |
| "ROLE_ROOT_WEB_AREA": 147, |
| "ROLE_ROW": 148, |
| "ROLE_ROW_GROUP": 149, |
| "ROLE_ROW_HEADER": 150, |
| "ROLE_RUBY": 151, |
| "ROLE_RUBY_ANNOTATION": 152, |
| "ROLE_SCROLL_BAR": 153, |
| "ROLE_SCROLL_VIEW": 154, |
| "ROLE_SEARCH": 155, |
| "ROLE_SEARCH_BOX": 156, |
| "ROLE_SECTION": 157, |
| "ROLE_SLIDER": 158, |
| "ROLE_SLIDER_THUMB": 159, |
| "ROLE_SPIN_BUTTON": 160, |
| "ROLE_SPLITTER": 161, |
| "ROLE_STATIC_TEXT": 162, |
| "ROLE_STATUS": 163, |
| "ROLE_STRONG": 164, |
| "ROLE_SUGGESTION": 165, |
| "ROLE_SVG_ROOT": 166, |
| "ROLE_SWITCH": 167, |
| "ROLE_TAB": 168, |
| "ROLE_TAB_LIST": 169, |
| "ROLE_TAB_PANEL": 170, |
| "ROLE_TABLE": 171, |
| "ROLE_TABLE_HEADER_CONTAINER": 172, |
| "ROLE_TERM": 173, |
| "ROLE_TEXT_FIELD": 174, |
| "ROLE_TEXT_FIELD_WITH_COMBO_BOX": 175, |
| "ROLE_TIME": 176, |
| "ROLE_TIMER": 177, |
| "ROLE_TITLE_BAR": 178, |
| "ROLE_TOGGLE_BUTTON": 179, |
| "ROLE_TOOLBAR": 180, |
| "ROLE_TOOLTIP": 181, |
| "ROLE_TREE": 182, |
| "ROLE_TREE_GRID": 183, |
| "ROLE_TREE_ITEM": 184, |
| "ROLE_UNKNOWN": 185, |
| "ROLE_VIDEO": 186, |
| "ROLE_WEB_AREA": 187, |
| "ROLE_WEB_VIEW": 188, |
| "ROLE_WINDOW": 189, |
| } |
| ) |
| |
| func (x Role) Enum() *Role { |
| p := new(Role) |
| *p = x |
| return p |
| } |
| |
| func (x Role) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Role) Descriptor() protoreflect.EnumDescriptor { |
| return file_automation_service_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (Role) Type() protoreflect.EnumType { |
| return &file_automation_service_proto_enumTypes[4] |
| } |
| |
| func (x Role) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Role.Descriptor instead. |
| func (Role) EnumDescriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{4} |
| } |
| |
| type LeftClickRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Finder *Finder `protobuf:"bytes,1,opt,name=finder,proto3" json:"finder,omitempty"` |
| } |
| |
| func (x *LeftClickRequest) Reset() { |
| *x = LeftClickRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *LeftClickRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*LeftClickRequest) ProtoMessage() {} |
| |
| func (x *LeftClickRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use LeftClickRequest.ProtoReflect.Descriptor instead. |
| func (*LeftClickRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *LeftClickRequest) GetFinder() *Finder { |
| if x != nil { |
| return x.Finder |
| } |
| return nil |
| } |
| |
| type RightClickRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Finder *Finder `protobuf:"bytes,1,opt,name=finder,proto3" json:"finder,omitempty"` |
| } |
| |
| func (x *RightClickRequest) Reset() { |
| *x = RightClickRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RightClickRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RightClickRequest) ProtoMessage() {} |
| |
| func (x *RightClickRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RightClickRequest.ProtoReflect.Descriptor instead. |
| func (*RightClickRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *RightClickRequest) GetFinder() *Finder { |
| if x != nil { |
| return x.Finder |
| } |
| return nil |
| } |
| |
| type DoubleClickRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Finder *Finder `protobuf:"bytes,1,opt,name=finder,proto3" json:"finder,omitempty"` |
| } |
| |
| func (x *DoubleClickRequest) Reset() { |
| *x = DoubleClickRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DoubleClickRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DoubleClickRequest) ProtoMessage() {} |
| |
| func (x *DoubleClickRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DoubleClickRequest.ProtoReflect.Descriptor instead. |
| func (*DoubleClickRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *DoubleClickRequest) GetFinder() *Finder { |
| if x != nil { |
| return x.Finder |
| } |
| return nil |
| } |
| |
| type IsNodeFoundRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Finder *Finder `protobuf:"bytes,1,opt,name=finder,proto3" json:"finder,omitempty"` |
| } |
| |
| func (x *IsNodeFoundRequest) Reset() { |
| *x = IsNodeFoundRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *IsNodeFoundRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*IsNodeFoundRequest) ProtoMessage() {} |
| |
| func (x *IsNodeFoundRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use IsNodeFoundRequest.ProtoReflect.Descriptor instead. |
| func (*IsNodeFoundRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *IsNodeFoundRequest) GetFinder() *Finder { |
| if x != nil { |
| return x.Finder |
| } |
| return nil |
| } |
| |
| type IsNodeFoundResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Found bool `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"` |
| } |
| |
| func (x *IsNodeFoundResponse) Reset() { |
| *x = IsNodeFoundResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *IsNodeFoundResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*IsNodeFoundResponse) ProtoMessage() {} |
| |
| func (x *IsNodeFoundResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use IsNodeFoundResponse.ProtoReflect.Descriptor instead. |
| func (*IsNodeFoundResponse) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *IsNodeFoundResponse) GetFound() bool { |
| if x != nil { |
| return x.Found |
| } |
| return false |
| } |
| |
| type MouseClickAtLocationRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ClickType describes how user clicks mouse. |
| ClickType ClickType `protobuf:"varint,1,opt,name=click_type,json=clickType,proto3,enum=tast.cros.ui.ClickType" json:"click_type,omitempty"` |
| // Point is the coordinates for the click. |
| Point *Point `protobuf:"bytes,2,opt,name=point,proto3" json:"point,omitempty"` |
| } |
| |
| func (x *MouseClickAtLocationRequest) Reset() { |
| *x = MouseClickAtLocationRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *MouseClickAtLocationRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*MouseClickAtLocationRequest) ProtoMessage() {} |
| |
| func (x *MouseClickAtLocationRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use MouseClickAtLocationRequest.ProtoReflect.Descriptor instead. |
| func (*MouseClickAtLocationRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *MouseClickAtLocationRequest) GetClickType() ClickType { |
| if x != nil { |
| return x.ClickType |
| } |
| return ClickType_CLICK_TYPE_UNSPECIFIED |
| } |
| |
| func (x *MouseClickAtLocationRequest) GetPoint() *Point { |
| if x != nil { |
| return x.Point |
| } |
| return nil |
| } |
| |
| type WaitUntilExistsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Finder *Finder `protobuf:"bytes,1,opt,name=finder,proto3" json:"finder,omitempty"` |
| } |
| |
| func (x *WaitUntilExistsRequest) Reset() { |
| *x = WaitUntilExistsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *WaitUntilExistsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*WaitUntilExistsRequest) ProtoMessage() {} |
| |
| func (x *WaitUntilExistsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use WaitUntilExistsRequest.ProtoReflect.Descriptor instead. |
| func (*WaitUntilExistsRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *WaitUntilExistsRequest) GetFinder() *Finder { |
| if x != nil { |
| return x.Finder |
| } |
| return nil |
| } |
| |
| type InfoRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Finder *Finder `protobuf:"bytes,1,opt,name=finder,proto3" json:"finder,omitempty"` |
| } |
| |
| func (x *InfoRequest) Reset() { |
| *x = InfoRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *InfoRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*InfoRequest) ProtoMessage() {} |
| |
| func (x *InfoRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use InfoRequest.ProtoReflect.Descriptor instead. |
| func (*InfoRequest) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *InfoRequest) GetFinder() *Finder { |
| if x != nil { |
| return x.Finder |
| } |
| return nil |
| } |
| |
| type InfoResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| NodeInfo *NodeInfo `protobuf:"bytes,1,opt,name=node_info,json=nodeInfo,proto3" json:"node_info,omitempty"` |
| } |
| |
| func (x *InfoResponse) Reset() { |
| *x = InfoResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *InfoResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*InfoResponse) ProtoMessage() {} |
| |
| func (x *InfoResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use InfoResponse.ProtoReflect.Descriptor instead. |
| func (*InfoResponse) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *InfoResponse) GetNodeInfo() *NodeInfo { |
| if x != nil { |
| return x.NodeInfo |
| } |
| return nil |
| } |
| |
| // NodeInfo is a wrapper around chrome.automation API AutomationNode. |
| // As defined in |
| // https://chromium.googlesource.com/chromium/src/+/refs/heads/main/extensions/common/api/automation.idl |
| type NodeInfo struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Checked contains Tri-state value describing checkbox or radio button: |
| // 'false' | 'true' | 'mixed'. |
| Checked Checked `protobuf:"varint,1,opt,name=checked,proto3,enum=tast.cros.ui.Checked" json:"checked,omitempty"` |
| // ClassName is the name of the programmatic backing object. |
| ClassName string `protobuf:"bytes,2,opt,name=class_name,json=className,proto3" json:"class_name,omitempty"` |
| // HtmlAttribute is a map containing all HTML attributes and their values. |
| HtmlAttributes map[string]string `protobuf:"bytes,3,rep,name=html_attributes,json=htmlAttributes,proto3" json:"html_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Location is the rendered location of the bounding of the node in global |
| // screen coordinates. |
| Location *Rect `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` |
| // Name is the accessible name for the node |
| Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` |
| // Restriction controls input restriction |
| Restriction Restriction `protobuf:"varint,6,opt,name=restriction,proto3,enum=tast.cros.ui.Restriction" json:"restriction,omitempty"` |
| // Role describes the purpose of the node |
| Role Role `protobuf:"varint,7,opt,name=role,proto3,enum=tast.cros.ui.Role" json:"role,omitempty"` |
| // State describes the characteristics of the node |
| // As defined in |
| // https://developer.chrome.com/docs/extensions/reference/automation/#type-StateType |
| State map[string]bool `protobuf:"bytes,8,rep,name=state,proto3" json:"state,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` |
| // Value for this node: for example the value attribute of an <input> element. |
| Value string `protobuf:"bytes,9,opt,name=value,proto3" json:"value,omitempty"` |
| } |
| |
| func (x *NodeInfo) Reset() { |
| *x = NodeInfo{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *NodeInfo) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*NodeInfo) ProtoMessage() {} |
| |
| func (x *NodeInfo) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead. |
| func (*NodeInfo) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *NodeInfo) GetChecked() Checked { |
| if x != nil { |
| return x.Checked |
| } |
| return Checked_CHECKED_UNSPECIFIED |
| } |
| |
| func (x *NodeInfo) GetClassName() string { |
| if x != nil { |
| return x.ClassName |
| } |
| return "" |
| } |
| |
| func (x *NodeInfo) GetHtmlAttributes() map[string]string { |
| if x != nil { |
| return x.HtmlAttributes |
| } |
| return nil |
| } |
| |
| func (x *NodeInfo) GetLocation() *Rect { |
| if x != nil { |
| return x.Location |
| } |
| return nil |
| } |
| |
| func (x *NodeInfo) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *NodeInfo) GetRestriction() Restriction { |
| if x != nil { |
| return x.Restriction |
| } |
| return Restriction_RESTRICTION_UNSPECIFIED |
| } |
| |
| func (x *NodeInfo) GetRole() Role { |
| if x != nil { |
| return x.Role |
| } |
| return Role_ROLE_UNSPECIFIED |
| } |
| |
| func (x *NodeInfo) GetState() map[string]bool { |
| if x != nil { |
| return x.State |
| } |
| return nil |
| } |
| |
| func (x *NodeInfo) GetValue() string { |
| if x != nil { |
| return x.Value |
| } |
| return "" |
| } |
| |
| // Finder is a wrapper around chrome.automation.FindParams to Golang with a |
| // nicer API. As defined in |
| // https://chromium.googlesource.com/chromium/src/+/refs/heads/main/extensions/common/api/automation.idl |
| type Finder struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // NodeWiths contain the conditions of the finder |
| NodeWiths []*NodeWith `protobuf:"bytes,1,rep,name=node_withs,json=nodeWiths,proto3" json:"node_withs,omitempty"` |
| } |
| |
| func (x *Finder) Reset() { |
| *x = Finder{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Finder) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Finder) ProtoMessage() {} |
| |
| func (x *Finder) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Finder.ProtoReflect.Descriptor instead. |
| func (*Finder) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *Finder) GetNodeWiths() []*NodeWith { |
| if x != nil { |
| return x.NodeWiths |
| } |
| return nil |
| } |
| |
| // NodeInfo specifies a condition for finding nodes |
| type NodeWith struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Types that are assignable to Value: |
| // *NodeWith_HasClass |
| // *NodeWith_Name |
| // *NodeWith_Role |
| // *NodeWith_Nth |
| // *NodeWith_AutofillAvailable |
| // *NodeWith_Collapsed |
| // *NodeWith_IsDefault |
| // *NodeWith_Editable |
| // *NodeWith_Expanded |
| // *NodeWith_Focusable |
| // *NodeWith_Focused |
| // *NodeWith_Horizontal |
| // *NodeWith_Hovered |
| // *NodeWith_Ignored |
| // *NodeWith_Invisible |
| // *NodeWith_Linked |
| // *NodeWith_Multiline |
| // *NodeWith_Multiselectable |
| // *NodeWith_Offscreen |
| // *NodeWith_IsProtected |
| // *NodeWith_Required |
| // *NodeWith_RichlyEditable |
| // *NodeWith_Vertical |
| // *NodeWith_Visited |
| // *NodeWith_Visible |
| // *NodeWith_Onscreen |
| // *NodeWith_First |
| // *NodeWith_Root |
| // *NodeWith_NameRegex |
| // *NodeWith_NameStartingWith |
| // *NodeWith_NameContaining |
| // *NodeWith_State |
| // *NodeWith_Ancestor |
| Value isNodeWith_Value `protobuf_oneof:"value"` |
| } |
| |
| func (x *NodeWith) Reset() { |
| *x = NodeWith{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *NodeWith) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*NodeWith) ProtoMessage() {} |
| |
| func (x *NodeWith) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use NodeWith.ProtoReflect.Descriptor instead. |
| func (*NodeWith) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (m *NodeWith) GetValue() isNodeWith_Value { |
| if m != nil { |
| return m.Value |
| } |
| return nil |
| } |
| |
| func (x *NodeWith) GetHasClass() string { |
| if x, ok := x.GetValue().(*NodeWith_HasClass); ok { |
| return x.HasClass |
| } |
| return "" |
| } |
| |
| func (x *NodeWith) GetName() string { |
| if x, ok := x.GetValue().(*NodeWith_Name); ok { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *NodeWith) GetRole() Role { |
| if x, ok := x.GetValue().(*NodeWith_Role); ok { |
| return x.Role |
| } |
| return Role_ROLE_UNSPECIFIED |
| } |
| |
| func (x *NodeWith) GetNth() int32 { |
| if x, ok := x.GetValue().(*NodeWith_Nth); ok { |
| return x.Nth |
| } |
| return 0 |
| } |
| |
| func (x *NodeWith) GetAutofillAvailable() bool { |
| if x, ok := x.GetValue().(*NodeWith_AutofillAvailable); ok { |
| return x.AutofillAvailable |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetCollapsed() bool { |
| if x, ok := x.GetValue().(*NodeWith_Collapsed); ok { |
| return x.Collapsed |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetIsDefault() bool { |
| if x, ok := x.GetValue().(*NodeWith_IsDefault); ok { |
| return x.IsDefault |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetEditable() bool { |
| if x, ok := x.GetValue().(*NodeWith_Editable); ok { |
| return x.Editable |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetExpanded() bool { |
| if x, ok := x.GetValue().(*NodeWith_Expanded); ok { |
| return x.Expanded |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetFocusable() bool { |
| if x, ok := x.GetValue().(*NodeWith_Focusable); ok { |
| return x.Focusable |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetFocused() bool { |
| if x, ok := x.GetValue().(*NodeWith_Focused); ok { |
| return x.Focused |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetHorizontal() bool { |
| if x, ok := x.GetValue().(*NodeWith_Horizontal); ok { |
| return x.Horizontal |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetHovered() bool { |
| if x, ok := x.GetValue().(*NodeWith_Hovered); ok { |
| return x.Hovered |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetIgnored() bool { |
| if x, ok := x.GetValue().(*NodeWith_Ignored); ok { |
| return x.Ignored |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetInvisible() bool { |
| if x, ok := x.GetValue().(*NodeWith_Invisible); ok { |
| return x.Invisible |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetLinked() bool { |
| if x, ok := x.GetValue().(*NodeWith_Linked); ok { |
| return x.Linked |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetMultiline() bool { |
| if x, ok := x.GetValue().(*NodeWith_Multiline); ok { |
| return x.Multiline |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetMultiselectable() bool { |
| if x, ok := x.GetValue().(*NodeWith_Multiselectable); ok { |
| return x.Multiselectable |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetOffscreen() bool { |
| if x, ok := x.GetValue().(*NodeWith_Offscreen); ok { |
| return x.Offscreen |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetIsProtected() bool { |
| if x, ok := x.GetValue().(*NodeWith_IsProtected); ok { |
| return x.IsProtected |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetRequired() bool { |
| if x, ok := x.GetValue().(*NodeWith_Required); ok { |
| return x.Required |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetRichlyEditable() bool { |
| if x, ok := x.GetValue().(*NodeWith_RichlyEditable); ok { |
| return x.RichlyEditable |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetVertical() bool { |
| if x, ok := x.GetValue().(*NodeWith_Vertical); ok { |
| return x.Vertical |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetVisited() bool { |
| if x, ok := x.GetValue().(*NodeWith_Visited); ok { |
| return x.Visited |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetVisible() bool { |
| if x, ok := x.GetValue().(*NodeWith_Visible); ok { |
| return x.Visible |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetOnscreen() bool { |
| if x, ok := x.GetValue().(*NodeWith_Onscreen); ok { |
| return x.Onscreen |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetFirst() bool { |
| if x, ok := x.GetValue().(*NodeWith_First); ok { |
| return x.First |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetRoot() bool { |
| if x, ok := x.GetValue().(*NodeWith_Root); ok { |
| return x.Root |
| } |
| return false |
| } |
| |
| func (x *NodeWith) GetNameRegex() string { |
| if x, ok := x.GetValue().(*NodeWith_NameRegex); ok { |
| return x.NameRegex |
| } |
| return "" |
| } |
| |
| func (x *NodeWith) GetNameStartingWith() string { |
| if x, ok := x.GetValue().(*NodeWith_NameStartingWith); ok { |
| return x.NameStartingWith |
| } |
| return "" |
| } |
| |
| func (x *NodeWith) GetNameContaining() string { |
| if x, ok := x.GetValue().(*NodeWith_NameContaining); ok { |
| return x.NameContaining |
| } |
| return "" |
| } |
| |
| func (x *NodeWith) GetState() *NodeWith_StateValue { |
| if x, ok := x.GetValue().(*NodeWith_State); ok { |
| return x.State |
| } |
| return nil |
| } |
| |
| func (x *NodeWith) GetAncestor() *Finder { |
| if x, ok := x.GetValue().(*NodeWith_Ancestor); ok { |
| return x.Ancestor |
| } |
| return nil |
| } |
| |
| type isNodeWith_Value interface { |
| isNodeWith_Value() |
| } |
| |
| type NodeWith_HasClass struct { |
| // creates a condition with ClassName containing the specified value. |
| HasClass string `protobuf:"bytes,1,opt,name=has_class,json=hasClass,proto3,oneof"` |
| } |
| |
| type NodeWith_Name struct { |
| // creates a condition with the specified name. |
| Name string `protobuf:"bytes,2,opt,name=name,proto3,oneof"` |
| } |
| |
| type NodeWith_Role struct { |
| // creates a condition with the specified role. |
| Role Role `protobuf:"varint,3,opt,name=role,proto3,enum=tast.cros.ui.Role,oneof"` |
| } |
| |
| type NodeWith_Nth struct { |
| // creates a condition that will find the n-th node in the matched nodes of |
| // the Finder, instead of requiring uniqueness. |
| Nth int32 `protobuf:"varint,4,opt,name=nth,proto3,oneof"` |
| } |
| |
| type NodeWith_AutofillAvailable struct { |
| // creates a condition with AutofillAvailable set to true. |
| AutofillAvailable bool `protobuf:"varint,5,opt,name=autofill_available,json=autofillAvailable,proto3,oneof"` |
| } |
| |
| type NodeWith_Collapsed struct { |
| // creates a condition with Collapsed set to true. |
| Collapsed bool `protobuf:"varint,6,opt,name=collapsed,proto3,oneof"` |
| } |
| |
| type NodeWith_IsDefault struct { |
| // creates a condition with Default set to true. |
| // Note that the underlying field is "default". It is deemed to be unsafe |
| // by proto static analysis for potential keyword conflict with programming |
| // languages, so the field is renamed "is_default". |
| IsDefault bool `protobuf:"varint,7,opt,name=is_default,json=isDefault,proto3,oneof"` |
| } |
| |
| type NodeWith_Editable struct { |
| // creates a condition with Editable set to true. |
| Editable bool `protobuf:"varint,8,opt,name=editable,proto3,oneof"` |
| } |
| |
| type NodeWith_Expanded struct { |
| // creates a condition with Expanded set to true. |
| Expanded bool `protobuf:"varint,9,opt,name=expanded,proto3,oneof"` |
| } |
| |
| type NodeWith_Focusable struct { |
| // creates a condition with Focusable set to true. |
| Focusable bool `protobuf:"varint,10,opt,name=focusable,proto3,oneof"` |
| } |
| |
| type NodeWith_Focused struct { |
| // creates a condition with Focused set to true. |
| Focused bool `protobuf:"varint,11,opt,name=focused,proto3,oneof"` |
| } |
| |
| type NodeWith_Horizontal struct { |
| // creates a condition with Horizontal set to true. |
| Horizontal bool `protobuf:"varint,12,opt,name=horizontal,proto3,oneof"` |
| } |
| |
| type NodeWith_Hovered struct { |
| // creates a condition with Hovered set to true. |
| Hovered bool `protobuf:"varint,13,opt,name=hovered,proto3,oneof"` |
| } |
| |
| type NodeWith_Ignored struct { |
| // creates a condition with Ignored set to true. |
| Ignored bool `protobuf:"varint,14,opt,name=ignored,proto3,oneof"` |
| } |
| |
| type NodeWith_Invisible struct { |
| // creates a condition with Invisible set to true. |
| Invisible bool `protobuf:"varint,15,opt,name=invisible,proto3,oneof"` |
| } |
| |
| type NodeWith_Linked struct { |
| // creates a condition with Linked set to true. |
| Linked bool `protobuf:"varint,16,opt,name=linked,proto3,oneof"` |
| } |
| |
| type NodeWith_Multiline struct { |
| // creates a condition with Multiline set to true. |
| Multiline bool `protobuf:"varint,17,opt,name=multiline,proto3,oneof"` |
| } |
| |
| type NodeWith_Multiselectable struct { |
| // creates a condition with Multiselectable set to true. |
| Multiselectable bool `protobuf:"varint,18,opt,name=multiselectable,proto3,oneof"` |
| } |
| |
| type NodeWith_Offscreen struct { |
| // creates a condition with Offscreen set to true. |
| Offscreen bool `protobuf:"varint,19,opt,name=offscreen,proto3,oneof"` |
| } |
| |
| type NodeWith_IsProtected struct { |
| // creates a condition with Protected set to true. |
| // Note that the underlying field is "protected". It is deemed to be unsafe |
| // by proto static analysis for potential keyword conflict with programming |
| // languages, so the field is renamed "is_protected". |
| IsProtected bool `protobuf:"varint,20,opt,name=is_protected,json=isProtected,proto3,oneof"` |
| } |
| |
| type NodeWith_Required struct { |
| // creates a condition with Required set to true. |
| Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` |
| } |
| |
| type NodeWith_RichlyEditable struct { |
| // creates a condition with RichlyEditable set to true. |
| RichlyEditable bool `protobuf:"varint,22,opt,name=richly_editable,json=richlyEditable,proto3,oneof"` |
| } |
| |
| type NodeWith_Vertical struct { |
| // creates a condition with Vertical set to true. |
| Vertical bool `protobuf:"varint,23,opt,name=vertical,proto3,oneof"` |
| } |
| |
| type NodeWith_Visited struct { |
| // creates a condition with Visited set to true. |
| Visited bool `protobuf:"varint,24,opt,name=visited,proto3,oneof"` |
| } |
| |
| type NodeWith_Visible struct { |
| // creates a condition with Invisible set to false. |
| Visible bool `protobuf:"varint,25,opt,name=visible,proto3,oneof"` |
| } |
| |
| type NodeWith_Onscreen struct { |
| // creates a condition with Offscreen set to false. |
| Onscreen bool `protobuf:"varint,26,opt,name=onscreen,proto3,oneof"` |
| } |
| |
| type NodeWith_First struct { |
| // creates a condition that will find the first node instead of requiring |
| // uniqueness. |
| First bool `protobuf:"varint,27,opt,name=first,proto3,oneof"` |
| } |
| |
| type NodeWith_Root struct { |
| // creates a condition that will find the root node. |
| Root bool `protobuf:"varint,28,opt,name=root,proto3,oneof"` |
| } |
| |
| type NodeWith_NameRegex struct { |
| // creates a condition with a name containing the specified regexp. |
| NameRegex string `protobuf:"bytes,29,opt,name=name_regex,json=nameRegex,proto3,oneof"` |
| } |
| |
| type NodeWith_NameStartingWith struct { |
| // creates a condition with a name starting with the specified string. |
| NameStartingWith string `protobuf:"bytes,30,opt,name=name_starting_with,json=nameStartingWith,proto3,oneof"` |
| } |
| |
| type NodeWith_NameContaining struct { |
| // creates a condition with a name containing the specified string. |
| NameContaining string `protobuf:"bytes,31,opt,name=name_containing,json=nameContaining,proto3,oneof"` |
| } |
| |
| type NodeWith_State struct { |
| // creates a condition with the specified state. |
| State *NodeWith_StateValue `protobuf:"bytes,32,opt,name=state,proto3,oneof"` |
| } |
| |
| type NodeWith_Ancestor struct { |
| // creates a condition with the specified Finder as the ancestor of the node |
| Ancestor *Finder `protobuf:"bytes,33,opt,name=ancestor,proto3,oneof"` |
| } |
| |
| func (*NodeWith_HasClass) isNodeWith_Value() {} |
| |
| func (*NodeWith_Name) isNodeWith_Value() {} |
| |
| func (*NodeWith_Role) isNodeWith_Value() {} |
| |
| func (*NodeWith_Nth) isNodeWith_Value() {} |
| |
| func (*NodeWith_AutofillAvailable) isNodeWith_Value() {} |
| |
| func (*NodeWith_Collapsed) isNodeWith_Value() {} |
| |
| func (*NodeWith_IsDefault) isNodeWith_Value() {} |
| |
| func (*NodeWith_Editable) isNodeWith_Value() {} |
| |
| func (*NodeWith_Expanded) isNodeWith_Value() {} |
| |
| func (*NodeWith_Focusable) isNodeWith_Value() {} |
| |
| func (*NodeWith_Focused) isNodeWith_Value() {} |
| |
| func (*NodeWith_Horizontal) isNodeWith_Value() {} |
| |
| func (*NodeWith_Hovered) isNodeWith_Value() {} |
| |
| func (*NodeWith_Ignored) isNodeWith_Value() {} |
| |
| func (*NodeWith_Invisible) isNodeWith_Value() {} |
| |
| func (*NodeWith_Linked) isNodeWith_Value() {} |
| |
| func (*NodeWith_Multiline) isNodeWith_Value() {} |
| |
| func (*NodeWith_Multiselectable) isNodeWith_Value() {} |
| |
| func (*NodeWith_Offscreen) isNodeWith_Value() {} |
| |
| func (*NodeWith_IsProtected) isNodeWith_Value() {} |
| |
| func (*NodeWith_Required) isNodeWith_Value() {} |
| |
| func (*NodeWith_RichlyEditable) isNodeWith_Value() {} |
| |
| func (*NodeWith_Vertical) isNodeWith_Value() {} |
| |
| func (*NodeWith_Visited) isNodeWith_Value() {} |
| |
| func (*NodeWith_Visible) isNodeWith_Value() {} |
| |
| func (*NodeWith_Onscreen) isNodeWith_Value() {} |
| |
| func (*NodeWith_First) isNodeWith_Value() {} |
| |
| func (*NodeWith_Root) isNodeWith_Value() {} |
| |
| func (*NodeWith_NameRegex) isNodeWith_Value() {} |
| |
| func (*NodeWith_NameStartingWith) isNodeWith_Value() {} |
| |
| func (*NodeWith_NameContaining) isNodeWith_Value() {} |
| |
| func (*NodeWith_State) isNodeWith_Value() {} |
| |
| func (*NodeWith_Ancestor) isNodeWith_Value() {} |
| |
| // Rect defines a bounding box |
| // See |
| // https://developer.chrome.com/docs/extensions/reference/automation/#type-Rect |
| type Rect struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Left int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left,omitempty"` |
| Top int32 `protobuf:"varint,2,opt,name=top,proto3" json:"top,omitempty"` |
| Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` |
| Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` |
| } |
| |
| func (x *Rect) Reset() { |
| *x = Rect{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Rect) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Rect) ProtoMessage() {} |
| |
| func (x *Rect) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Rect.ProtoReflect.Descriptor instead. |
| func (*Rect) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *Rect) GetLeft() int32 { |
| if x != nil { |
| return x.Left |
| } |
| return 0 |
| } |
| |
| func (x *Rect) GetTop() int32 { |
| if x != nil { |
| return x.Top |
| } |
| return 0 |
| } |
| |
| func (x *Rect) GetWidth() int32 { |
| if x != nil { |
| return x.Width |
| } |
| return 0 |
| } |
| |
| func (x *Rect) GetHeight() int32 { |
| if x != nil { |
| return x.Height |
| } |
| return 0 |
| } |
| |
| type Point struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"` |
| Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"` |
| } |
| |
| func (x *Point) Reset() { |
| *x = Point{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Point) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Point) ProtoMessage() {} |
| |
| func (x *Point) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Point.ProtoReflect.Descriptor instead. |
| func (*Point) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *Point) GetX() int32 { |
| if x != nil { |
| return x.X |
| } |
| return 0 |
| } |
| |
| func (x *Point) GetY() int32 { |
| if x != nil { |
| return x.Y |
| } |
| return 0 |
| } |
| |
| type NodeWith_StateValue struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // State describes the characteristics of the node |
| // See |
| // https://developer.chrome.com/docs/extensions/reference/automation/#type-StateType |
| State State `protobuf:"varint,1,opt,name=state,proto3,enum=tast.cros.ui.State" json:"state,omitempty"` |
| Value bool `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` |
| } |
| |
| func (x *NodeWith_StateValue) Reset() { |
| *x = NodeWith_StateValue{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_automation_service_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *NodeWith_StateValue) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*NodeWith_StateValue) ProtoMessage() {} |
| |
| func (x *NodeWith_StateValue) ProtoReflect() protoreflect.Message { |
| mi := &file_automation_service_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use NodeWith_StateValue.ProtoReflect.Descriptor instead. |
| func (*NodeWith_StateValue) Descriptor() ([]byte, []int) { |
| return file_automation_service_proto_rawDescGZIP(), []int{11, 0} |
| } |
| |
| func (x *NodeWith_StateValue) GetState() State { |
| if x != nil { |
| return x.State |
| } |
| return State_STATE_UNSPECIFIED |
| } |
| |
| func (x *NodeWith_StateValue) GetValue() bool { |
| if x != nil { |
| return x.Value |
| } |
| return false |
| } |
| |
| var File_automation_service_proto protoreflect.FileDescriptor |
| |
| var file_automation_service_proto_rawDesc = []byte{ |
| 0x0a, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x74, 0x61, 0x73, 0x74, |
| 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x10, 0x4c, 0x65, 0x66, 0x74, 0x43, 0x6c, 0x69, |
| 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6e, |
| 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, |
| 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, |
| 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x41, 0x0a, 0x11, 0x52, 0x69, 0x67, 0x68, 0x74, |
| 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, |
| 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, |
| 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x64, |
| 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x12, 0x44, 0x6f, |
| 0x75, 0x62, 0x6c, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, |
| 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x42, |
| 0x0a, 0x12, 0x49, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, |
| 0x2e, 0x75, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6e, 0x64, |
| 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x13, 0x49, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6f, 0x75, 0x6e, |
| 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, |
| 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, |
| 0x80, 0x01, 0x0a, 0x1b, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x41, 0x74, |
| 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x36, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, |
| 0x75, 0x69, 0x2e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x63, 0x6c, |
| 0x69, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, |
| 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x69, |
| 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x45, |
| 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, |
| 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, |
| 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x64, |
| 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x3b, 0x0a, 0x0b, 0x49, 0x6e, |
| 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6e, |
| 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, |
| 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, |
| 0x06, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, |
| 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x61, 0x73, |
| 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, |
| 0x66, 0x6f, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xa4, 0x04, 0x0a, |
| 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x68, 0x65, |
| 0x63, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x74, 0x61, 0x73, |
| 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, |
| 0x64, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, |
| 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, |
| 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x68, 0x74, 0x6d, |
| 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, |
| 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, |
| 0x69, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x74, 0x6d, 0x6c, 0x41, |
| 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, |
| 0x68, 0x74, 0x6d, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2e, |
| 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x12, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, |
| 0x52, 0x65, 0x63, 0x74, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, |
| 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, |
| 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, |
| 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, |
| 0x26, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, |
| 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x52, 0x6f, 0x6c, |
| 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, |
| 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, |
| 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, |
| 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, |
| 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x41, 0x0a, 0x13, 0x48, 0x74, 0x6d, 0x6c, 0x41, 0x74, |
| 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, |
| 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, |
| 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, |
| 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x74, 0x61, |
| 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, |
| 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, |
| 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x06, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, |
| 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, |
| 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, |
| 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x57, |
| 0x69, 0x74, 0x68, 0x73, 0x22, 0xba, 0x09, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x69, 0x74, |
| 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68, 0x61, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, |
| 0x2e, 0x75, 0x69, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, |
| 0x12, 0x12, 0x0a, 0x03, 0x6e, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, |
| 0x03, 0x6e, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x66, 0x69, 0x6c, 0x6c, |
| 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, |
| 0x48, 0x00, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x66, 0x69, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, |
| 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, |
| 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, |
| 0x61, 0x70, 0x73, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, |
| 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x69, 0x73, 0x44, |
| 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, |
| 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, |
| 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, |
| 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, |
| 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x09, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, |
| 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x61, 0x62, |
| 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x07, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0b, 0x20, |
| 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x64, 0x12, 0x20, |
| 0x0a, 0x0a, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, |
| 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, |
| 0x12, 0x1a, 0x0a, 0x07, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, |
| 0x08, 0x48, 0x00, 0x52, 0x07, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x07, |
| 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, |
| 0x07, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, |
| 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x69, |
| 0x6e, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x6b, |
| 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, |
| 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x65, 0x18, |
| 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, |
| 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x65, 0x6c, 0x65, 0x63, |
| 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x6d, |
| 0x75, 0x6c, 0x74, 0x69, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, |
| 0x0a, 0x09, 0x6f, 0x66, 0x66, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, |
| 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x66, 0x66, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x23, |
| 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x14, |
| 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, |
| 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, |
| 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, |
| 0x64, 0x12, 0x29, 0x0a, 0x0f, 0x72, 0x69, 0x63, 0x68, 0x6c, 0x79, 0x5f, 0x65, 0x64, 0x69, 0x74, |
| 0x61, 0x62, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x69, |
| 0x63, 0x68, 0x6c, 0x79, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x08, |
| 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, |
| 0x52, 0x08, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x07, 0x76, 0x69, |
| 0x73, 0x69, 0x74, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x76, |
| 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, |
| 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x62, |
| 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x08, 0x6f, 0x6e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x1a, |
| 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x6e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, |
| 0x12, 0x16, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x48, |
| 0x00, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, |
| 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1f, |
| 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x1d, 0x20, 0x01, |
| 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, |
| 0x2e, 0x0a, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, |
| 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6e, |
| 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x74, 0x68, 0x12, |
| 0x29, 0x0a, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, |
| 0x6e, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x61, 0x6d, 0x65, |
| 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, |
| 0x61, 0x74, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x61, 0x73, 0x74, |
| 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x69, 0x74, |
| 0x68, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, |
| 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, |
| 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, |
| 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, |
| 0x08, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x1a, 0x4d, 0x0a, 0x0a, 0x53, 0x74, 0x61, |
| 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, |
| 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, |
| 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, |
| 0x65, 0x22, 0x5a, 0x0a, 0x04, 0x52, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, |
| 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x10, 0x0a, |
| 0x03, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x6f, 0x70, 0x12, |
| 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, |
| 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, |
| 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x23, 0x0a, |
| 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, |
| 0x01, 0x79, 0x2a, 0x7b, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, |
| 0x1a, 0x0a, 0x16, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, |
| 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, |
| 0x4c, 0x49, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, |
| 0x4c, 0x49, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x5f, |
| 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, |
| 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, |
| 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x10, 0x03, 0x2a, |
| 0x5a, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, |
| 0x45, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, |
| 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x54, |
| 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x45, 0x44, |
| 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x45, 0x43, |
| 0x4b, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x75, 0x0a, 0x0b, 0x52, |
| 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, |
| 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, |
| 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x53, 0x54, 0x52, |
| 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, |
| 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, |
| 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, |
| 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, |
| 0x10, 0x03, 0x2a, 0xc7, 0x03, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, |
| 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, |
| 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x55, 0x54, |
| 0x4f, 0x46, 0x49, 0x4c, 0x4c, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, |
| 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x41, |
| 0x50, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, |
| 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, |
| 0x54, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, |
| 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x10, |
| 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x43, 0x55, 0x53, |
| 0x41, 0x42, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, |
| 0x46, 0x4f, 0x43, 0x55, 0x53, 0x45, 0x44, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, |
| 0x54, 0x45, 0x5f, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x08, 0x12, |
| 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x4f, 0x56, 0x45, 0x52, 0x45, 0x44, |
| 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f, |
| 0x52, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, |
| 0x4e, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, |
| 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, |
| 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x4c, 0x49, 0x4e, 0x45, 0x10, |
| 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, |
| 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, |
| 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x10, |
| 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, |
| 0x43, 0x54, 0x45, 0x44, 0x10, 0x10, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, |
| 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, |
| 0x41, 0x54, 0x45, 0x5f, 0x52, 0x49, 0x43, 0x48, 0x4c, 0x59, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x41, |
| 0x42, 0x4c, 0x45, 0x10, 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x56, |
| 0x45, 0x52, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x13, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, |
| 0x54, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x54, 0x45, 0x44, 0x10, 0x14, 0x2a, 0xf5, 0x1f, 0x0a, |
| 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, |
| 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x42, 0x42, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x10, |
| 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, |
| 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, |
| 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x10, 0x09, |
| 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x42, 0x55, 0x54, 0x54, 0x4f, 0x4e, 0x10, |
| 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x56, 0x41, 0x53, |
| 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x54, 0x49, |
| 0x4f, 0x4e, 0x10, 0x0c, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, |
| 0x45, 0x54, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x45, 0x4c, |
| 0x4c, 0x10, 0x0e, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, |
| 0x4b, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x0f, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x10, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x11, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x57, 0x45, 0x4c, 0x4c, 0x10, 0x12, 0x12, 0x0f, 0x0a, 0x0b, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x10, 0x13, 0x12, 0x16, 0x0a, |
| 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x48, 0x45, 0x41, |
| 0x44, 0x45, 0x52, 0x10, 0x14, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, |
| 0x4d, 0x42, 0x4f, 0x5f, 0x42, 0x4f, 0x58, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, |
| 0x10, 0x15, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x4f, |
| 0x5f, 0x42, 0x4f, 0x58, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x42, 0x55, 0x54, 0x54, 0x4f, 0x4e, |
| 0x10, 0x16, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, |
| 0x4e, 0x54, 0x10, 0x17, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4d, |
| 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x10, 0x18, 0x12, 0x19, 0x0a, 0x15, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x4c, |
| 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x19, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, |
| 0x4e, 0x10, 0x1a, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, |
| 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x1b, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x1d, 0x12, 0x13, 0x0a, |
| 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x4f, 0x4e, |
| 0x10, 0x1e, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, |
| 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x1f, 0x12, 0x20, 0x0a, |
| 0x1c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, |
| 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x10, 0x20, 0x12, |
| 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, |
| 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x10, 0x21, 0x12, |
| 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x4b, 0x54, 0x4f, 0x50, 0x10, |
| 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, |
| 0x53, 0x10, 0x23, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x4c, |
| 0x4f, 0x47, 0x10, 0x24, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x49, 0x52, |
| 0x45, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x25, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4c, 0x4f, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, |
| 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x26, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, |
| 0x4f, 0x43, 0x5f, 0x41, 0x42, 0x53, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0x27, 0x12, 0x1c, 0x0a, |
| 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x41, 0x43, 0x4b, 0x4e, 0x4f, 0x57, |
| 0x4c, 0x45, 0x44, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x28, 0x12, 0x16, 0x0a, 0x12, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x41, 0x46, 0x54, 0x45, 0x52, 0x57, 0x4f, 0x52, |
| 0x44, 0x10, 0x29, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, |
| 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x58, 0x10, 0x2a, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, |
| 0x10, 0x2b, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x42, |
| 0x49, 0x42, 0x4c, 0x49, 0x4f, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x2c, 0x12, 0x19, 0x0a, |
| 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x42, 0x49, 0x42, 0x4c, 0x49, 0x4f, |
| 0x47, 0x52, 0x41, 0x50, 0x48, 0x59, 0x10, 0x2d, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x42, 0x49, 0x42, 0x4c, 0x49, 0x4f, 0x5f, 0x52, 0x45, 0x46, 0x10, |
| 0x2e, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x43, 0x48, |
| 0x41, 0x50, 0x54, 0x45, 0x52, 0x10, 0x2f, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x44, 0x4f, 0x43, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x50, 0x48, 0x4f, 0x4e, 0x10, 0x30, 0x12, 0x17, |
| 0x0a, 0x13, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x4c, |
| 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x31, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x44, 0x4f, 0x43, 0x5f, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x32, 0x12, 0x13, 0x0a, 0x0f, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x10, 0x33, |
| 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x43, 0x52, 0x45, |
| 0x44, 0x49, 0x54, 0x53, 0x10, 0x34, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, |
| 0x4f, 0x43, 0x5f, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x35, 0x12, |
| 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x45, 0x4e, 0x44, 0x4e, |
| 0x4f, 0x54, 0x45, 0x10, 0x36, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, |
| 0x43, 0x5f, 0x45, 0x4e, 0x44, 0x4e, 0x4f, 0x54, 0x45, 0x53, 0x10, 0x37, 0x12, 0x15, 0x0a, 0x11, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x45, 0x50, 0x49, 0x47, 0x52, 0x41, 0x50, |
| 0x48, 0x10, 0x38, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, |
| 0x45, 0x50, 0x49, 0x4c, 0x4f, 0x47, 0x55, 0x45, 0x10, 0x39, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x45, 0x52, 0x52, 0x41, 0x54, 0x41, 0x10, 0x3a, 0x12, |
| 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x45, 0x58, 0x41, 0x4d, |
| 0x50, 0x4c, 0x45, 0x10, 0x3b, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, |
| 0x43, 0x5f, 0x46, 0x4f, 0x4f, 0x54, 0x4e, 0x4f, 0x54, 0x45, 0x10, 0x3c, 0x12, 0x15, 0x0a, 0x11, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x46, 0x4f, 0x52, 0x45, 0x57, 0x4f, 0x52, |
| 0x44, 0x10, 0x3d, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, |
| 0x47, 0x4c, 0x4f, 0x53, 0x53, 0x41, 0x52, 0x59, 0x10, 0x3e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x47, 0x4c, 0x4f, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x46, |
| 0x10, 0x3f, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x49, |
| 0x4e, 0x44, 0x45, 0x58, 0x10, 0x40, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, |
| 0x4f, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, |
| 0x41, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x4e, 0x4f, |
| 0x54, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x10, 0x42, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0x43, 0x12, 0x17, 0x0a, |
| 0x13, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x42, |
| 0x52, 0x45, 0x41, 0x4b, 0x10, 0x44, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, |
| 0x4f, 0x43, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x10, 0x45, |
| 0x12, 0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x50, 0x41, 0x47, |
| 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x46, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, |
| 0x10, 0x47, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x50, |
| 0x41, 0x52, 0x54, 0x10, 0x48, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, |
| 0x43, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x41, 0x43, 0x45, 0x10, 0x49, 0x12, 0x15, 0x0a, 0x11, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x50, 0x52, 0x4f, 0x4c, 0x4f, 0x47, 0x55, 0x45, |
| 0x10, 0x4a, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x50, |
| 0x55, 0x4c, 0x4c, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x10, 0x4b, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x51, 0x4e, 0x41, 0x10, 0x4c, 0x12, 0x15, 0x0a, 0x11, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, 0x53, 0x55, 0x42, 0x54, 0x49, 0x54, 0x4c, |
| 0x45, 0x10, 0x4d, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x5f, |
| 0x54, 0x49, 0x50, 0x10, 0x4e, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x4f, |
| 0x43, 0x5f, 0x54, 0x4f, 0x43, 0x10, 0x4f, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x50, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, |
| 0x43, 0x54, 0x10, 0x51, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x45, 0x4d, 0x50, |
| 0x48, 0x41, 0x53, 0x49, 0x53, 0x10, 0x52, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x46, 0x45, 0x45, 0x44, 0x10, 0x53, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x46, |
| 0x49, 0x47, 0x43, 0x41, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x54, 0x12, 0x0f, 0x0a, 0x0b, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x10, 0x55, 0x12, 0x0f, 0x0a, 0x0b, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x10, 0x56, 0x12, 0x1f, 0x0a, |
| 0x1b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x5f, |
| 0x4e, 0x4f, 0x4e, 0x5f, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x57, 0x12, 0x0d, |
| 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x58, 0x12, 0x1a, 0x0a, |
| 0x16, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x43, 0x4f, |
| 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x59, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x47, 0x52, 0x41, 0x50, 0x48, 0x49, 0x43, 0x53, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, |
| 0x45, 0x4e, 0x54, 0x10, 0x5a, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x47, 0x52, |
| 0x41, 0x50, 0x48, 0x49, 0x43, 0x53, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x5b, 0x12, |
| 0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x50, 0x48, 0x49, 0x43, 0x53, |
| 0x5f, 0x53, 0x59, 0x4d, 0x42, 0x4f, 0x4c, 0x10, 0x5c, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x47, 0x52, 0x49, 0x44, 0x10, 0x5d, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x5e, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x5f, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, |
| 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x60, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x61, 0x12, 0x0f, 0x0a, 0x0b, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x10, 0x62, 0x12, 0x1e, 0x0a, |
| 0x1a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x52, 0x45, |
| 0x53, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x63, 0x12, 0x10, 0x0a, |
| 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x64, 0x12, |
| 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x65, 0x12, |
| 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x41, |
| 0x50, 0x10, 0x66, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x45, 0x5f, |
| 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x67, 0x12, 0x18, 0x0a, 0x14, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, |
| 0x42, 0x4f, 0x58, 0x10, 0x68, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4e, |
| 0x50, 0x55, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x69, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x10, 0x6a, 0x12, 0x13, 0x0a, |
| 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x58, 0x54, |
| 0x10, 0x6b, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, |
| 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x6c, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, |
| 0x45, 0x4c, 0x4c, 0x10, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x41, |
| 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x10, 0x6e, |
| 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x45, 0x47, 0x45, 0x4e, 0x44, 0x10, |
| 0x6f, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x42, |
| 0x52, 0x45, 0x41, 0x4b, 0x10, 0x70, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, |
| 0x49, 0x4e, 0x4b, 0x10, 0x71, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49, |
| 0x53, 0x54, 0x10, 0x72, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x53, |
| 0x54, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x42, 0x4f, 0x58, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, |
| 0x74, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x47, |
| 0x52, 0x49, 0x44, 0x10, 0x75, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49, |
| 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x76, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x52, 0x10, 0x77, 0x12, |
| 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x47, 0x10, 0x78, 0x12, 0x0d, 0x0a, |
| 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x79, 0x12, 0x0d, 0x0a, 0x09, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x7a, 0x12, 0x10, 0x0a, 0x0c, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x52, 0x51, 0x55, 0x45, 0x45, 0x10, 0x7b, 0x12, 0x0d, 0x0a, |
| 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x7c, 0x12, 0x0d, 0x0a, 0x09, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x10, 0x7d, 0x12, 0x11, 0x0a, 0x0d, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x7e, 0x12, 0x12, |
| 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x49, 0x54, 0x45, 0x4d, |
| 0x10, 0x7f, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, |
| 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x80, |
| 0x01, 0x12, 0x19, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x49, |
| 0x54, 0x45, 0x4d, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, 0x10, 0x81, 0x01, 0x12, 0x1a, 0x0a, 0x15, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, |
| 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x82, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x50, 0x55, 0x50, |
| 0x10, 0x83, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x45, |
| 0x52, 0x10, 0x84, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4e, 0x41, 0x56, |
| 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x85, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x45, 0x10, 0x86, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x4e, 0x45, 0x10, 0x87, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x47, 0x52, 0x41, 0x50, 0x48, 0x10, 0x88, 0x01, 0x12, |
| 0x22, 0x0a, 0x1d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x50, 0x44, 0x46, 0x5f, 0x41, 0x43, 0x54, 0x49, |
| 0x4f, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x4c, 0x49, 0x47, 0x48, 0x54, |
| 0x10, 0x89, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x50, 0x4c, 0x55, 0x47, |
| 0x49, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x8a, 0x01, 0x12, 0x17, 0x0a, 0x12, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x55, 0x50, 0x5f, 0x42, 0x55, 0x54, 0x54, |
| 0x4f, 0x4e, 0x10, 0x8b, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x50, 0x4f, |
| 0x52, 0x54, 0x41, 0x4c, 0x10, 0x8c, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x50, 0x52, 0x45, 0x10, 0x8d, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x50, |
| 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x8e, 0x01, |
| 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, |
| 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x8f, 0x01, 0x12, 0x16, |
| 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, 0x5f, 0x42, 0x55, 0x54, |
| 0x54, 0x4f, 0x4e, 0x10, 0x90, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, |
| 0x41, 0x44, 0x49, 0x4f, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x91, 0x01, 0x12, 0x10, 0x0a, |
| 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x92, 0x01, 0x12, |
| 0x17, 0x0a, 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x57, 0x45, 0x42, |
| 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0x93, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x52, 0x4f, 0x57, 0x10, 0x94, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x52, 0x4f, 0x57, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x95, 0x01, 0x12, 0x14, 0x0a, 0x0f, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, |
| 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x42, 0x59, 0x10, |
| 0x97, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x42, 0x59, 0x5f, |
| 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x98, 0x01, 0x12, 0x14, 0x0a, |
| 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x42, 0x41, 0x52, |
| 0x10, 0x99, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x4f, |
| 0x4c, 0x4c, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x9a, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x9b, 0x01, 0x12, 0x14, 0x0a, 0x0f, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x42, 0x4f, 0x58, 0x10, |
| 0x9c, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x54, 0x49, |
| 0x4f, 0x4e, 0x10, 0x9d, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x4c, |
| 0x49, 0x44, 0x45, 0x52, 0x10, 0x9e, 0x01, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x53, 0x4c, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x55, 0x4d, 0x42, 0x10, 0x9f, 0x01, 0x12, |
| 0x15, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x50, 0x49, 0x4e, 0x5f, 0x42, 0x55, 0x54, |
| 0x54, 0x4f, 0x4e, 0x10, 0xa0, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, |
| 0x50, 0x4c, 0x49, 0x54, 0x54, 0x45, 0x52, 0x10, 0xa1, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0xa2, |
| 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, |
| 0x10, 0xa3, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x4f, |
| 0x4e, 0x47, 0x10, 0xa4, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x55, |
| 0x47, 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xa5, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x52, |
| 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x56, 0x47, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0xa6, 0x01, 0x12, |
| 0x10, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0xa7, |
| 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x10, 0xa8, 0x01, |
| 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x5f, 0x4c, 0x49, 0x53, |
| 0x54, 0x10, 0xa9, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x42, |
| 0x5f, 0x50, 0x41, 0x4e, 0x45, 0x4c, 0x10, 0xaa, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xab, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, |
| 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0xac, 0x01, 0x12, 0x0e, 0x0a, 0x09, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x10, 0xad, 0x01, 0x12, 0x14, 0x0a, 0x0f, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, |
| 0xae, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, |
| 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x4f, |
| 0x5f, 0x42, 0x4f, 0x58, 0x10, 0xaf, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x54, 0x49, 0x4d, 0x45, 0x10, 0xb0, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, |
| 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0xb1, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, |
| 0x5f, 0x54, 0x49, 0x54, 0x4c, 0x45, 0x5f, 0x42, 0x41, 0x52, 0x10, 0xb2, 0x01, 0x12, 0x17, 0x0a, |
| 0x12, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, 0x5f, 0x42, 0x55, 0x54, |
| 0x54, 0x4f, 0x4e, 0x10, 0xb3, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, |
| 0x4f, 0x4f, 0x4c, 0x42, 0x41, 0x52, 0x10, 0xb4, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x54, 0x49, 0x50, 0x10, 0xb5, 0x01, 0x12, 0x0e, 0x0a, 0x09, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x10, 0xb6, 0x01, 0x12, 0x13, 0x0a, 0x0e, |
| 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x5f, 0x47, 0x52, 0x49, 0x44, 0x10, 0xb7, |
| 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x5f, 0x49, |
| 0x54, 0x45, 0x4d, 0x10, 0xb8, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, |
| 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xb9, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, |
| 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0xba, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x4f, |
| 0x4c, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0xbb, 0x01, 0x12, 0x12, |
| 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, |
| 0xbc, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, |
| 0x57, 0x10, 0xbd, 0x01, 0x32, 0xb5, 0x04, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x49, 0x6e, |
| 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, |
| 0x69, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, |
| 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x49, 0x6e, 0x66, |
| 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x09, 0x4c, |
| 0x65, 0x66, 0x74, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, |
| 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x4c, 0x65, 0x66, 0x74, 0x43, 0x6c, 0x69, 0x63, |
| 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, |
| 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x52, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6c, 0x69, 0x63, 0x6b, |
| 0x12, 0x1f, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, |
| 0x52, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0b, 0x44, |
| 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x74, 0x61, 0x73, |
| 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, |
| 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, |
| 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0b, 0x49, 0x73, 0x4e, 0x6f, 0x64, 0x65, |
| 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x20, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, |
| 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x49, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, |
| 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x49, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6f, 0x75, |
| 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, |
| 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x41, 0x74, 0x4c, 0x6f, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, |
| 0x2e, 0x75, 0x69, 0x2e, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x41, 0x74, |
| 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, |
| 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0f, 0x57, 0x61, 0x69, |
| 0x74, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x74, |
| 0x61, 0x73, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x73, 0x2e, 0x75, 0x69, 0x2e, 0x57, 0x61, 0x69, 0x74, |
| 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x22, 0x5a, 0x20, |
| 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x61, 0x73, 0x74, 0x2f, |
| 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x72, 0x6f, 0x73, 0x2f, 0x75, 0x69, |
| 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_automation_service_proto_rawDescOnce sync.Once |
| file_automation_service_proto_rawDescData = file_automation_service_proto_rawDesc |
| ) |
| |
| func file_automation_service_proto_rawDescGZIP() []byte { |
| file_automation_service_proto_rawDescOnce.Do(func() { |
| file_automation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_automation_service_proto_rawDescData) |
| }) |
| return file_automation_service_proto_rawDescData |
| } |
| |
| var file_automation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 5) |
| var file_automation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) |
| var file_automation_service_proto_goTypes = []interface{}{ |
| (ClickType)(0), // 0: tast.cros.ui.ClickType |
| (Checked)(0), // 1: tast.cros.ui.Checked |
| (Restriction)(0), // 2: tast.cros.ui.Restriction |
| (State)(0), // 3: tast.cros.ui.State |
| (Role)(0), // 4: tast.cros.ui.Role |
| (*LeftClickRequest)(nil), // 5: tast.cros.ui.LeftClickRequest |
| (*RightClickRequest)(nil), // 6: tast.cros.ui.RightClickRequest |
| (*DoubleClickRequest)(nil), // 7: tast.cros.ui.DoubleClickRequest |
| (*IsNodeFoundRequest)(nil), // 8: tast.cros.ui.IsNodeFoundRequest |
| (*IsNodeFoundResponse)(nil), // 9: tast.cros.ui.IsNodeFoundResponse |
| (*MouseClickAtLocationRequest)(nil), // 10: tast.cros.ui.MouseClickAtLocationRequest |
| (*WaitUntilExistsRequest)(nil), // 11: tast.cros.ui.WaitUntilExistsRequest |
| (*InfoRequest)(nil), // 12: tast.cros.ui.InfoRequest |
| (*InfoResponse)(nil), // 13: tast.cros.ui.InfoResponse |
| (*NodeInfo)(nil), // 14: tast.cros.ui.NodeInfo |
| (*Finder)(nil), // 15: tast.cros.ui.Finder |
| (*NodeWith)(nil), // 16: tast.cros.ui.NodeWith |
| (*Rect)(nil), // 17: tast.cros.ui.Rect |
| (*Point)(nil), // 18: tast.cros.ui.Point |
| nil, // 19: tast.cros.ui.NodeInfo.HtmlAttributesEntry |
| nil, // 20: tast.cros.ui.NodeInfo.StateEntry |
| (*NodeWith_StateValue)(nil), // 21: tast.cros.ui.NodeWith.StateValue |
| (*empty.Empty)(nil), // 22: google.protobuf.Empty |
| } |
| var file_automation_service_proto_depIdxs = []int32{ |
| 15, // 0: tast.cros.ui.LeftClickRequest.finder:type_name -> tast.cros.ui.Finder |
| 15, // 1: tast.cros.ui.RightClickRequest.finder:type_name -> tast.cros.ui.Finder |
| 15, // 2: tast.cros.ui.DoubleClickRequest.finder:type_name -> tast.cros.ui.Finder |
| 15, // 3: tast.cros.ui.IsNodeFoundRequest.finder:type_name -> tast.cros.ui.Finder |
| 0, // 4: tast.cros.ui.MouseClickAtLocationRequest.click_type:type_name -> tast.cros.ui.ClickType |
| 18, // 5: tast.cros.ui.MouseClickAtLocationRequest.point:type_name -> tast.cros.ui.Point |
| 15, // 6: tast.cros.ui.WaitUntilExistsRequest.finder:type_name -> tast.cros.ui.Finder |
| 15, // 7: tast.cros.ui.InfoRequest.finder:type_name -> tast.cros.ui.Finder |
| 14, // 8: tast.cros.ui.InfoResponse.node_info:type_name -> tast.cros.ui.NodeInfo |
| 1, // 9: tast.cros.ui.NodeInfo.checked:type_name -> tast.cros.ui.Checked |
| 19, // 10: tast.cros.ui.NodeInfo.html_attributes:type_name -> tast.cros.ui.NodeInfo.HtmlAttributesEntry |
| 17, // 11: tast.cros.ui.NodeInfo.location:type_name -> tast.cros.ui.Rect |
| 2, // 12: tast.cros.ui.NodeInfo.restriction:type_name -> tast.cros.ui.Restriction |
| 4, // 13: tast.cros.ui.NodeInfo.role:type_name -> tast.cros.ui.Role |
| 20, // 14: tast.cros.ui.NodeInfo.state:type_name -> tast.cros.ui.NodeInfo.StateEntry |
| 16, // 15: tast.cros.ui.Finder.node_withs:type_name -> tast.cros.ui.NodeWith |
| 4, // 16: tast.cros.ui.NodeWith.role:type_name -> tast.cros.ui.Role |
| 21, // 17: tast.cros.ui.NodeWith.state:type_name -> tast.cros.ui.NodeWith.StateValue |
| 15, // 18: tast.cros.ui.NodeWith.ancestor:type_name -> tast.cros.ui.Finder |
| 3, // 19: tast.cros.ui.NodeWith.StateValue.state:type_name -> tast.cros.ui.State |
| 12, // 20: tast.cros.ui.AutomationService.Info:input_type -> tast.cros.ui.InfoRequest |
| 5, // 21: tast.cros.ui.AutomationService.LeftClick:input_type -> tast.cros.ui.LeftClickRequest |
| 6, // 22: tast.cros.ui.AutomationService.RightClick:input_type -> tast.cros.ui.RightClickRequest |
| 7, // 23: tast.cros.ui.AutomationService.DoubleClick:input_type -> tast.cros.ui.DoubleClickRequest |
| 8, // 24: tast.cros.ui.AutomationService.IsNodeFound:input_type -> tast.cros.ui.IsNodeFoundRequest |
| 10, // 25: tast.cros.ui.AutomationService.MouseClickAtLocation:input_type -> tast.cros.ui.MouseClickAtLocationRequest |
| 11, // 26: tast.cros.ui.AutomationService.WaitUntilExists:input_type -> tast.cros.ui.WaitUntilExistsRequest |
| 13, // 27: tast.cros.ui.AutomationService.Info:output_type -> tast.cros.ui.InfoResponse |
| 22, // 28: tast.cros.ui.AutomationService.LeftClick:output_type -> google.protobuf.Empty |
| 22, // 29: tast.cros.ui.AutomationService.RightClick:output_type -> google.protobuf.Empty |
| 22, // 30: tast.cros.ui.AutomationService.DoubleClick:output_type -> google.protobuf.Empty |
| 9, // 31: tast.cros.ui.AutomationService.IsNodeFound:output_type -> tast.cros.ui.IsNodeFoundResponse |
| 22, // 32: tast.cros.ui.AutomationService.MouseClickAtLocation:output_type -> google.protobuf.Empty |
| 22, // 33: tast.cros.ui.AutomationService.WaitUntilExists:output_type -> google.protobuf.Empty |
| 27, // [27:34] is the sub-list for method output_type |
| 20, // [20:27] is the sub-list for method input_type |
| 20, // [20:20] is the sub-list for extension type_name |
| 20, // [20:20] is the sub-list for extension extendee |
| 0, // [0:20] is the sub-list for field type_name |
| } |
| |
| func init() { file_automation_service_proto_init() } |
| func file_automation_service_proto_init() { |
| if File_automation_service_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_automation_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*LeftClickRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RightClickRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DoubleClickRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*IsNodeFoundRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*IsNodeFoundResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*MouseClickAtLocationRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*WaitUntilExistsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*InfoRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*InfoResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*NodeInfo); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Finder); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*NodeWith); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Rect); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Point); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_automation_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*NodeWith_StateValue); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_automation_service_proto_msgTypes[11].OneofWrappers = []interface{}{ |
| (*NodeWith_HasClass)(nil), |
| (*NodeWith_Name)(nil), |
| (*NodeWith_Role)(nil), |
| (*NodeWith_Nth)(nil), |
| (*NodeWith_AutofillAvailable)(nil), |
| (*NodeWith_Collapsed)(nil), |
| (*NodeWith_IsDefault)(nil), |
| (*NodeWith_Editable)(nil), |
| (*NodeWith_Expanded)(nil), |
| (*NodeWith_Focusable)(nil), |
| (*NodeWith_Focused)(nil), |
| (*NodeWith_Horizontal)(nil), |
| (*NodeWith_Hovered)(nil), |
| (*NodeWith_Ignored)(nil), |
| (*NodeWith_Invisible)(nil), |
| (*NodeWith_Linked)(nil), |
| (*NodeWith_Multiline)(nil), |
| (*NodeWith_Multiselectable)(nil), |
| (*NodeWith_Offscreen)(nil), |
| (*NodeWith_IsProtected)(nil), |
| (*NodeWith_Required)(nil), |
| (*NodeWith_RichlyEditable)(nil), |
| (*NodeWith_Vertical)(nil), |
| (*NodeWith_Visited)(nil), |
| (*NodeWith_Visible)(nil), |
| (*NodeWith_Onscreen)(nil), |
| (*NodeWith_First)(nil), |
| (*NodeWith_Root)(nil), |
| (*NodeWith_NameRegex)(nil), |
| (*NodeWith_NameStartingWith)(nil), |
| (*NodeWith_NameContaining)(nil), |
| (*NodeWith_State)(nil), |
| (*NodeWith_Ancestor)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_automation_service_proto_rawDesc, |
| NumEnums: 5, |
| NumMessages: 17, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_automation_service_proto_goTypes, |
| DependencyIndexes: file_automation_service_proto_depIdxs, |
| EnumInfos: file_automation_service_proto_enumTypes, |
| MessageInfos: file_automation_service_proto_msgTypes, |
| }.Build() |
| File_automation_service_proto = out.File |
| file_automation_service_proto_rawDesc = nil |
| file_automation_service_proto_goTypes = nil |
| file_automation_service_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // AutomationServiceClient is the client API for AutomationService service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type AutomationServiceClient interface { |
| // Info returns the information for the node found by the input finder. |
| Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) |
| // LeftClick left clicks on the location of the node found by the input |
| // finder. |
| LeftClick(ctx context.Context, in *LeftClickRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| // RightClick right clicks on the location of the node found by the input |
| // finder. |
| RightClick(ctx context.Context, in *RightClickRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| // DoubleClick double clicks on the location of the node found by the input |
| // finder. |
| DoubleClick(ctx context.Context, in *DoubleClickRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| // IsNodeFound immediately checks if any nodes found with given finder. |
| // It returns true if found otherwise false. |
| IsNodeFound(ctx context.Context, in *IsNodeFoundRequest, opts ...grpc.CallOption) (*IsNodeFoundResponse, error) |
| // MouseClickAtLocation clicks on the specified location. |
| MouseClickAtLocation(ctx context.Context, in *MouseClickAtLocationRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| // WaitUntilExists waits until the node found by the input finder exists. |
| WaitUntilExists(ctx context.Context, in *WaitUntilExistsRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| } |
| |
| type automationServiceClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewAutomationServiceClient(cc grpc.ClientConnInterface) AutomationServiceClient { |
| return &automationServiceClient{cc} |
| } |
| |
| func (c *automationServiceClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) { |
| out := new(InfoResponse) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/Info", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *automationServiceClient) LeftClick(ctx context.Context, in *LeftClickRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/LeftClick", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *automationServiceClient) RightClick(ctx context.Context, in *RightClickRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/RightClick", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *automationServiceClient) DoubleClick(ctx context.Context, in *DoubleClickRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/DoubleClick", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *automationServiceClient) IsNodeFound(ctx context.Context, in *IsNodeFoundRequest, opts ...grpc.CallOption) (*IsNodeFoundResponse, error) { |
| out := new(IsNodeFoundResponse) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/IsNodeFound", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *automationServiceClient) MouseClickAtLocation(ctx context.Context, in *MouseClickAtLocationRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/MouseClickAtLocation", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *automationServiceClient) WaitUntilExists(ctx context.Context, in *WaitUntilExistsRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/tast.cros.ui.AutomationService/WaitUntilExists", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // AutomationServiceServer is the server API for AutomationService service. |
| type AutomationServiceServer interface { |
| // Info returns the information for the node found by the input finder. |
| Info(context.Context, *InfoRequest) (*InfoResponse, error) |
| // LeftClick left clicks on the location of the node found by the input |
| // finder. |
| LeftClick(context.Context, *LeftClickRequest) (*empty.Empty, error) |
| // RightClick right clicks on the location of the node found by the input |
| // finder. |
| RightClick(context.Context, *RightClickRequest) (*empty.Empty, error) |
| // DoubleClick double clicks on the location of the node found by the input |
| // finder. |
| DoubleClick(context.Context, *DoubleClickRequest) (*empty.Empty, error) |
| // IsNodeFound immediately checks if any nodes found with given finder. |
| // It returns true if found otherwise false. |
| IsNodeFound(context.Context, *IsNodeFoundRequest) (*IsNodeFoundResponse, error) |
| // MouseClickAtLocation clicks on the specified location. |
| MouseClickAtLocation(context.Context, *MouseClickAtLocationRequest) (*empty.Empty, error) |
| // WaitUntilExists waits until the node found by the input finder exists. |
| WaitUntilExists(context.Context, *WaitUntilExistsRequest) (*empty.Empty, error) |
| } |
| |
| // UnimplementedAutomationServiceServer can be embedded to have forward compatible implementations. |
| type UnimplementedAutomationServiceServer struct { |
| } |
| |
| func (*UnimplementedAutomationServiceServer) Info(context.Context, *InfoRequest) (*InfoResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") |
| } |
| func (*UnimplementedAutomationServiceServer) LeftClick(context.Context, *LeftClickRequest) (*empty.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method LeftClick not implemented") |
| } |
| func (*UnimplementedAutomationServiceServer) RightClick(context.Context, *RightClickRequest) (*empty.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method RightClick not implemented") |
| } |
| func (*UnimplementedAutomationServiceServer) DoubleClick(context.Context, *DoubleClickRequest) (*empty.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DoubleClick not implemented") |
| } |
| func (*UnimplementedAutomationServiceServer) IsNodeFound(context.Context, *IsNodeFoundRequest) (*IsNodeFoundResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method IsNodeFound not implemented") |
| } |
| func (*UnimplementedAutomationServiceServer) MouseClickAtLocation(context.Context, *MouseClickAtLocationRequest) (*empty.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method MouseClickAtLocation not implemented") |
| } |
| func (*UnimplementedAutomationServiceServer) WaitUntilExists(context.Context, *WaitUntilExistsRequest) (*empty.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method WaitUntilExists not implemented") |
| } |
| |
| func RegisterAutomationServiceServer(s *grpc.Server, srv AutomationServiceServer) { |
| s.RegisterService(&_AutomationService_serviceDesc, srv) |
| } |
| |
| func _AutomationService_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(InfoRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).Info(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/Info", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).Info(ctx, req.(*InfoRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _AutomationService_LeftClick_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(LeftClickRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).LeftClick(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/LeftClick", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).LeftClick(ctx, req.(*LeftClickRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _AutomationService_RightClick_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(RightClickRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).RightClick(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/RightClick", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).RightClick(ctx, req.(*RightClickRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _AutomationService_DoubleClick_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DoubleClickRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).DoubleClick(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/DoubleClick", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).DoubleClick(ctx, req.(*DoubleClickRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _AutomationService_IsNodeFound_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(IsNodeFoundRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).IsNodeFound(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/IsNodeFound", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).IsNodeFound(ctx, req.(*IsNodeFoundRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _AutomationService_MouseClickAtLocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(MouseClickAtLocationRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).MouseClickAtLocation(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/MouseClickAtLocation", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).MouseClickAtLocation(ctx, req.(*MouseClickAtLocationRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _AutomationService_WaitUntilExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(WaitUntilExistsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(AutomationServiceServer).WaitUntilExists(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/tast.cros.ui.AutomationService/WaitUntilExists", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(AutomationServiceServer).WaitUntilExists(ctx, req.(*WaitUntilExistsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _AutomationService_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "tast.cros.ui.AutomationService", |
| HandlerType: (*AutomationServiceServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "Info", |
| Handler: _AutomationService_Info_Handler, |
| }, |
| { |
| MethodName: "LeftClick", |
| Handler: _AutomationService_LeftClick_Handler, |
| }, |
| { |
| MethodName: "RightClick", |
| Handler: _AutomationService_RightClick_Handler, |
| }, |
| { |
| MethodName: "DoubleClick", |
| Handler: _AutomationService_DoubleClick_Handler, |
| }, |
| { |
| MethodName: "IsNodeFound", |
| Handler: _AutomationService_IsNodeFound_Handler, |
| }, |
| { |
| MethodName: "MouseClickAtLocation", |
| Handler: _AutomationService_MouseClickAtLocation_Handler, |
| }, |
| { |
| MethodName: "WaitUntilExists", |
| Handler: _AutomationService_WaitUntilExists_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{}, |
| Metadata: "automation_service.proto", |
| } |