github.com/256dpi/max-go@v0.7.0/lib/max/common/jpatcher_syms.c (about) 1 #include "ext.h" 2 3 #include "jpatcher_syms.h" 4 5 BEGIN_USING_C_LINKAGE 6 7 C74_HIDDEN t_symbol *ps_patcher; 8 C74_HIDDEN t_symbol *ps_topview; 9 C74_HIDDEN t_symbol *ps_jpatcher; 10 C74_HIDDEN t_symbol *ps_jpatchline; 11 C74_HIDDEN t_symbol *ps_patcherview; 12 C74_HIDDEN t_symbol *ps_juiobject; 13 14 C74_HIDDEN t_symbol *ps__set; // avoids conflict with this commonly defined symbol 15 16 // notifications 17 C74_HIDDEN t_symbol *ps_patchernotify; 18 C74_HIDDEN t_symbol *ps_boxnotify; 19 C74_HIDDEN t_symbol *ps_linenotify; 20 21 C74_HIDDEN t_symbol *ps_user; 22 C74_HIDDEN t_symbol *ps_defaultname; 23 24 // patchernotify 25 C74_HIDDEN t_symbol *ps_rect; 26 C74_HIDDEN t_symbol *ps_free; 27 C74_HIDDEN t_symbol *ps_imbed; 28 C74_HIDDEN t_symbol *ps_unimbed; 29 C74_HIDDEN t_symbol *ps_snaptogrid; 30 C74_HIDDEN t_symbol *ps_invis; 31 C74_HIDDEN t_symbol *ps_toolbarvisible; 32 33 // boxnotify 34 C74_HIDDEN t_symbol *ps_newobject; 35 C74_HIDDEN t_symbol *ps_free; 36 C74_HIDDEN t_symbol *ps_redraw; 37 C74_HIDDEN t_symbol *ps_redrawcontents; // textfield text has changed 38 C74_HIDDEN t_symbol *ps_textchanged; 39 C74_HIDDEN t_symbol *ps_textcolor; 40 C74_HIDDEN t_symbol *ps_color; 41 C74_HIDDEN t_symbol *ps_grabfocus; 42 C74_HIDDEN t_symbol *ps_fontchanged; 43 C74_HIDDEN t_symbol *ps_inletoutlet; 44 C74_HIDDEN t_symbol *ps_bfixwidth; 45 C74_HIDDEN t_symbol *ps_showcaption; 46 C74_HIDDEN t_symbol *ps_hidecaption; 47 C74_HIDDEN t_symbol *ps_freecontainedview; 48 C74_HIDDEN t_symbol *ps_rebuildcontainedview; 49 C74_HIDDEN t_symbol *ps_viewvisibility; 50 C74_HIDDEN t_symbol *ps_viewvisibilitychanged; 51 52 // if a box attribute changes a boxnotify message containing the attribute name will be sent. 53 // I won't repeat the attributes here as they are listed below. 54 55 // linenotify 56 //C74_HIDDEN t_symbol *ps_newobject; 57 //C74_HIDDEN t_symbol *ps_free; 58 C74_HIDDEN t_symbol *ps_linechanged; 59 60 // Attributes of the patcher class 61 C74_HIDDEN t_symbol *ps_box; 62 C74_HIDDEN t_symbol *ps_count; 63 C74_HIDDEN t_symbol *ps_firstobject; 64 C74_HIDDEN t_symbol *ps_lastobject; 65 C74_HIDDEN t_symbol *ps_firstline; 66 C74_HIDDEN t_symbol *ps_firstview; 67 C74_HIDDEN t_symbol *ps_title; 68 C74_HIDDEN t_symbol *ps_name; 69 C74_HIDDEN t_symbol *ps_filepath; 70 C74_HIDDEN t_symbol *ps_savefilepath; 71 C74_HIDDEN t_symbol *ps_filename; 72 C74_HIDDEN t_symbol *ps_locked; 73 C74_HIDDEN t_symbol *ps_dirty; 74 C74_HIDDEN t_symbol *ps_fontname; 75 C74_HIDDEN t_symbol *ps_fontsize; 76 C74_HIDDEN t_symbol *ps_fontface; 77 C74_HIDDEN t_symbol *ps_fontcolor; 78 C74_HIDDEN t_symbol *ps_bglocked; 79 C74_HIDDEN t_symbol *ps_bghidden; 80 C74_HIDDEN t_symbol *ps_fghidden; 81 C74_HIDDEN t_symbol *ps_font; 82 C74_HIDDEN t_symbol *ps_bgcolor; 83 C74_HIDDEN t_symbol *ps_editing_bgcolor; 84 C74_HIDDEN t_symbol *ps_locked_bgcolor; 85 C74_HIDDEN t_symbol *ps_gridsize; 86 C74_HIDDEN t_symbol *ps_controller; 87 C74_HIDDEN t_symbol *ps_maxclass; 88 C74_HIDDEN t_symbol *ps_parentclass; 89 C74_HIDDEN t_symbol *ps_parentpatcher; 90 C74_HIDDEN t_symbol *ps_toppatcher; 91 C74_HIDDEN t_symbol *ps_scrolloffset; 92 C74_HIDDEN t_symbol *ps_scrollorigin; 93 C74_HIDDEN t_symbol *ps_wind; 94 C74_HIDDEN t_symbol *ps_noedit; 95 C74_HIDDEN t_symbol *ps_collective; 96 C74_HIDDEN t_symbol *ps_cansave; 97 98 // methods of the patcher class 99 //C74_HIDDEN t_symbol *ps_newobject; 100 C74_HIDDEN t_symbol *ps_newdefault; 101 C74_HIDDEN t_symbol *ps_connect; 102 C74_HIDDEN t_symbol *ps_hiddenconnect; 103 C74_HIDDEN t_symbol *ps_disconnect; 104 C74_HIDDEN t_symbol *ps_apply; 105 C74_HIDDEN t_symbol *ps_applydeep; 106 C74_HIDDEN t_symbol *ps_applyif; 107 C74_HIDDEN t_symbol *ps_applydeepif; 108 C74_HIDDEN t_symbol *ps_remove; 109 C74_HIDDEN t_symbol *ps_getnamed; 110 C74_HIDDEN t_symbol *ps_getlogical; 111 C74_HIDDEN t_symbol *ps_bringtofront; 112 C74_HIDDEN t_symbol *ps_sendtoback; 113 114 // patcher dictionary syms 115 C74_HIDDEN t_symbol *ps_pound_PD; 116 C74_HIDDEN t_symbol *ps_appversion; 117 C74_HIDDEN t_symbol *ps_major; 118 C74_HIDDEN t_symbol *ps_minor; 119 C74_HIDDEN t_symbol *ps_revision; 120 C74_HIDDEN t_symbol *ps_architecture; 121 C74_HIDDEN t_symbol *ps_x86; 122 C74_HIDDEN t_symbol *ps_x64; 123 C74_HIDDEN t_symbol *ps_modernui; 124 C74_HIDDEN t_symbol *ps_dynamiccolor; 125 126 127 // Attributes of the Maxobj class 128 //C74_HIDDEN t_symbol *ps_rect; 129 C74_HIDDEN t_symbol *ps_presentation_rect; 130 C74_HIDDEN t_symbol *ps_patching_rect; 131 C74_HIDDEN t_symbol *ps_jp_position; 132 C74_HIDDEN t_symbol *ps_presentation_position; 133 C74_HIDDEN t_symbol *ps_patching_position; 134 C74_HIDDEN t_symbol *ps_size; 135 C74_HIDDEN t_symbol *ps_presentation_size; 136 C74_HIDDEN t_symbol *ps_patching_size; 137 C74_HIDDEN t_symbol *ps_object; 138 //C74_HIDDEN t_symbol *ps_maxclass; 139 //C74_HIDDEN t_symbol *ps_patcher; 140 C74_HIDDEN t_symbol *ps_hint; 141 C74_HIDDEN t_symbol *ps_hidden; 142 //C74_HIDDEN t_symbol *ps_fontname; 143 //C74_HIDDEN t_symbol *ps_fontsize; 144 C74_HIDDEN t_symbol *ps_color; 145 C74_HIDDEN t_symbol *ps_nextobject; 146 C74_HIDDEN t_symbol *ps_prevobject; 147 C74_HIDDEN t_symbol *ps_varname; 148 C74_HIDDEN t_symbol *ps_id; 149 C74_HIDDEN t_symbol *ps_canhilite; 150 C74_HIDDEN t_symbol *ps_zorder; 151 C74_HIDDEN t_symbol *ps_background; 152 C74_HIDDEN t_symbol *ps_ignoreclick; 153 C74_HIDDEN t_symbol *ps_drawfirstin; 154 C74_HIDDEN t_symbol *ps_outline; 155 C74_HIDDEN t_symbol *ps_growy; 156 C74_HIDDEN t_symbol *ps_growboth; 157 C74_HIDDEN t_symbol *ps_nogrow; 158 C74_HIDDEN t_symbol *ps_drawinlast; 159 C74_HIDDEN t_symbol *ps_transparent; 160 C74_HIDDEN t_symbol *ps_mousedragdelta; 161 C74_HIDDEN t_symbol *ps_textfield; 162 //C74_HIDDEN t_symbol *ps_presentation_rect; 163 C74_HIDDEN t_symbol *ps_opaque; 164 C74_HIDDEN t_symbol *ps_useimagebuffer; 165 C74_HIDDEN t_symbol *ps_hide; 166 C74_HIDDEN t_symbol *ps_show; 167 C74_HIDDEN t_symbol *ps_move; 168 C74_HIDDEN t_symbol *ps_offset; 169 C74_HIDDEN t_symbol *ps_respondtoclick; 170 171 // Methods of the Maxobj class 172 C74_HIDDEN t_symbol *ps_message; 173 C74_HIDDEN t_symbol *ps_help; 174 C74_HIDDEN t_symbol *ps_subpatcher; 175 C74_HIDDEN t_symbol *ps_understands; 176 177 // attributes of the jpatchline 178 C74_HIDDEN t_symbol *ps_startpoint; 179 C74_HIDDEN t_symbol *ps_endpoint; 180 C74_HIDDEN t_symbol *ps_pending; 181 C74_HIDDEN t_symbol *ps_nummidpoints; 182 C74_HIDDEN t_symbol *ps_midpoints; 183 C74_HIDDEN t_symbol *ps_box1; 184 C74_HIDDEN t_symbol *ps_outletnum; 185 C74_HIDDEN t_symbol *ps_box2; 186 C74_HIDDEN t_symbol *ps_inletnum; 187 //C74_HIDDEN t_symbol *ps_hidden; 188 //C74_HIDDEN t_symbol *ps_color; 189 C74_HIDDEN t_symbol *ps_boundingbox; 190 C74_HIDDEN t_symbol *ps_straightthresh; 191 C74_HIDDEN t_symbol *ps_straightstart; 192 C74_HIDDEN t_symbol *ps_straightend; 193 C74_HIDDEN t_symbol *ps_nextline; 194 195 // attributes of the patcherview 196 C74_HIDDEN t_symbol *ps_visible; 197 //C74_HIDDEN t_symbol *ps_locked; 198 C74_HIDDEN t_symbol *ps_unlockedinteraction; 199 C74_HIDDEN t_symbol *ps_presentation; 200 C74_HIDDEN t_symbol *ps_zoomfactor; 201 C74_HIDDEN t_symbol *ps_nextview; 202 C74_HIDDEN t_symbol *ps_jgraphics; 203 //C74_HIDDEN t_symbol *ps_patcher; 204 205 // methods of the jpatchline 206 C74_HIDDEN t_symbol *ps_insertsegment; 207 C74_HIDDEN t_symbol *ps_removesegment; 208 C74_HIDDEN t_symbol *ps_setmidpoint; 209 C74_HIDDEN t_symbol *ps_completeconnection; 210 211 // Messages to UI objects from the view 212 C74_HIDDEN t_symbol *ps_focusgained; 213 C74_HIDDEN t_symbol *ps_focuslost; 214 C74_HIDDEN t_symbol *ps_key; 215 C74_HIDDEN t_symbol *ps_keyfilter; 216 C74_HIDDEN t_symbol *ps_mouseenter; 217 C74_HIDDEN t_symbol *ps_mousemove; 218 C74_HIDDEN t_symbol *ps_mousedown; 219 C74_HIDDEN t_symbol *ps_mousedrag; 220 C74_HIDDEN t_symbol *ps_mouseup; 221 C74_HIDDEN t_symbol *ps_mousedoubleclick; 222 C74_HIDDEN t_symbol *ps_mousewheel; 223 C74_HIDDEN t_symbol *ps_mouseleave; 224 C74_HIDDEN t_symbol *ps_dropfiles; 225 C74_HIDDEN t_symbol *ps_moved; 226 C74_HIDDEN t_symbol *ps_resized; 227 C74_HIDDEN t_symbol *ps_vis; 228 C74_HIDDEN t_symbol *ps_bcut; 229 C74_HIDDEN t_symbol *ps_bcopy; 230 C74_HIDDEN t_symbol *ps_bpaste; 231 C74_HIDDEN t_symbol *ps_bpastepic; 232 C74_HIDDEN t_symbol *ps_bclear; 233 C74_HIDDEN t_symbol *ps_bundo; 234 C74_HIDDEN t_symbol *ps_bredo; 235 236 // Textfield attributes 237 C74_HIDDEN t_symbol *ps_owner; 238 C74_HIDDEN t_symbol *ps_textcolor; 239 C74_HIDDEN t_symbol *ps_textmargins; 240 C74_HIDDEN t_symbol *ps_editonclick; 241 C74_HIDDEN t_symbol *ps_selectallonedit; 242 C74_HIDDEN t_symbol *ps_noactivate; 243 C74_HIDDEN t_symbol *ps_readonly; 244 C74_HIDDEN t_symbol *ps_wordwrap; 245 C74_HIDDEN t_symbol *ps_useellipsis; 246 C74_HIDDEN t_symbol *ps_autoscroll; 247 C74_HIDDEN t_symbol *ps_wantsreturn; 248 C74_HIDDEN t_symbol *ps_wantstab; 249 C74_HIDDEN t_symbol *ps_underline; 250 C74_HIDDEN t_symbol *ps_autofixwidth; 251 C74_HIDDEN t_symbol *ps_emptytext; 252 C74_HIDDEN t_symbol *ps_justification; 253 254 // jcolor attributes 255 C74_HIDDEN t_symbol *ps_red; 256 C74_HIDDEN t_symbol *ps_green; 257 C74_HIDDEN t_symbol *ps_blue; 258 C74_HIDDEN t_symbol *ps_alpha; 259 C74_HIDDEN t_symbol *ps_rgba; 260 261 // scripting names 262 C74_HIDDEN t_symbol *ps_varname_set; 263 C74_HIDDEN t_symbol *ps_varname_unset; 264 265 END_USING_C_LINKAGE 266 267 C74_HIDDEN void jpatcher_syms_init() 268 { 269 ps__set = gensym("set"); 270 ps_alpha = gensym("alpha"); 271 ps_apply = gensym("apply"); 272 ps_applydeep = gensym("applydeep"); 273 ps_applydeepif = gensym("applydeepif"); 274 ps_applyif = gensym("applyif"); 275 ps_appversion = gensym("appversion"); 276 ps_architecture = gensym("architecture"); 277 ps_autofixwidth = gensym("autofixwidth"); 278 ps_autoscroll = gensym("autoscroll"); 279 ps_background = gensym("background"); 280 ps_bclear = gensym("bclear"); 281 ps_bcopy = gensym("bcopy"); 282 ps_bcut = gensym("bcut"); 283 ps_bfixwidth = gensym("bfixwidth"); 284 ps_bgcolor = gensym("bgcolor"); 285 ps_bghidden = gensym("bghidden"); 286 ps_bglocked = gensym("bglocked"); 287 ps_blue = gensym("blue"); 288 ps_boundingbox = gensym("boundingbox"); 289 ps_box = gensym("box"); 290 ps_box1 = gensym("box1"); 291 ps_box2 = gensym("box2"); 292 ps_boxnotify = gensym("boxnotify"); 293 ps_bpaste = gensym("bpaste"); 294 ps_bpastepic = gensym("bpastepic"); 295 ps_bredo = gensym("bredo"); 296 ps_bringtofront = gensym("bringtofront"); 297 ps_bundo = gensym("bundo"); 298 ps_canhilite = gensym("canhilite"); 299 ps_cansave = gensym("cansave"); 300 ps_collective = gensym("collective"); 301 ps_color = gensym("color"); 302 ps_completeconnection = gensym("completeconnection"); 303 ps_connect = gensym("connect"); 304 ps_controller = gensym("controller"); 305 ps_count = gensym("count"); 306 ps_defaultname = gensym("defaultname"); 307 ps_dirty = gensym("dirty"); 308 ps_disconnect = gensym("disconnect"); 309 ps_drawfirstin = gensym("drawfirstin"); 310 ps_drawinlast = gensym("drawinlast"); 311 ps_dropfiles = gensym("dropfiles"); 312 ps_dynamiccolor = gensym("dynamiccolor"); 313 ps_editing_bgcolor = gensym("editing_bgcolor"); 314 ps_editonclick = gensym("editonclick"); 315 ps_emptytext = gensym("emptytext"); 316 ps_endpoint = gensym("endpoint"); 317 ps_fghidden = gensym("fghidden"); 318 ps_filename = gensym("filename"); 319 ps_filepath = gensym("filepath"); 320 ps_firstline = gensym("firstline"); 321 ps_firstobject = gensym("firstobject"); 322 ps_firstview = gensym("firstview"); 323 ps_focusgained = gensym("focusgained"); 324 ps_focuslost = gensym("focuslost"); 325 ps_font = gensym("font"); 326 ps_fontchanged = gensym("fontchanged"); 327 ps_fontface = gensym("fontface"); 328 ps_fontname = gensym("fontname"); 329 ps_fontsize = gensym("fontsize"); 330 ps_free = gensym("free"); 331 ps_freecontainedview = gensym("freecontainedview"); 332 ps_getlogical = gensym("getlogical"); 333 ps_getnamed = gensym("getnamed"); 334 ps_grabfocus = gensym("grabfocus"); 335 ps_green = gensym("green"); 336 ps_gridsize = gensym("gridsize"); 337 ps_growboth = gensym("growboth"); 338 ps_growy = gensym("growy"); 339 ps_help = gensym("help"); 340 ps_hidden = gensym("hidden"); 341 ps_hiddenconnect = gensym("hiddenconnect"); 342 ps_hide = gensym("hide"); 343 ps_hidecaption = gensym("hidecaption"); 344 ps_hint = gensym("hint"); 345 ps_id = gensym("id"); 346 ps_ignoreclick = gensym("ignoreclick"); 347 ps_imbed = gensym("imbed"); 348 ps_inletnum = gensym("inletnum"); 349 ps_inletoutlet = gensym("inletoutlet"); 350 ps_insertsegment = gensym("insertsegment"); 351 ps_invis = gensym("invis"); 352 ps_jgraphics = gensym("jgraphics"); 353 ps_jp_position = gensym("position"); 354 ps_jpatcher = gensym("jpatcher"); 355 ps_jpatchline = gensym("jpatchline"); 356 ps_juiobject = gensym("juiobject"); 357 ps_justification = gensym("justification"); 358 ps_key = gensym("key"); 359 ps_keyfilter = gensym("keyfilter"); 360 ps_lastobject = gensym("lastobject"); 361 ps_linechanged = gensym("linechanged"); 362 ps_linenotify = gensym("linenotify"); 363 ps_locked = gensym("locked"); 364 ps_locked_bgcolor = gensym("locked_bgcolor"); 365 ps_major = gensym("major"); 366 ps_maxclass = gensym("maxclass"); 367 ps_message = gensym("message"); 368 ps_midpoints = gensym("midpoints"); 369 ps_minor = gensym("minor"); 370 ps_modernui = gensym("modernui"); 371 ps_mousedoubleclick = gensym("mousedoubleclick"); 372 ps_mousedown = gensym("mousedown"); 373 ps_mousedrag = gensym("mousedrag"); 374 ps_mousedragdelta = gensym("mousedragdelta"); 375 ps_mouseenter = gensym("mouseenter"); 376 ps_mouseleave = gensym("mouseleave"); 377 ps_mousemove = gensym("mousemove"); 378 ps_mouseup = gensym("mouseup"); 379 ps_mousewheel = gensym("mousewheel"); 380 ps_move = gensym("move"); 381 ps_moved = gensym("moved"); 382 ps_name = gensym("name"); 383 ps_newdefault = gensym("newdefault"); 384 ps_newobject = gensym("newobject"); 385 ps_nextline = gensym("nextline"); 386 ps_nextobject = gensym("nextobject"); 387 ps_nextview = gensym("nextview"); 388 ps_noactivate = gensym("noactivate"); 389 ps_noedit = gensym("noedit"); 390 ps_nogrow = gensym("nogrow"); 391 ps_nummidpoints = gensym("nummidpoints"); 392 ps_object = gensym("object"); 393 ps_offset = gensym("offset"); 394 ps_opaque = gensym("opaque"); 395 ps_outletnum = gensym("outletnum"); 396 ps_outline = gensym("outline"); 397 ps_owner = gensym("owner"); 398 ps_parentclass = gensym("parentclass"); 399 ps_parentpatcher = gensym("parentpatcher"); 400 ps_patcher = gensym("patcher"); 401 ps_patchernotify = gensym("patchernotify"); 402 ps_patcherview = gensym("patcherview"); 403 ps_patching_position = gensym("patching_position"); 404 ps_patching_rect = gensym("patching_rect"); 405 ps_patching_size = gensym("patching_size"); 406 ps_pending = gensym("pending"); 407 ps_pound_PD = gensym("#PD"); 408 ps_presentation = gensym("presentation"); 409 ps_presentation_position = gensym("presentation_position"); 410 ps_presentation_rect = gensym("presentation_rect"); 411 ps_presentation_size = gensym("presentation_size"); 412 ps_prevobject = gensym("prevobject"); 413 ps_readonly = gensym("readonly"); 414 ps_rebuildcontainedview = gensym("rebuildcontainedview"); 415 ps_rect = gensym("rect"); 416 ps_red = gensym("red"); 417 ps_redraw = gensym("redraw"); 418 ps_redrawcontents = gensym("redrawcontents"); 419 ps_remove = gensym("remove"); 420 ps_removesegment = gensym("removesegment"); 421 ps_resized = gensym("resized"); 422 ps_respondtoclick = gensym("respondtoclick"); 423 ps_revision = gensym("revision"); 424 ps_rgba = gensym("rgba"); 425 ps_savefilepath = gensym("savefilepath"); 426 ps_scrolloffset = gensym("scrolloffset"); 427 ps_scrollorigin = gensym("scrollorigin"); 428 ps_selectallonedit = gensym("selectallonedit"); 429 ps_sendtoback = gensym("sendtoback"); 430 ps_setmidpoint = gensym("setmidpoint"); 431 ps_show = gensym("show"); 432 ps_showcaption = gensym("showcaption"); 433 ps_size = gensym("size"); 434 ps_snaptogrid = gensym("snaptogrid"); 435 ps_startpoint = gensym("startpoint"); 436 ps_straightend = gensym("straightend"); 437 ps_straightstart = gensym("straightstart"); 438 ps_straightthresh = gensym("straightthresh"); 439 ps_subpatcher = gensym("subpatcher"); 440 ps_textchanged = gensym("textchanged"); 441 ps_textcolor = gensym("textcolor"); 442 ps_textfield = gensym("textfield"); 443 ps_textmargins = gensym("textmargins"); 444 ps_title = gensym("title"); 445 ps_toolbarvisible = gensym("toolbarvisible"); 446 ps_toppatcher = gensym("toppatcher"); 447 ps_topview = gensym("topview"); 448 ps_transparent = gensym("transparent"); 449 ps_underline = gensym("underline"); 450 ps_understands = gensym("understands"); 451 ps_unimbed = gensym("unimbed"); 452 ps_unlockedinteraction = gensym("unlockedinteraction"); 453 ps_useellipsis = gensym("useellipsis"); 454 ps_useimagebuffer = gensym("useimagebuffer"); 455 ps_user = gensym("user"); 456 ps_varname = gensym("varname"); 457 ps_varname_set = gensym("varname_set"); 458 ps_varname_unset = gensym("varname_unset"); 459 ps_viewvisibility = gensym("viewvisibility"); 460 ps_viewvisibilitychanged = gensym("viewvisibilitychanged"); 461 ps_vis = gensym("vis"); 462 ps_visible = gensym("visible"); 463 ps_wantsreturn = gensym("wantsreturn"); 464 ps_wantstab = gensym("wantstab"); 465 ps_wind = gensym("wind"); 466 ps_wordwrap = gensym("wordwrap"); 467 ps_x64 = gensym("x64"); 468 ps_x86 = gensym("x86"); 469 ps_zoomfactor = gensym("zoomfactor"); 470 ps_zorder = gensym("zorder"); 471 } 472