OSDN Git Service

temp
[pettanr/pettanr.git] / app / assets / javascripts / configurations.js.coffee.erb
1 @configurations = {\r
2   models: {\r
3     Scroll: 'scroll',\r
4     scroll: {\r
5       class_name: 'Scroll',\r
6       table_name: 'scrolls',\r
7       associations: {\r
8         belongs_to: {\r
9           author: {\r
10             id_column: 'author_id'\r
11           }, \r
12         },\r
13         has_many: {\r
14           scroll_panels: {\r
15             foreign_key: 'scroll_id',\r
16             list_method: 'list_by_scroll',\r
17           }, \r
18           panels: {\r
19             through: 'scroll_panels',\r
20             foreign_key: 'scroll_id'\r
21             list_method: 'list_by_scroll',\r
22           }, \r
23         },\r
24       },\r
25       attributes: {\r
26         id: {\r
27           type: 'number',\r
28           primary_key: 1,\r
29           rules : {\r
30             number: true,\r
31           }\r
32         },\r
33         title: {\r
34           type: 'text',\r
35           rules : {\r
36             required: true,\r
37           }\r
38         },\r
39         description: {\r
40           type: 'text',\r
41           rules : {\r
42           }\r
43         },\r
44         visible: {\r
45           type: 'number',\r
46           rules : {\r
47             required: true,\r
48             number: true,\r
49           },\r
50           source: {\r
51             type: 'magic_number',\r
52             key: 'scroll_visible_items',\r
53           },\r
54         },\r
55         author_id: {\r
56           type: 'number',\r
57           rules : {\r
58             required: true,\r
59             number: true,\r
60           },\r
61         },\r
62         created_at: {\r
63           type: 'datetime',\r
64         },\r
65         updated_at: {\r
66           type: 'datetime',\r
67         }\r
68       },\r
69       select: {\r
70         method: 'list',\r
71         caption: {\r
72           type: 'column',\r
73           name: 'title'\r
74         },\r
75       },\r
76     },\r
77     ScrollPanel: 'scroll_panel',\r
78     scroll_panel: {\r
79       class_name: 'ScrollPanel',\r
80       table_name: 'scroll_panels',\r
81       associations: {\r
82         belongs_to: {\r
83           panel: {\r
84             id_column: 'panel_id'\r
85           }, \r
86           scroll: {\r
87             id_column: 'scroll_id'\r
88           }, \r
89         },\r
90         has_many: {\r
91         },\r
92       },\r
93       attributes: {\r
94         id: {\r
95           type: 'number',\r
96           primary_key: 1,\r
97           rules : {\r
98             number: true,\r
99           }\r
100         },\r
101         scroll_id: {\r
102           type: 'number',\r
103           rules : {\r
104             required: true,\r
105             number: true,\r
106           }\r
107         },\r
108         panel_id: {\r
109           type: 'number',\r
110           rules : {\r
111             required: true,\r
112             number: true,\r
113           }\r
114         },\r
115         t: {\r
116           type: 'number',\r
117           rules : {\r
118             required: true,\r
119             number: true,\r
120             min: 0,\r
121           }\r
122         },\r
123         author_id: {\r
124           type: 'number',\r
125           rules : {\r
126             required: true,\r
127             number: true,\r
128           }\r
129         },\r
130         created_at: {\r
131           type: 'datetime',\r
132         },\r
133         updated_at: {\r
134           type: 'datetime',\r
135         }\r
136       }\r
137     },\r
138     Comic: 'comic',\r
139     comic: {\r
140       class_name: 'Comic',\r
141       table_name: 'comics',\r
142       associations: {\r
143         belongs_to: {\r
144           author: {\r
145             id_column: 'author_id'\r
146           }, \r
147         },\r
148         has_many: {\r
149           stories: {\r
150             foreign_key: 'comic_id'\r
151             list_method: 'list_by_comic',\r
152           }, \r
153         },\r
154         has_many_through: {\r
155         },\r
156       },\r
157       attributes: {\r
158         id: {\r
159           type: 'number',\r
160           primary_key: 1,\r
161           rules : {\r
162             number: true,\r
163           }\r
164         },\r
165         title: {\r
166           type: 'text',\r
167           rules : {\r
168             required: true,\r
169           }\r
170         },\r
171         description: {\r
172           type: 'text',\r
173           rules : {\r
174           }\r
175         },\r
176         visible: {\r
177           type: 'number',\r
178           rules : {\r
179             required: true,\r
180             number: true,\r
181           },\r
182           source: {\r
183             type: 'magic_number',\r
184             key: 'comic_visible_items',\r
185           },\r
186         },\r
187         author_id: {\r
188           type: 'number',\r
189           rules : {\r
190             required: true,\r
191             number: true,\r
192           }\r
193         },\r
194         created_at: {\r
195           type: 'datetime',\r
196         },\r
197         updated_at: {\r
198           type: 'datetime',\r
199         }\r
200       },\r
201       select: {\r
202         method: 'list',\r
203         caption: {\r
204           type: 'column',\r
205           name: 'title'\r
206         },\r
207       },\r
208     },\r
209     Story: 'story',\r
210     story: {\r
211       class_name: 'Story',\r
212       table_name: 'stories',\r
213       associations: {\r
214         belongs_to: {\r
215           comic: {\r
216             id_column: 'comic_id'\r
217           }, \r
218         },\r
219         has_many: {\r
220           story_sheets: {\r
221             foreign_key: 'story_id',\r
222             list_method: 'list_by_story',\r
223           }, \r
224           sheets: {\r
225             through: 'story_sheets',\r
226             foreign_key: 'story_id'\r
227             list_method: 'list_by_story',\r
228           }, \r
229         },\r
230       },\r
231       attributes: {\r
232         id: {\r
233           type: 'number',\r
234           primary_key: 1,\r
235           rules : {\r
236             number: true,\r
237           }\r
238         },\r
239         comic_id: {\r
240           type: 'number',\r
241           rules : {\r
242             number: true,\r
243           }\r
244         },\r
245         title: {\r
246           type: 'text',\r
247           rules : {\r
248           }\r
249         },\r
250         description: {\r
251           type: 'text',\r
252           rules : {\r
253           }\r
254         },\r
255         t: {\r
256           type: 'number',\r
257           rules : {\r
258             required: true,\r
259             number: true,\r
260             min: 0,\r
261           }\r
262         },\r
263         visible: {\r
264           type: 'number',\r
265           rules : {\r
266             required: true,\r
267             number: true,\r
268           },\r
269           source: {\r
270             type: 'magic_number',\r
271             key: 'story_visible_items',\r
272           },\r
273         },\r
274         created_at: {\r
275           type: 'datetime',\r
276         },\r
277         updated_at: {\r
278           type: 'datetime',\r
279         }\r
280       },\r
281       select: {\r
282         method: 'list',\r
283         caption: {\r
284           type: 'method',\r
285           name: 'title_with_t',\r
286         },\r
287       },\r
288     },\r
289     StorySheet: 'story_sheet',\r
290     story_sheet: {\r
291       class_name: 'StorySheet',\r
292       table_name: 'story_sheets',\r
293       associations: {\r
294         belongs_to: {\r
295           story: {\r
296             id_column: 'story_id'\r
297           }, \r
298           sheet: {\r
299             id_column: 'sheet_id'\r
300           }, \r
301         },\r
302         has_many: {\r
303         },\r
304       },\r
305       attributes: {\r
306         id: {\r
307           type: 'number',\r
308           primary_key: 1,\r
309           rules : {\r
310             number: true,\r
311           }\r
312         },\r
313         story_id: {\r
314           type: 'number',\r
315           rules : {\r
316             number: true,\r
317           }\r
318         },\r
319         sheet_id: {\r
320           type: 'number',\r
321           rules : {\r
322             number: true,\r
323           }\r
324         },\r
325         t: {\r
326           type: 'number',\r
327           rules : {\r
328             required: true,\r
329             number: true,\r
330             min: 0,\r
331           }\r
332         },\r
333         author_id: {\r
334           type: 'number',\r
335           rules : {\r
336             required: true,\r
337             number: true,\r
338           }\r
339         },\r
340         created_at: {\r
341           type: 'datetime',\r
342         },\r
343         updated_at: {\r
344           type: 'datetime',\r
345         }\r
346       }\r
347     },\r
348     Sheet: 'sheet',\r
349     sheet: {\r
350       class_name: 'Sheet',\r
351       table_name: 'sheets',\r
352       associations: {\r
353         belongs_to: {\r
354           author: {\r
355             id_column: 'author_id'\r
356           }, \r
357         },\r
358         has_many: {\r
359           story_sheets: {\r
360             foreign_key: 'story_id',\r
361             list_method: 'list_by_sheet',\r
362           }, \r
363           stories: {\r
364             through: 'story_sheets',\r
365             foreign_key: 'sheet_id'\r
366             list_method: 'list_by_sheet',\r
367           }, \r
368           sheet_panels: {\r
369             foreign_key: 'sheet_id',\r
370             list_method: 'list_by_sheet',\r
371           }, \r
372           panels: {\r
373             through: 'sheet_panels',\r
374             foreign_key: 'sheet_id'\r
375             list_method: 'list_by_sheet',\r
376           }, \r
377         },\r
378       },\r
379       attributes: {\r
380         id: {\r
381           type: 'number',\r
382           primary_key: 1,\r
383           rules : {\r
384             number: true,\r
385           }\r
386         },\r
387         caption: {\r
388           type: 'text',\r
389           rules : {\r
390           }\r
391         },\r
392         width: {\r
393           type: 'number',\r
394           rules : {\r
395             required: true,\r
396             number: true,\r
397           }\r
398         },\r
399         height: {\r
400           type: 'number',\r
401           rules : {\r
402             required: true,\r
403             number: true,\r
404           }\r
405         },\r
406         visible: {\r
407           type: 'number',\r
408           rules : {\r
409             required: true,\r
410             number: true,\r
411           },\r
412           source: {\r
413             type: 'magic_number',\r
414             key: 'sheet_visible_items',\r
415           },\r
416         },\r
417         author_id: {\r
418           type: 'number',\r
419           rules : {\r
420             required: true,\r
421             number: true,\r
422           }\r
423         },\r
424         created_at: {\r
425           type: 'datetime',\r
426         },\r
427         updated_at: {\r
428           type: 'datetime',\r
429         }\r
430       },\r
431       select: {\r
432         method: 'list',\r
433         caption: {\r
434           type: 'column',\r
435           name: 'caption'\r
436         },\r
437       },\r
438     },\r
439     SheetPanel: 'sheet_panel',\r
440     sheet_panel: {\r
441       class_name: 'SheetPanel',\r
442       table_name: 'sheet_panels',\r
443       associations: {\r
444         belongs_to: {\r
445           sheet: {\r
446             id_column: 'sheet_id'\r
447           }, \r
448           panel: {\r
449             id_column: 'panel_id'\r
450           }, \r
451         },\r
452         has_many: {\r
453         },\r
454       },\r
455       attributes: {\r
456         id: {\r
457           type: 'number',\r
458           primary_key: 1,\r
459           rules : {\r
460             number: true,\r
461           }\r
462         },\r
463         sheet_id: {\r
464           type: 'number',\r
465           rules : {\r
466             number: true,\r
467           }\r
468         },\r
469         panel_id: {\r
470           type: 'number',\r
471           rules : {\r
472             number: true,\r
473           }\r
474         },\r
475         x: {\r
476           type: 'number',\r
477           rules : {\r
478             required: true,\r
479             number: true,\r
480           }\r
481         },\r
482         y: {\r
483           type: 'number',\r
484           rules : {\r
485             required: true,\r
486             number: true,\r
487           }\r
488         },\r
489         z: {\r
490           type: 'number',\r
491           rules : {\r
492             required: true,\r
493             number: true,\r
494             min: 1,\r
495           }\r
496         },\r
497         t: {\r
498           type: 'number',\r
499           rules : {\r
500             required: true,\r
501             number: true,\r
502             min: 0,\r
503           }\r
504         },\r
505         author_id: {\r
506           type: 'number',\r
507           rules : {\r
508             number: true,\r
509           }\r
510         },\r
511         created_at: {\r
512           type: 'datetime',\r
513         },\r
514         updated_at: {\r
515           type: 'datetime',\r
516         }\r
517       }\r
518     },\r
519     Panel: 'panel',\r
520     panel: {\r
521       class_name: 'Panel',\r
522       table_name: 'panels',\r
523       associations: {\r
524         belongs_to: {\r
525           author: {\r
526             id_column: 'author_id'\r
527           }, \r
528         },\r
529         has_many: {\r
530           scroll_panels: {\r
531             foreign_key: 'panel_id',\r
532             list_method: 'list_by_panel',\r
533           }, \r
534           scrolls: {\r
535             through: 'scroll_panels',\r
536             foreign_key: 'panel_id'\r
537             list_method: 'list_by_panel',\r
538           }, \r
539           sheet_panels: {\r
540             foreign_key: 'panel_id',\r
541             list_method: 'list_by_panel',\r
542           }, \r
543           sheets: {\r
544             through: 'sheet_panels',\r
545             foreign_key: 'panel_id'\r
546             list_method: 'list_by_panel',\r
547           }, \r
548           panel_pictures: {\r
549             foreign_key: 'panel_id',\r
550             list_method: 'list_by_panel',\r
551           }, \r
552           speech_balloons: {\r
553             foreign_key: 'panel_id',\r
554             list_method: 'list_by_panel',\r
555           }, \r
556           ground_pictures: {\r
557             foreign_key: 'panel_id',\r
558             list_method: 'list_by_panel',\r
559           }, \r
560           ground_colors: {\r
561             foreign_key: 'panel_id',\r
562             list_method: 'list_by_panel',\r
563           }, \r
564         },\r
565       },\r
566       attributes: {\r
567         id: {\r
568           type: 'number',\r
569           primary_key: 1,\r
570           rules : {\r
571             number: true,\r
572           }\r
573         },\r
574         width: {\r
575           type: 'number',\r
576           rules : {\r
577             required: true,\r
578             number: true,\r
579             min: 1,\r
580           }\r
581         },\r
582         height: {\r
583           type: 'number',\r
584           rules : {\r
585             required: true,\r
586             number: true,\r
587             min: 1,\r
588           }\r
589         },\r
590         border: {\r
591           type: 'number',\r
592           rules : {\r
593             required: true,\r
594             number: true,\r
595             min: 0,\r
596           }\r
597         },\r
598         caption: {\r
599           type: 'text',\r
600           rules : {\r
601           }\r
602         },\r
603         publish: {\r
604           type: 'number',\r
605           rules : {\r
606             required: true,\r
607             number: true,\r
608           },\r
609           source: {\r
610             type: 'magic_number',\r
611             key: 'panel_visible_items',\r
612           },\r
613         },\r
614         author_id: {\r
615           type: 'number',\r
616           rules : {\r
617             required: true,\r
618             number: true,\r
619           }\r
620         },\r
621         created_at: {\r
622           type: 'datetime',\r
623         },\r
624         updated_at: {\r
625           type: 'datetime',\r
626         }\r
627       },\r
628       select: {\r
629         method: 'list',\r
630         caption: {\r
631           type: 'method',\r
632           name: 'plain_scenario',\r
633         },\r
634       },\r
635     },\r
636     PanelPicture: 'panel_picture',\r
637     panel_picture: {\r
638       class_name: 'PanelPicture',\r
639       table_name: 'panel_pictures',\r
640       associations: {\r
641         belongs_to: {\r
642           panel: {\r
643             id_column: 'panel_id'\r
644           }, \r
645         },\r
646         has_many: {\r
647         },\r
648       },\r
649       attributes: {\r
650         id: {\r
651           type: 'number',\r
652           primary_key: 1,\r
653           rules : {\r
654             number: true,\r
655           }\r
656         },\r
657         panel_id: {\r
658           type: 'number',\r
659           rules : {\r
660             number: true,\r
661           }\r
662         },\r
663         picture_id: {\r
664           type: 'number',\r
665           rules : {\r
666             required: true,\r
667             number: true,\r
668           }\r
669         },\r
670         caption: {\r
671           type: 'text',\r
672           rules : {\r
673           }\r
674         },\r
675         x: {\r
676           type: 'number',\r
677           rules : {\r
678             required: true,\r
679             number: true,\r
680           }\r
681         },\r
682         y: {\r
683           type: 'number',\r
684           rules : {\r
685             required: true,\r
686             number: true,\r
687           }\r
688         },\r
689         width: {\r
690           type: 'number',\r
691           rules : {\r
692             required: true,\r
693             number: true,\r
694           }\r
695         },\r
696         height: {\r
697           type: 'number',\r
698           rules : {\r
699             required: true,\r
700             number: true,\r
701           }\r
702         },\r
703         link: {\r
704           type: 'text',\r
705           rules : {\r
706             url: true,\r
707           }\r
708         },\r
709         z: {\r
710           type: 'number',\r
711           rules : {\r
712             required: true,\r
713             number: true,\r
714             min: 1,\r
715           }\r
716         },\r
717         t: {\r
718           type: 'number',\r
719           rules : {\r
720             required: true,\r
721             number: true,\r
722             min: 0,\r
723           }\r
724         },\r
725         created_at: {\r
726           type: 'datetime',\r
727         },\r
728         updated_at: {\r
729           type: 'datetime',\r
730         }\r
731       }\r
732     },\r
733     SpeechBalloon: 'speech_balloon',\r
734     speech_balloon: {\r
735       class_name: 'SpeechBalloon',\r
736       table_name: 'speech_balloons',\r
737       extend: 'classname', \r
738       associations: {\r
739         belongs_to: {\r
740           panel: {\r
741             id_column: 'panel_id'\r
742           }, \r
743         },\r
744         has_many: {\r
745         },\r
746         has_one: {\r
747           balloon: {\r
748             foreign_key: 'speech_balloon_id',\r
749             list_method: 'list_by_speech_balloon',\r
750           }, \r
751           speech: {\r
752             foreign_key: 'speech_balloon_id',\r
753             list_method: 'list_by_speech_balloon',\r
754           }, \r
755         },\r
756       },\r
757       attributes: {\r
758         id: {\r
759           type: 'number',\r
760           primary_key: 1,\r
761           rules : {\r
762             number: true,\r
763           }\r
764         },\r
765         panel_id: {\r
766           type: 'number',\r
767           rules : {\r
768             number: true,\r
769           }\r
770         },\r
771         speech_balloon_template_id: {\r
772           type: 'number',\r
773           rules : {\r
774             required: true,\r
775             number: true,\r
776           }\r
777         },\r
778         classname: {\r
779           type: 'text',\r
780           rules : {\r
781             required: true,\r
782           }\r
783         },\r
784         z: {\r
785           type: 'number',\r
786           rules : {\r
787             required: true,\r
788             number: true,\r
789             min: 1,\r
790           }\r
791         },\r
792         t: {\r
793           type: 'number',\r
794           rules : {\r
795             required: true,\r
796             number: true,\r
797             min: 0,\r
798           }\r
799         },\r
800         settings: {\r
801           type: 'text',\r
802           rules : {\r
803           }\r
804         },\r
805         caption: {\r
806           type: 'text',\r
807           rules : {\r
808           }\r
809         },\r
810         created_at: {\r
811           type: 'datetime',\r
812         },\r
813         updated_at: {\r
814           type: 'datetime',\r
815         }\r
816       },\r
817       select: {\r
818         method: 'list',\r
819         caption: {\r
820           type: 'method',\r
821           name: 'plain_scenario',\r
822         },\r
823       },\r
824     }, \r
825     Balloon: 'balloon',\r
826     balloon: {\r
827       class_name: 'Balloon',\r
828       table_name: 'balloons',\r
829       associations: {\r
830         belongs_to: {\r
831           speech_balloon: {\r
832             id_column: 'speech_balloon_id'\r
833           }, \r
834           system_picture: {\r
835             id_column: 'system_picture_id'\r
836           }, \r
837         },\r
838         has_many: {\r
839         },\r
840       },\r
841       attributes: {\r
842         id: {\r
843           type: 'number',\r
844           primary_key: 1,\r
845           rules : {\r
846             number: true,\r
847           }\r
848         },\r
849         speech_balloon_id: {\r
850           type: 'number',\r
851           rules : {\r
852             number: true,\r
853           }\r
854         },\r
855         system_picture_id: {\r
856           type: 'number',\r
857           rules : {\r
858             required: true,\r
859             number: true,\r
860           }\r
861         },\r
862         x: {\r
863           type: 'number',\r
864           rules : {\r
865             required: true,\r
866             number: true,\r
867           }\r
868         },\r
869         y: {\r
870           type: 'number',\r
871           rules : {\r
872             required: true,\r
873             number: true,\r
874           }\r
875         },\r
876         width: {\r
877           type: 'number',\r
878           rules : {\r
879             required: true,\r
880             number: true,\r
881             min: 1,\r
882           }\r
883         },\r
884         height: {\r
885           type: 'number',\r
886           rules : {\r
887             required: true,\r
888             number: true,\r
889             min: 1,\r
890           }\r
891         },\r
892         r: {\r
893           type: 'number',\r
894           rules : {\r
895             required: true,\r
896             number: true,\r
897           }\r
898         },\r
899         settings: {\r
900           type: 'text',\r
901           rules : {\r
902           }\r
903         },\r
904         created_at: {\r
905           type: 'datetime',\r
906         },\r
907         updated_at: {\r
908           type: 'datetime',\r
909         }\r
910       }\r
911     },\r
912     Speech: 'speech',\r
913     speech: {\r
914       class_name: 'Speech',\r
915       table_name: 'speeches',\r
916       associations: {\r
917         belongs_to: {\r
918           speech_balloon: {\r
919             id_column: 'speech_balloon_id'\r
920           }, \r
921           writing_format: {\r
922             id_column: 'writing_format_id'\r
923           }, \r
924         },\r
925         has_many: {\r
926         },\r
927       },\r
928       attributes: {\r
929         id: {\r
930           type: 'number',\r
931           primary_key: 1,\r
932           rules : {\r
933             number: true,\r
934           }\r
935         },\r
936         speech_balloon_id: {\r
937           type: 'number',\r
938           rules : {\r
939             number: true,\r
940           }\r
941         },\r
942         writing_format_id: {\r
943           type: 'number',\r
944           source: {\r
945             type: 'model',\r
946             model: 'writing_format',\r
947             method: 'enable_list',\r
948             caption: 'caption'\r
949           },\r
950           rules : {\r
951             required: true,\r
952             number: true,\r
953           }\r
954         },\r
955         content: {\r
956           type: 'text',\r
957           rules : {\r
958           }\r
959         },\r
960         font_size: {\r
961           type: 'float',\r
962           rules : {\r
963             required: true,\r
964             number: true,\r
965             min: 0,\r
966           },\r
967           source: {\r
968             type: 'magic_number',\r
969             key: 'speech_font_size_items',\r
970           },\r
971         },\r
972         text_align: {\r
973           type: 'number',\r
974           rules : {\r
975             required: true,\r
976             number: true,\r
977             range: [0, 3],\r
978           },\r
979           source: {\r
980             type: 'magic_number',\r
981             key: 'speech_text_align_items',\r
982           },\r
983         },\r
984         fore_color: {\r
985           type: 'number',\r
986           rules : {\r
987             required: true,\r
988             number: true,\r
989             range: [0, 0xffffff],\r
990           }\r
991         },\r
992         x: {\r
993           type: 'number',\r
994           rules : {\r
995             required: true,\r
996             number: true,\r
997           }\r
998         },\r
999         y: {\r
1000           type: 'number',\r
1001           rules : {\r
1002             required: true,\r
1003             number: true,\r
1004           }\r
1005         },\r
1006         width: {\r
1007           type: 'number',\r
1008           rules : {\r
1009             required: true,\r
1010             number: true,\r
1011             min: 1,\r
1012           }\r
1013         },\r
1014         height: {\r
1015           type: 'number',\r
1016           rules : {\r
1017             required: true,\r
1018             number: true,\r
1019             min: 1,\r
1020           }\r
1021         },\r
1022         quotes: {\r
1023           type: 'text',\r
1024           rules : {\r
1025           }\r
1026         },\r
1027         settings: {\r
1028           type: 'text',\r
1029           rules : {\r
1030           }\r
1031         },\r
1032         created_at: {\r
1033           type: 'datetime',\r
1034         },\r
1035         updated_at: {\r
1036           type: 'datetime',\r
1037         }\r
1038       }\r
1039     },\r
1040     GroundPicture: 'ground_picture',\r
1041     ground_picture: {\r
1042       class_name: 'GroundPicture',\r
1043       table_name: 'ground_pictures',\r
1044       associations: {\r
1045         belongs_to: {\r
1046           panel: {\r
1047             id_column: 'panel_id'\r
1048           }, \r
1049         },\r
1050         has_many: {\r
1051         },\r
1052       },\r
1053       attributes: {\r
1054         id: {\r
1055           type: 'number',\r
1056           primary_key: 1,\r
1057           rules : {\r
1058             number: true,\r
1059           }\r
1060         },\r
1061         panel_id: {\r
1062           type: 'number',\r
1063           rules : {\r
1064             number: true,\r
1065           }\r
1066         },\r
1067         picture_id: {\r
1068           type: 'number',\r
1069           rules : {\r
1070             required: true,\r
1071             number: true,\r
1072           }\r
1073         },\r
1074         caption: {\r
1075           type: 'text',\r
1076           rules : {\r
1077           }\r
1078         },\r
1079         repeat: {\r
1080           type: 'number',\r
1081           rules : {\r
1082             required: true,\r
1083             number: true,\r
1084             range: [0, 3],\r
1085           },\r
1086           source: {\r
1087             type: 'magic_number',\r
1088             key: 'ground_picture_repeat_items',\r
1089           },\r
1090         },\r
1091         x: {\r
1092           type: 'number',\r
1093           rules : {\r
1094             required: true,\r
1095             number: true,\r
1096           }\r
1097         },\r
1098         y: {\r
1099           type: 'number',\r
1100           rules : {\r
1101             required: true,\r
1102             number: true,\r
1103           }\r
1104         },\r
1105         z: {\r
1106           type: 'number',\r
1107           rules : {\r
1108             required: true,\r
1109             number: true,\r
1110             min: 1,\r
1111           }\r
1112         },\r
1113         t: {\r
1114           type: 'number',\r
1115           rules : {\r
1116             required: true,\r
1117             number: true,\r
1118             min: 0,\r
1119           }\r
1120         },\r
1121         created_at: {\r
1122           type: 'datetime',\r
1123         },\r
1124         updated_at: {\r
1125           type: 'datetime',\r
1126         }\r
1127       }\r
1128     },\r
1129     GroundColor: 'ground_color',\r
1130     ground_color: {\r
1131       class_name: 'GroundColor',\r
1132       table_name: 'ground_colors',\r
1133       associations: {\r
1134         belongs_to: {\r
1135           panel: {\r
1136             id_column: 'panel_id'\r
1137           }, \r
1138         },\r
1139         has_many: {\r
1140         },\r
1141       },\r
1142       attributes: {\r
1143         id: {\r
1144           type: 'number',\r
1145           primary_key: 1,\r
1146           rules : {\r
1147             number: true,\r
1148           }\r
1149         },\r
1150         panel_id: {\r
1151           type: 'number',\r
1152           rules : {\r
1153             number: true,\r
1154           }\r
1155         },\r
1156         caption: {\r
1157           type: 'text',\r
1158           rules : {\r
1159           }\r
1160         },\r
1161         code: {\r
1162           type: 'number',\r
1163           rules : {\r
1164             required: true,\r
1165             number: true,\r
1166             range: [0, 0xffffff],\r
1167           }\r
1168         },\r
1169         orientation: {\r
1170           type: 'number',\r
1171           rules : {\r
1172             required: true,\r
1173             number: true,\r
1174             range: [0, 1],\r
1175           },\r
1176           source: {\r
1177             type: 'magic_number',\r
1178             key: 'ground_color_orientation_items',\r
1179           },\r
1180         },\r
1181         xy: {\r
1182           type: 'number',\r
1183           rules : {\r
1184             number: true,\r
1185           }\r
1186         },\r
1187         wh: {\r
1188           type: 'number',\r
1189           rules : {\r
1190             number: true,\r
1191           }\r
1192         },\r
1193         z: {\r
1194           type: 'number',\r
1195           rules : {\r
1196             required: true,\r
1197             number: true,\r
1198             min: 1,\r
1199           }\r
1200         },\r
1201         t: {\r
1202           type: 'number',\r
1203           rules : {\r
1204             required: true,\r
1205             number: true,\r
1206             min: 0,\r
1207           }\r
1208         },\r
1209         created_at: {\r
1210           type: 'datetime',\r
1211         },\r
1212         updated_at: {\r
1213           type: 'datetime',\r
1214         }\r
1215       }\r
1216     },\r
1217     OriginalPicture: 'original_picture',\r
1218     original_picture: {\r
1219       class_name: 'OriginalPicture',\r
1220       table_name: 'original_pictures',\r
1221       associations: {\r
1222         belongs_to: {\r
1223           artist: {\r
1224             id_column: 'artist_id'\r
1225           }, \r
1226         },\r
1227         has_many: {\r
1228           pictures: {\r
1229             foreign_key: 'original_picture_id',\r
1230             list_method: 'list_by_original_picture',\r
1231           }, \r
1232         },\r
1233         has_one: {\r
1234           resource_picture: {\r
1235             foreign_key: 'original_picture_id',\r
1236             list_method: 'list_by_original_picture',\r
1237           }, \r
1238         },\r
1239       },\r
1240       attributes: {\r
1241         id: {\r
1242           type: 'number',\r
1243           primary_key: 1,\r
1244           rules : {\r
1245             number: true,\r
1246           }\r
1247         },\r
1248         ext: {\r
1249           type: 'text',\r
1250           rules : {\r
1251             required: true,\r
1252           }\r
1253         },\r
1254         width: {\r
1255           type: 'number',\r
1256           rules : {\r
1257             required: true,\r
1258             number: true,\r
1259           }\r
1260         },\r
1261         height: {\r
1262           type: 'number',\r
1263           rules : {\r
1264             required: true,\r
1265             number: true,\r
1266           }\r
1267         },\r
1268         filesize: {\r
1269           type: 'number',\r
1270           rules : {\r
1271             required: true,\r
1272             number: true,\r
1273           }\r
1274         },\r
1275         artist_id: {\r
1276           type: 'number',\r
1277           rules : {\r
1278             required: true,\r
1279             number: true,\r
1280           }\r
1281         },\r
1282         md5: {\r
1283           type: 'text',\r
1284           rules : {\r
1285             required: true,\r
1286             required: true,\r
1287           }\r
1288         },\r
1289         uploaded_at: {\r
1290           type: 'datetime',\r
1291         },\r
1292         published_at: {\r
1293           type: 'datetime',\r
1294         },\r
1295         stopped_at: {\r
1296           type: 'datetime',\r
1297         },\r
1298         created_at: {\r
1299           type: 'datetime',\r
1300         },\r
1301         updated_at: {\r
1302           type: 'datetime',\r
1303         }\r
1304       },\r
1305     },\r
1306     Picture: 'picture',\r
1307     picture: {\r
1308       class_name: 'Picture',\r
1309       table_name: 'pictures',\r
1310       associations: {\r
1311         belongs_to: {\r
1312           license: {\r
1313             id_column: 'license_id'\r
1314           }, \r
1315           artist: {\r
1316             id_column: 'artist_id'\r
1317           }, \r
1318         },\r
1319         has_many: {\r
1320         },\r
1321         has_one: {\r
1322         },\r
1323       },\r
1324       attributes: {\r
1325         id: {\r
1326           type: 'number',\r
1327           primary_key: 1,\r
1328           rules : {\r
1329             number: true,\r
1330           }\r
1331         },\r
1332         original_picture_id: {\r
1333           type: 'number',\r
1334           rules : {\r
1335             required: true,\r
1336             number: true,\r
1337           }\r
1338         },\r
1339         revision: {\r
1340           type: 'number',\r
1341           rules : {\r
1342             required: true,\r
1343             number: true,\r
1344           }\r
1345         },\r
1346         ext: {\r
1347           type: 'text',\r
1348           rules : {\r
1349             required: true,\r
1350           }\r
1351         },\r
1352         width: {\r
1353           type: 'number',\r
1354           rules : {\r
1355             required: true,\r
1356             number: true,\r
1357           }\r
1358         },\r
1359         height: {\r
1360           type: 'number',\r
1361           rules : {\r
1362             required: true,\r
1363             number: true,\r
1364           }\r
1365         },\r
1366         filesize: {\r
1367           type: 'number',\r
1368           rules : {\r
1369             required: true,\r
1370             number: true,\r
1371           }\r
1372         },\r
1373         artist_id: {\r
1374           type: 'number',\r
1375           rules : {\r
1376             required: true,\r
1377             number: true,\r
1378           }\r
1379         },\r
1380         license_id: {\r
1381           type: 'number',\r
1382           rules : {\r
1383             required: true,\r
1384             number: true,\r
1385           }\r
1386         },\r
1387         md5: {\r
1388           type: 'text',\r
1389           rules : {\r
1390             required: true,\r
1391           }\r
1392         },\r
1393         artist_name: {\r
1394           type: 'text',\r
1395           rules : {\r
1396             required: true,\r
1397           }\r
1398         },\r
1399         credit: {\r
1400           type: 'text',\r
1401           rules : {\r
1402           }\r
1403         },\r
1404         settings: {\r
1405           type: 'text',\r
1406           rules : {\r
1407           }\r
1408         },\r
1409         classname: {\r
1410           type: 'text',\r
1411           rules : {\r
1412             required: true,\r
1413           }\r
1414         },\r
1415         created_at: {\r
1416           type: 'datetime',\r
1417         },\r
1418         updated_at: {\r
1419           type: 'datetime',\r
1420         }\r
1421       }\r
1422     },\r
1423     ResourcePicture: 'resource_picture',\r
1424     resource_picture: {\r
1425       class_name: 'ResourcePicture',\r
1426       table_name: 'resource_pictures',\r
1427       associations: {\r
1428         belongs_to: {\r
1429           license: {\r
1430             id_column: 'license_id'\r
1431           }, \r
1432           artist: {\r
1433             id_column: 'artist_id'\r
1434           }, \r
1435         },\r
1436         has_many: {\r
1437         },\r
1438         has_one: {\r
1439         },\r
1440       },\r
1441       attributes: {\r
1442         id: {\r
1443           type: 'number',\r
1444           primary_key: 1,\r
1445           rules : {\r
1446             number: true,\r
1447           }\r
1448         },\r
1449         original_picture_id: {\r
1450           type: 'number',\r
1451           rules : {\r
1452             required: true,\r
1453             number: true,\r
1454           }\r
1455         },\r
1456         revision: {\r
1457           type: 'number',\r
1458           rules : {\r
1459             required: true,\r
1460             number: true,\r
1461           }\r
1462         },\r
1463         ext: {\r
1464           type: 'text',\r
1465           rules : {\r
1466             required: true,\r
1467           }\r
1468         },\r
1469         width: {\r
1470           type: 'number',\r
1471           rules : {\r
1472             required: true,\r
1473             number: true,\r
1474           }\r
1475         },\r
1476         height: {\r
1477           type: 'number',\r
1478           rules : {\r
1479             required: true,\r
1480             number: true,\r
1481           }\r
1482         },\r
1483         filesize: {\r
1484           type: 'number',\r
1485           rules : {\r
1486             required: true,\r
1487             number: true,\r
1488           }\r
1489         },\r
1490         artist_id: {\r
1491           type: 'number',\r
1492           rules : {\r
1493             required: true,\r
1494             number: true,\r
1495           }\r
1496         },\r
1497         license_id: {\r
1498           type: 'number',\r
1499           rules : {\r
1500             required: true,\r
1501             number: true,\r
1502           }\r
1503         },\r
1504         md5: {\r
1505           type: 'text',\r
1506           rules : {\r
1507             required: true,\r
1508           }\r
1509         },\r
1510         artist_name: {\r
1511           type: 'text',\r
1512           rules : {\r
1513             required: true,\r
1514           }\r
1515         },\r
1516         credit: {\r
1517           type: 'text',\r
1518           rules : {\r
1519           }\r
1520         },\r
1521         settings: {\r
1522           type: 'text',\r
1523           rules : {\r
1524           }\r
1525         },\r
1526         picture_id: {\r
1527           type: 'number',\r
1528           rules : {\r
1529             required: true,\r
1530             number: true,\r
1531           }\r
1532         },\r
1533         classname: {\r
1534           type: 'text',\r
1535           rules : {\r
1536             required: true,\r
1537           }\r
1538         },\r
1539         created_at: {\r
1540           type: 'datetime',\r
1541         },\r
1542         updated_at: {\r
1543           type: 'datetime',\r
1544         }\r
1545       }\r
1546     },\r
1547     SpeechBalloonTemplate: 'speech_balloon_template',\r
1548     speech_balloon_template: {\r
1549       class_name: 'SpeechBalloonTemplate',\r
1550       table_name: 'speech_balloon_templates',\r
1551       associations: {\r
1552         belongs_to: {\r
1553           system_picture: {\r
1554             id_column: 'system_picture_id'\r
1555           }, \r
1556         },\r
1557         has_many: {\r
1558           speech_balloons: {\r
1559             foreign_key: 'speech_balloon_template_id',\r
1560             list_method: 'list_by_speech_balloon_template',\r
1561           }, \r
1562           panels: {\r
1563             through: 'speech_balloons',\r
1564             foreign_key: 'speech_balloon_template_id',\r
1565             list_method: 'list_by_speech_balloon_template',\r
1566           }, \r
1567         },\r
1568         has_one: {\r
1569         },\r
1570       },\r
1571       attributes: {\r
1572         id: {\r
1573           type: 'number',\r
1574           primary_key: 1,\r
1575           rules : {\r
1576             number: true,\r
1577           }\r
1578         },\r
1579         name: {\r
1580           type: 'text',\r
1581           rules : {\r
1582             required: true,\r
1583           }\r
1584         },\r
1585         classname: {\r
1586           type: 'text',\r
1587           rules : {\r
1588             required: true,\r
1589           }\r
1590         },\r
1591         caption: {\r
1592           type: 'text',\r
1593           rules : {\r
1594             required: true,\r
1595           }\r
1596         },\r
1597         t: {\r
1598           type: 'number',\r
1599           rules : {\r
1600             required: true,\r
1601             number: true,\r
1602             min: 0,\r
1603           }\r
1604         },\r
1605         system_picture_id: {\r
1606           type: 'number',\r
1607           rules : {\r
1608             required: true,\r
1609             number: true,\r
1610           }\r
1611         },\r
1612         settings: {\r
1613           type: 'text',\r
1614           rules : {\r
1615             required: true,\r
1616           }\r
1617         },\r
1618         created_at: {\r
1619           type: 'datetime',\r
1620         },\r
1621         updated_at: {\r
1622           type: 'datetime',\r
1623         }\r
1624       },\r
1625       select: {\r
1626         method: 'enable_list',\r
1627         caption: {\r
1628           type: 'column',\r
1629           name: 'caption',\r
1630         },\r
1631       },\r
1632     },\r
1633     WritingFormat: 'writing_format',\r
1634     writing_format: {\r
1635       class_name: 'WritingFormat',\r
1636       table_name: 'writing_formats',\r
1637       associations: {\r
1638         belongs_to: {\r
1639           system_picture: {\r
1640             id_column: 'system_picture_id'\r
1641           }, \r
1642         },\r
1643         has_many: {\r
1644           speeches: {\r
1645             foreign_key: 'writing_format_id',\r
1646             list_method: 'list_by_writing_format',\r
1647           }, \r
1648         },\r
1649         has_one: {\r
1650         },\r
1651       },\r
1652       attributes: {\r
1653         id: {\r
1654           type: 'number',\r
1655           primary_key: 1,\r
1656           rules : {\r
1657             number: true,\r
1658           }\r
1659         },\r
1660         name: {\r
1661           type: 'text',\r
1662           rules : {\r
1663             required: true,\r
1664           }\r
1665         },\r
1666         classname: {\r
1667           type: 'text',\r
1668           rules : {\r
1669             required: true,\r
1670           }\r
1671         },\r
1672         caption: {\r
1673           type: 'text',\r
1674           rules : {\r
1675             required: true,\r
1676           }\r
1677         },\r
1678         system_picture_id: {\r
1679           type: 'number',\r
1680           rules : {\r
1681             required: true,\r
1682             number: true,\r
1683           }\r
1684         },\r
1685         settings: {\r
1686           type: 'text',\r
1687           rules : {\r
1688             required: true,\r
1689           }\r
1690         },\r
1691         created_at: {\r
1692           type: 'datetime',\r
1693         },\r
1694         updated_at: {\r
1695           type: 'datetime',\r
1696         }\r
1697       },\r
1698       select: {\r
1699         method: 'enable_list',\r
1700         caption: {\r
1701           type: 'column',\r
1702           name: 'caption',\r
1703         },\r
1704       },\r
1705     },\r
1706     LicenseGroup: 'license_group',\r
1707     license_group: {\r
1708       class_name: 'LicenseGroup',\r
1709       table_name: 'license_groups',\r
1710       associations: {\r
1711         belongs_to: {\r
1712         },\r
1713         has_many: {\r
1714           licenses: {\r
1715             foreign_key: 'license_group_id',\r
1716             list_method: 'list_by_license_group',\r
1717           }, \r
1718         },\r
1719         has_one: {\r
1720         },\r
1721       },\r
1722       attributes: {\r
1723         id: {\r
1724           type: 'number',\r
1725           primary_key: 1,\r
1726           rules : {\r
1727             number: true,\r
1728           }\r
1729         },\r
1730         name: {\r
1731           type: 'text',\r
1732           rules : {\r
1733             required: true,\r
1734           }\r
1735         },\r
1736         classname: {\r
1737           type: 'text',\r
1738           rules : {\r
1739             required: true,\r
1740           }\r
1741         },\r
1742         caption: {\r
1743           type: 'text',\r
1744           rules : {\r
1745             required: true,\r
1746           }\r
1747         },\r
1748         url: {\r
1749           type: 'text',\r
1750           rules : {\r
1751             required: true,\r
1752           }\r
1753         },\r
1754         created_at: {\r
1755           type: 'datetime',\r
1756         },\r
1757         updated_at: {\r
1758           type: 'datetime',\r
1759         }\r
1760       },\r
1761       select: {\r
1762         method: 'list',\r
1763         caption: {\r
1764           type: 'column',\r
1765           name: 'caption',\r
1766         },\r
1767       },\r
1768     },\r
1769     License: 'license',\r
1770     license: {\r
1771       class_name: 'License',\r
1772       table_name: 'licenses',\r
1773       associations: {\r
1774         belongs_to: {\r
1775           license_group: {\r
1776             id_column: 'license_group_id'\r
1777           }, \r
1778           system_picture: {\r
1779             id_column: 'system_picture_id'\r
1780           }, \r
1781         },\r
1782         has_many: {\r
1783           resource_pictures: {\r
1784             foreign_key: 'license_id',\r
1785             list_method: 'list_by_license',\r
1786           }, \r
1787         },\r
1788         has_one: {\r
1789         },\r
1790       },\r
1791       attributes: {\r
1792         id: {\r
1793           type: 'number',\r
1794           primary_key: 1,\r
1795           rules : {\r
1796             number: true,\r
1797           }\r
1798         },\r
1799         license_group_id: {\r
1800           type: 'number',\r
1801           rules : {\r
1802             number: true,\r
1803           }\r
1804         },\r
1805         name: {\r
1806           type: 'text',\r
1807           rules : {\r
1808             required: true,\r
1809           }\r
1810         },\r
1811         caption: {\r
1812           type: 'text',\r
1813           rules : {\r
1814             required: true,\r
1815           }\r
1816         },\r
1817         system_picture_id: {\r
1818           type: 'number',\r
1819           rules : {\r
1820             required: true,\r
1821             number: true,\r
1822           }\r
1823         },\r
1824         url: {\r
1825           type: 'text',\r
1826           rules : {\r
1827             required: true,\r
1828           }\r
1829         },\r
1830         settings: {\r
1831           type: 'text',\r
1832           rules : {\r
1833           }\r
1834         },\r
1835         credit_pictures: {\r
1836           type: 'text',\r
1837           rules : {\r
1838           }\r
1839         },\r
1840         created_at: {\r
1841           type: 'datetime',\r
1842         },\r
1843         updated_at: {\r
1844           type: 'datetime',\r
1845         }\r
1846       }\r
1847     },\r
1848     Author: 'author',\r
1849     author: {\r
1850       class_name: 'Author',\r
1851       table_name: 'authors',\r
1852       associations: {\r
1853         belongs_to: {\r
1854         },\r
1855         has_many: {\r
1856           scrolls: {\r
1857             foreign_key: 'author_id',\r
1858             list_method: 'list_by_author',\r
1859           }, \r
1860           comics: {\r
1861             foreign_key: 'author_id',\r
1862             list_method: 'list_by_author',\r
1863           }, \r
1864           stories: {\r
1865             foreign_key: 'author_id',\r
1866             list_method: 'list_by_author',\r
1867           }, \r
1868           sheets: {\r
1869             foreign_key: 'author_id',\r
1870             list_method: 'list_by_author',\r
1871           }, \r
1872           panels: {\r
1873             foreign_key: 'author_id',\r
1874             list_method: 'list_by_author',\r
1875           }, \r
1876         },\r
1877         has_one: {\r
1878         },\r
1879       },\r
1880       attributes: {\r
1881         id: {\r
1882           type: 'number',\r
1883           primary_key: 1,\r
1884           rules : {\r
1885             number: true,\r
1886           }\r
1887         },\r
1888         name: {\r
1889           type: 'text',\r
1890           rules : {\r
1891             required: true,\r
1892           }\r
1893         },\r
1894         user_id: {\r
1895           type: 'number',\r
1896           rules : {\r
1897             required: true,\r
1898             number: true,\r
1899           }\r
1900         },\r
1901         created_at: {\r
1902           type: 'datetime',\r
1903         },\r
1904         updated_at: {\r
1905           type: 'datetime',\r
1906         }\r
1907       },\r
1908       select: {\r
1909         method: 'list',\r
1910         caption: {\r
1911           type: 'column',\r
1912           name: 'name',\r
1913         },\r
1914       },\r
1915     },\r
1916     Artist: 'artist',\r
1917     artist: {\r
1918       class_name: 'Artist',\r
1919       table_name: 'artists',\r
1920       associations: {\r
1921         belongs_to: {\r
1922         },\r
1923         has_many: {\r
1924           resource_pictures: {\r
1925             foreign_key: 'artist_id',\r
1926             list_method: 'list_by_artist',\r
1927           }, \r
1928         },\r
1929         has_one: {\r
1930         },\r
1931       },\r
1932       attributes: {\r
1933         id: {\r
1934           type: 'number',\r
1935           primary_key: 1,\r
1936           rules : {\r
1937             number: true,\r
1938           }\r
1939         },\r
1940         name: {\r
1941           type: 'text',\r
1942           rules : {\r
1943             required: true,\r
1944           }\r
1945         },\r
1946         author_id: {\r
1947           type: 'number',\r
1948           rules : {\r
1949             required: true,\r
1950             number: true,\r
1951           }\r
1952         },\r
1953         created_at: {\r
1954           type: 'datetime',\r
1955         },\r
1956         updated_at: {\r
1957           type: 'datetime',\r
1958         }\r
1959       },\r
1960       select: {\r
1961         method: 'list',\r
1962         caption: {\r
1963           type: 'column',\r
1964           name: 'name',\r
1965         },\r
1966       },\r
1967     },\r
1968     SystemPicture: 'system_picture',\r
1969     system_picture: {\r
1970       class_name: 'SystemPicture',\r
1971       table_name: 'system_pictures',\r
1972       associations: {\r
1973         belongs_to: {\r
1974         },\r
1975         has_many: {\r
1976         },\r
1977         has_one: {\r
1978         },\r
1979       },\r
1980       attributes: {\r
1981         id: {\r
1982           type: 'number',\r
1983           primary_key: 1,\r
1984           rules : {\r
1985             number: true,\r
1986           }\r
1987         },\r
1988         ext: {\r
1989           type: 'text',\r
1990           rules : {\r
1991             required: true,\r
1992           }\r
1993         },\r
1994         width: {\r
1995           type: 'number',\r
1996           rules : {\r
1997             required: true,\r
1998             number: true,\r
1999           }\r
2000         },\r
2001         height: {\r
2002           type: 'number',\r
2003           rules : {\r
2004             required: true,\r
2005             number: true,\r
2006           }\r
2007         },\r
2008         filesize: {\r
2009           type: 'number',\r
2010           rules : {\r
2011             required: true,\r
2012             number: true,\r
2013           }\r
2014         },\r
2015         md5: {\r
2016           type: 'text',\r
2017           rules : {\r
2018             required: true,\r
2019             required: true,\r
2020           }\r
2021         },\r
2022         created_at: {\r
2023           type: 'datetime',\r
2024         },\r
2025         updated_at: {\r
2026           type: 'datetime',\r
2027         }\r
2028       }\r
2029     },\r
2030   },\r
2031   profiles: {\r
2032     scroll: {\r
2033       fields: [\r
2034         'id', \r
2035         'title', \r
2036         'description', \r
2037         'visible', \r
2038         'author_id', \r
2039         'created_at', \r
2040         'updated_at',\r
2041       ],\r
2042       associations: {\r
2043         belongs_to: [\r
2044           'author',\r
2045         ],\r
2046         has_many: [\r
2047           'scroll_panels', \r
2048           'panels'\r
2049         ],\r
2050       }, \r
2051     },\r
2052     scroll_panel: {\r
2053       fields: [\r
2054         'id', \r
2055         'scroll_id', \r
2056         'panel_id', \r
2057         't', \r
2058         'author_id', \r
2059         'created_at', \r
2060         'updated_at',\r
2061       ],\r
2062       associations: {\r
2063         belongs_to: [\r
2064           'scroll', \r
2065           'panel'\r
2066         ],\r
2067         has_many: [\r
2068         ],\r
2069       }, \r
2070     },\r
2071     comic: {\r
2072       fields: [\r
2073         'id', \r
2074         'title', \r
2075         'description', \r
2076         'visible', \r
2077         'author_id', \r
2078         'created_at', \r
2079         'updated_at',\r
2080       ],\r
2081       associations: {\r
2082         belongs_to: [\r
2083           'author',\r
2084         ],\r
2085         has_many: [\r
2086           'stories', \r
2087         ],\r
2088       }, \r
2089     },\r
2090     story: {\r
2091       fields: [\r
2092         'id', \r
2093         'comic_id', \r
2094         'title', \r
2095         'description', \r
2096         't', \r
2097         'visible', \r
2098         'created_at', \r
2099         'updated_at',\r
2100       ],\r
2101       associations: {\r
2102         belongs_to: [\r
2103           'comic',\r
2104         ],\r
2105         has_many: [\r
2106           'story_sheets', \r
2107           'sheets'\r
2108         ],\r
2109       }, \r
2110     },\r
2111     story_sheet: {\r
2112       fields: [\r
2113         'id', \r
2114         'story_id', \r
2115         'sheet_id', \r
2116         't', \r
2117         'author_id', \r
2118         'created_at', \r
2119         'updated_at',\r
2120       ],\r
2121       associations: {\r
2122         belongs_to: [\r
2123           'story',\r
2124           'sheet',\r
2125         ],\r
2126         has_many: [\r
2127         ],\r
2128       }, \r
2129     },\r
2130     sheet: {\r
2131       fields: [\r
2132         'id', \r
2133         'caption', \r
2134         'width', \r
2135         'height', \r
2136         'visible', \r
2137         'author_id', \r
2138         'created_at', \r
2139         'updated_at',\r
2140       ],\r
2141       associations: {\r
2142         belongs_to: [\r
2143           'author',\r
2144         ],\r
2145         has_many: [\r
2146           'story_sheets', \r
2147           'stories', \r
2148           'sheet_panels'\r
2149           'panels'\r
2150         ],\r
2151       }, \r
2152     },\r
2153     sheet_panel: {\r
2154       fields: [\r
2155         'id', \r
2156         'sheet_id', \r
2157         'panel_id', \r
2158         'x', \r
2159         'y', \r
2160         'z', \r
2161         't', \r
2162         'author_id', \r
2163         'created_at', \r
2164         'updated_at',\r
2165       ],\r
2166       associations: {\r
2167         belongs_to: [\r
2168           'sheet',\r
2169           'panel',\r
2170         ],\r
2171         has_many: [\r
2172         ],\r
2173       }, \r
2174     },\r
2175     panel: {\r
2176       fields: [\r
2177         'id', \r
2178         'width', \r
2179         'height', \r
2180         'border', \r
2181         'caption', \r
2182         'publish', \r
2183         'author_id', \r
2184         'created_at', \r
2185         'updated_at',\r
2186       ],\r
2187       associations: {\r
2188         belongs_to: [\r
2189           'author',\r
2190         ],\r
2191         has_many: [\r
2192           'scroll_panels',\r
2193           'scrolls',\r
2194           'sheet_panels',\r
2195           'sheets',\r
2196           'panel_pictures',\r
2197           'speech_balloons',\r
2198           'ground_pictures',\r
2199           'ground_colors',\r
2200         ],\r
2201       }, \r
2202     },\r
2203     panel_picture: {\r
2204       fields: [\r
2205         'id', \r
2206         'panel_id', \r
2207         'picture_id', \r
2208         'caption', \r
2209         'x', \r
2210         'y', \r
2211         'width', \r
2212         'height', \r
2213         'link', \r
2214         'z', \r
2215         't', \r
2216         'created_at', \r
2217         'updated_at',\r
2218       ],\r
2219       associations: {\r
2220         belongs_to: [\r
2221           'panel',\r
2222         ],\r
2223         has_many: [\r
2224         ],\r
2225       }, \r
2226     },\r
2227     speech_balloon: {\r
2228       fields: [\r
2229         'id', \r
2230         'panel_id', \r
2231         'speech_balloon_template_id', \r
2232         'classname', \r
2233         'z', \r
2234         't', \r
2235         'settings', \r
2236         'caption', \r
2237         'created_at', \r
2238         'updated_at',\r
2239       ],\r
2240       associations: {\r
2241         belongs_to: [\r
2242           'panel',\r
2243         ],\r
2244         has_many: [\r
2245         ],\r
2246         has_one: [\r
2247           'balloon',\r
2248           'speech',\r
2249         ],\r
2250       }, \r
2251     },\r
2252     speech: {\r
2253       fields: [\r
2254         'id', \r
2255         'speech_balloon_id', \r
2256         'writing_format_id', \r
2257         'content', \r
2258         'font_size', \r
2259         'text_align', \r
2260         'fore_color', \r
2261         'x', \r
2262         'y', \r
2263         'width', \r
2264         'height', \r
2265         'quotes', \r
2266         'settings', \r
2267         'created_at', \r
2268         'updated_at',\r
2269       ],\r
2270       associations: {\r
2271         belongs_to: [\r
2272           'speech_balloon',\r
2273           'writing_format',\r
2274         ],\r
2275         has_many: [\r
2276         ],\r
2277       }, \r
2278     },\r
2279     balloon: {\r
2280       fields: [\r
2281         'id', \r
2282         'speech_balloon_id', \r
2283         'system_picture_id', \r
2284         'x', \r
2285         'y', \r
2286         'width', \r
2287         'height', \r
2288         'r', \r
2289         'settings', \r
2290         'created_at', \r
2291         'updated_at',\r
2292       ],\r
2293       associations: {\r
2294         belongs_to: [\r
2295           'speech_balloon',\r
2296           'system_picture',\r
2297         ],\r
2298         has_many: [\r
2299         ],\r
2300       }, \r
2301     },\r
2302     ground_picture: {\r
2303       fields: [\r
2304         'id', \r
2305         'panel_id', \r
2306         'picture_id', \r
2307         'caption', \r
2308         'repeat', \r
2309         'x', \r
2310         'y', \r
2311         'z', \r
2312         't', \r
2313         'created_at', \r
2314         'updated_at',\r
2315       ],\r
2316       associations: {\r
2317         belongs_to: [\r
2318           'panel',\r
2319         ],\r
2320         has_many: [\r
2321         ],\r
2322       }, \r
2323     },\r
2324     ground_color: {\r
2325       fields: [\r
2326         'id', \r
2327         'panel_id', \r
2328         'caption', \r
2329         'code', \r
2330         'orientation', \r
2331         'xy', \r
2332         'wh', \r
2333         'z', \r
2334         't', \r
2335         'created_at', \r
2336         'updated_at',\r
2337       ],\r
2338       associations: {\r
2339         belongs_to: [\r
2340           'panel',\r
2341         ],\r
2342         has_many: [\r
2343         ],\r
2344       }, \r
2345     },\r
2346     original_picture: {\r
2347       fields: [\r
2348         'id', \r
2349         'ext', \r
2350         'width', \r
2351         'height', \r
2352         'filesize', \r
2353         'artist_id', \r
2354         'md5', \r
2355         'uploaded_at', \r
2356         'published_at', \r
2357         'stopped_at', \r
2358         'created_at', \r
2359         'updated_at',\r
2360       ],\r
2361       associations: {\r
2362         belongs_to: [\r
2363           'artist',\r
2364         ],\r
2365         has_many: [\r
2366           'pictures',\r
2367         ],\r
2368         has_one: [\r
2369           'resource_picture',\r
2370         ],\r
2371       }, \r
2372     },\r
2373     picture: {\r
2374       fields: [\r
2375         'id', \r
2376         'original_picture_id', \r
2377         'revision', \r
2378         'ext', \r
2379         'width', \r
2380         'height', \r
2381         'filesize', \r
2382         'artist_id', \r
2383         'license_id', \r
2384         'md5', \r
2385         'artist_name', \r
2386         'credit', \r
2387         'settings', \r
2388         'classname', \r
2389         'created_at', \r
2390         'updated_at',\r
2391       ],\r
2392       associations: {\r
2393         belongs_to: [\r
2394           'license',\r
2395           'artist',\r
2396         ],\r
2397         has_many: [\r
2398         ],\r
2399         has_one: [\r
2400         ],\r
2401       }, \r
2402     },\r
2403     resource_picture: {\r
2404       fields: [\r
2405         'id', \r
2406         'original_picture_id', \r
2407         'revision', \r
2408         'ext', \r
2409         'width', \r
2410         'height', \r
2411         'filesize', \r
2412         'artist_id', \r
2413         'license_id', \r
2414         'md5', \r
2415         'artist_name', \r
2416         'credit', \r
2417         'settings', \r
2418         'picture_id', \r
2419         'classname', \r
2420         'created_at', \r
2421         'updated_at',\r
2422       ],\r
2423       associations: {\r
2424         belongs_to: [\r
2425           'license',\r
2426           'artist',\r
2427         ],\r
2428         has_many: [\r
2429         ],\r
2430         has_one: [\r
2431         ],\r
2432       }, \r
2433     },\r
2434     speech_balloon_template: {\r
2435       fields: [\r
2436         'id', \r
2437         'name', \r
2438         'classname', \r
2439         'caption', \r
2440         't', \r
2441         'system_picture_id', \r
2442         'settings', \r
2443         'created_at', \r
2444         'updated_at',\r
2445       ],\r
2446       associations: {\r
2447         belongs_to: [\r
2448           'system_picture',\r
2449         ],\r
2450         has_many: [\r
2451           'speech_balloons', \r
2452           'panels', \r
2453         ],\r
2454         has_one: [\r
2455         ],\r
2456       }, \r
2457     },\r
2458     writing_format: {\r
2459       fields: [\r
2460         'id', \r
2461         'name', \r
2462         'classname', \r
2463         'caption', \r
2464         'system_picture_id', \r
2465         'settings', \r
2466         'created_at', \r
2467         'updated_at',\r
2468       ],\r
2469       associations: {\r
2470         belongs_to: [\r
2471           'system_picture',\r
2472         ],\r
2473         has_many: [\r
2474           'speeches', \r
2475         ],\r
2476         has_one: [\r
2477         ],\r
2478       }, \r
2479     },\r
2480     license_group: {\r
2481       fields: [\r
2482         'id', \r
2483         'name', \r
2484         'classname', \r
2485         'caption', \r
2486         'url', \r
2487         'created_at', \r
2488         'updated_at',\r
2489       ],\r
2490       associations: {\r
2491         belongs_to: [\r
2492         ],\r
2493         has_many: [\r
2494           'licenses', \r
2495         ],\r
2496         has_one: [\r
2497         ],\r
2498       }, \r
2499     },\r
2500     license: {\r
2501       fields: [\r
2502         'id', \r
2503         'license_group_id', \r
2504         'name', \r
2505         'caption', \r
2506         'system_picture_id', \r
2507         'url', \r
2508         'settings', \r
2509         'credit_pictures', \r
2510         'created_at', \r
2511         'updated_at',\r
2512       ],\r
2513       associations: {\r
2514         belongs_to: [\r
2515           'license_group', \r
2516           'system_picture', \r
2517         ],\r
2518         has_many: [\r
2519           'resource_pictures', \r
2520         ],\r
2521         has_one: [\r
2522         ],\r
2523       }, \r
2524     },\r
2525     author: {\r
2526       fields: [\r
2527         'id', \r
2528         'name', \r
2529         'user_id', \r
2530         'created_at', \r
2531         'updated_at',\r
2532       ],\r
2533       associations: {\r
2534         belongs_to: [\r
2535         ],\r
2536         has_many: [\r
2537           'scrolls', \r
2538           'comics', \r
2539           'stories', \r
2540           'sheets', \r
2541           'panels', \r
2542         ],\r
2543         has_one: [\r
2544         ],\r
2545       }, \r
2546     },\r
2547     artist: {\r
2548       fields: [\r
2549         'id', \r
2550         'name', \r
2551         'author_id', \r
2552         'created_at', \r
2553         'updated_at',\r
2554       ],\r
2555       associations: {\r
2556         belongs_to: [\r
2557         ],\r
2558         has_many: [\r
2559           'resource_pictures', \r
2560         ],\r
2561         has_one: [\r
2562         ],\r
2563       }, \r
2564     },\r
2565     system_picture: {\r
2566       fields: [\r
2567         'id', \r
2568         'ext', \r
2569         'width', \r
2570         'height', \r
2571         'filesize', \r
2572         'md5', \r
2573         'created_at', \r
2574         'updated_at',\r
2575       ],\r
2576       associations: {\r
2577         belongs_to: [\r
2578         ],\r
2579         has_many: [\r
2580         ],\r
2581         has_one: [\r
2582         ],\r
2583       }, \r
2584     },\r
2585   },\r
2586   filers: {\r
2587     scroll: {\r
2588       symbol: {\r
2589         type: 'image',\r
2590         name: '<%= asset_path('item.png') %>',\r
2591       },\r
2592       caption: {\r
2593         type: 'column',\r
2594         name: 'title',\r
2595         link: {\r
2596           type: 'action'\r
2597           name: 'play',\r
2598         },\r
2599       },\r
2600       summary: {\r
2601         type: 'template',\r
2602         name: 'summary',\r
2603       },\r
2604       edit: {\r
2605         type: 'default',\r
2606       },\r
2607     },\r
2608     scroll_panel: {\r
2609       symbol: {\r
2610         type: 'image',\r
2611         name: '<%= asset_path('item.png') %>',\r
2612         link: {\r
2613           type: 'none'\r
2614         },\r
2615       },\r
2616       caption: {\r
2617         type: 'none',\r
2618       },\r
2619       summary: {\r
2620         type: 'template',\r
2621         name: 'summary',\r
2622       },\r
2623       edit: {\r
2624         type: 'none'\r
2625       },\r
2626     },\r
2627     comic: {\r
2628       symbol: {\r
2629         type: 'image',\r
2630         name: '<%= asset_path('item.png') %>',\r
2631       },\r
2632       caption: {\r
2633         type: 'column',\r
2634         name: 'title',\r
2635       },\r
2636       summary: {\r
2637         type: 'template',\r
2638         name: 'summary',\r
2639       },\r
2640       edit: {\r
2641         type: 'default',\r
2642       },\r
2643     },\r
2644     story: {\r
2645       symbol: {\r
2646         type: 'image',\r
2647         name: '<%= asset_path('item.png') %>',\r
2648       },\r
2649       caption: {\r
2650         type: 'method',\r
2651         name: 'title_with_t',\r
2652         link: {\r
2653           type: 'action'\r
2654           name: 'play',\r
2655         },\r
2656       },\r
2657       summary: {\r
2658         type: 'template',\r
2659         name: 'summary',\r
2660       },\r
2661       edit: {\r
2662         type: 'default',\r
2663       },\r
2664     },\r
2665     story_sheet: {\r
2666       symbol: {\r
2667         type: 'image',\r
2668         name: '<%= asset_path('item.png') %>',\r
2669         link: {\r
2670           type: 'none'\r
2671         },\r
2672       },\r
2673       caption: {\r
2674         type: 'none',\r
2675       },\r
2676       summary: {\r
2677         type: 'template',\r
2678         name: 'summary',\r
2679       },\r
2680       edit: {\r
2681         type: 'none'\r
2682       },\r
2683     },\r
2684     sheet: {\r
2685       symbol: {\r
2686         type: 'image',\r
2687         name: '<%= asset_path('item.png') %>',\r
2688       },\r
2689       caption: {\r
2690         type: 'column',\r
2691         name: 'caption',\r
2692         link: {\r
2693           type: 'action'\r
2694           name: 'play',\r
2695         },\r
2696       },\r
2697       summary: {\r
2698         type: 'template',\r
2699         name: 'summary',\r
2700       },\r
2701       edit: {\r
2702         type: 'default',\r
2703       },\r
2704     },\r
2705     sheet_panel: {\r
2706       symbol: {\r
2707         type: 'image',\r
2708         name: '<%= asset_path('item.png') %>',\r
2709         link: {\r
2710           type: 'none'\r
2711         },\r
2712       },\r
2713       caption: {\r
2714         type: 'none',\r
2715       },\r
2716       summary: {\r
2717         type: 'template',\r
2718         name: 'summary',\r
2719       },\r
2720       edit: {\r
2721         type: 'none'\r
2722       },\r
2723     },\r
2724     panel: {\r
2725       symbol: {\r
2726         type: 'image',\r
2727         name: '<%= asset_path('item.png') %>',\r
2728       },\r
2729       caption: {\r
2730         type: 'method',\r
2731         name: 'plain_scenario',\r
2732         link: {\r
2733           type: 'none'\r
2734         },\r
2735       },\r
2736       summary: {\r
2737         type: 'template',\r
2738         name: 'summary',\r
2739       },\r
2740       edit: {\r
2741         type: 'default',\r
2742       },\r
2743     },\r
2744     panel_picture: {\r
2745       symbol: {\r
2746         type: 'picture',\r
2747         name: 'symbol_option',\r
2748       },\r
2749       caption: {\r
2750         type: 'column',\r
2751         name: 'caption',\r
2752       },\r
2753       summary: {\r
2754         type: 'template',\r
2755         name: 'summary',\r
2756       },\r
2757       edit: {\r
2758         type: 'none',\r
2759       },\r
2760     },\r
2761     speech_balloon: {\r
2762       symbol: {\r
2763         type: 'picture',\r
2764         name: 'symbol_option',\r
2765       },\r
2766       caption: {\r
2767         type: 'method',\r
2768         name: 'plain_scenario',\r
2769         link: {\r
2770           type: 'none'\r
2771         },\r
2772       },\r
2773       summary: {\r
2774         type: 'template',\r
2775         name: 'summary',\r
2776       },\r
2777       edit: {\r
2778         type: 'none',\r
2779       },\r
2780     },\r
2781     speech: {\r
2782       symbol: {\r
2783         type: 'picture',\r
2784         name: 'symbol_option',\r
2785       },\r
2786       caption: {\r
2787         type: 'column',\r
2788         name: 'content',\r
2789         link: {\r
2790           type: 'none'\r
2791         },\r
2792       },\r
2793       summary: {\r
2794         type: 'template',\r
2795         name: 'summary',\r
2796       },\r
2797       edit: {\r
2798         type: 'none',\r
2799       },\r
2800     },\r
2801     balloon: {\r
2802       symbol: {\r
2803         type: 'picture',\r
2804         name: 'symbol_option',\r
2805       },\r
2806       caption: {\r
2807         type: 'none',\r
2808       },\r
2809       summary: {\r
2810         type: 'template',\r
2811         name: 'summary',\r
2812       },\r
2813       edit: {\r
2814         type: 'none',\r
2815       },\r
2816     },\r
2817     ground_picture: {\r
2818       symbol: {\r
2819         type: 'picture',\r
2820         name: 'symbol_option',\r
2821       },\r
2822       caption: {\r
2823         type: 'column',\r
2824         name: 'caption',\r
2825       },\r
2826       summary: {\r
2827         type: 'template',\r
2828         name: 'summary',\r
2829       },\r
2830       edit: {\r
2831         type: 'none',\r
2832       },\r
2833     },\r
2834     ground_color: {\r
2835       symbol: {\r
2836         type: 'template',\r
2837         name: 'symbol',\r
2838       },\r
2839       caption: {\r
2840         type: 'column',\r
2841         name: 'caption',\r
2842       },\r
2843       summary: {\r
2844         type: 'template',\r
2845         name: 'summary',\r
2846       },\r
2847       edit: {\r
2848         type: 'none',\r
2849       },\r
2850     },\r
2851     original_picture: {\r
2852       symbol: {\r
2853         type: 'picture',\r
2854         name: 'symbol_option',\r
2855       },\r
2856       caption: {\r
2857         type: 'method',\r
2858         name: 'revision',\r
2859         link: {\r
2860           type: 'action'\r
2861           name: 'history',\r
2862         },\r
2863       },\r
2864       summary: {\r
2865         type: 'template',\r
2866         name: 'summary',\r
2867       },\r
2868       edit: {\r
2869         type: 'template',\r
2870         name: 'publish',\r
2871       },\r
2872     },\r
2873     picture: {\r
2874       symbol: {\r
2875         type: 'picture',\r
2876         name: 'symbol_option',\r
2877       },\r
2878       caption: {\r
2879         type: 'column',\r
2880         name: 'revision',\r
2881       },\r
2882       summary: {\r
2883         type: 'template',\r
2884         name: 'summary',\r
2885       },\r
2886       edit: {\r
2887         type: 'none',\r
2888       },\r
2889     },\r
2890     resource_picture: {\r
2891       symbol: {\r
2892         type: 'picture',\r
2893         name: 'symbol_option',\r
2894       },\r
2895       caption: {\r
2896         type: 'none',\r
2897       },\r
2898       summary: {\r
2899         type: 'template',\r
2900         name: 'summary',\r
2901       },\r
2902       edit: {\r
2903         type: 'none',\r
2904       },\r
2905     },\r
2906     speech_balloon_template: {\r
2907       symbol: {\r
2908         type: 'picture',\r
2909         name: 'symbol_option',\r
2910       },\r
2911       caption: {\r
2912         type: 'column',\r
2913         name: 'caption',\r
2914       },\r
2915       summary: {\r
2916         type: 'none',\r
2917       },\r
2918       edit: {\r
2919         type: 'none',\r
2920       },\r
2921     },\r
2922     writing_format: {\r
2923       symbol: {\r
2924         type: 'image',\r
2925         name: '<%= asset_path('item.png') %>',\r
2926       },\r
2927       caption: {\r
2928         type: 'column',\r
2929         name: 'caption',\r
2930       },\r
2931       summary: {\r
2932         type: 'none',\r
2933       },\r
2934       edit: {\r
2935         type: 'none',\r
2936       },\r
2937     },\r
2938     license_group: {\r
2939       symbol: {\r
2940         type: 'image',\r
2941         name: '<%= asset_path('item.png') %>',\r
2942       },\r
2943       caption: {\r
2944         type: 'column',\r
2945         name: 'caption',\r
2946         link: {\r
2947           type: 'url_column'\r
2948           name: 'url',\r
2949         },\r
2950       },\r
2951       summary: {\r
2952         type: 'none',\r
2953       },\r
2954       edit: {\r
2955         type: 'none',\r
2956       },\r
2957     },\r
2958     license: {\r
2959       symbol: {\r
2960         type: 'image',\r
2961         name: '<%= asset_path('item.png') %>',\r
2962       },\r
2963       caption: {\r
2964         type: 'method',\r
2965         name: 'caption_with_group',\r
2966         link: {\r
2967           type: 'url_column'\r
2968           name: 'url',\r
2969         },\r
2970       },\r
2971       summary: {\r
2972         type: 'template',\r
2973         name: 'summary',\r
2974       },\r
2975       edit: {\r
2976         type: 'none',\r
2977       },\r
2978     },\r
2979     author: {\r
2980       symbol: {\r
2981         type: 'image',\r
2982         name: '<%= asset_path('item.png') %>',\r
2983       },\r
2984       caption: {\r
2985         type: 'column',\r
2986         name: 'name',\r
2987       },\r
2988       summary: {\r
2989         type: 'template',\r
2990         name: 'summary',\r
2991       },\r
2992       edit: {\r
2993         type: 'account',\r
2994       },\r
2995     },\r
2996     artist: {\r
2997       symbol: {\r
2998         type: 'image',\r
2999         name: '<%= asset_path('item.png') %>',\r
3000       },\r
3001       caption: {\r
3002         type: 'column',\r
3003         name: 'name',\r
3004       },\r
3005       summary: {\r
3006         type: 'template',\r
3007         name: 'summary',\r
3008       },\r
3009       edit: {\r
3010         type: 'account',\r
3011       },\r
3012     },\r
3013     system_picture: {\r
3014       symbol: {\r
3015         type: 'picture',\r
3016         name: 'symbol_option',\r
3017       },\r
3018       caption: {\r
3019         type: 'none',\r
3020       },\r
3021       summary: {\r
3022         type: 'none',\r
3023       },\r
3024       edit: {\r
3025         type: 'none',\r
3026       },\r
3027     },\r
3028   },\r
3029   elements: [\r
3030     {\r
3031       name: 'panel_picture',\r
3032       path_name: 'panel_pictures', \r
3033       parts: []\r
3034     },\r
3035     {\r
3036       name: 'speech_balloon',\r
3037       path_name: 'circle_speech_balloon/speech_balloons', \r
3038       parts: ['balloon', 'speech']\r
3039     },\r
3040     {\r
3041       name: 'ground_picture',\r
3042       path_name: 'ground_pictures', \r
3043       parts: []\r
3044     },\r
3045     {\r
3046       name: 'ground_color',\r
3047       path_name: 'ground_colors', \r
3048       parts: []\r
3049     },\r
3050   ],\r
3051   forms: {\r
3052     Panel: 'panel',\r
3053     panel: {\r
3054       attributes: {\r
3055         caption: {\r
3056           column: 'caption',\r
3057           type: 'text',\r
3058           label: {\r
3059           },\r
3060           options: {\r
3061             row_break: true\r
3062           }\r
3063         },\r
3064         width: {\r
3065           column: 'width',\r
3066           type: 'number',\r
3067           label: {\r
3068           },\r
3069           options: {\r
3070             size: 5, \r
3071           },\r
3072         },\r
3073         height: {\r
3074           column: 'height',\r
3075           type: 'number',\r
3076           label: {\r
3077           },\r
3078           options: {\r
3079             size: 5, \r
3080             row_break: true\r
3081           }, \r
3082         },\r
3083         border: {\r
3084           column: 'border',\r
3085           type: 'number',\r
3086           label: {\r
3087           },\r
3088           options: {\r
3089             size: 5, \r
3090           },\r
3091         },\r
3092         publish: {\r
3093           column: 'publish',\r
3094           type: 'select',\r
3095           label: {\r
3096           },\r
3097           options: {\r
3098             source: 'magic_number',\r
3099             key: 'comic_visible_items',\r
3100             size: 5, \r
3101             row_break: true\r
3102           }\r
3103         },\r
3104         id: {\r
3105           column: 'id',\r
3106           type: 'hidden',\r
3107           label: {\r
3108             type: 'hidden'\r
3109           },\r
3110           options: {\r
3111           }\r
3112         },\r
3113         author_id: {\r
3114           column: 'author_id',\r
3115           type: 'hidden',\r
3116           label: {\r
3117             type: 'hidden'\r
3118           },\r
3119           options: {\r
3120           }\r
3121         },\r
3122       },\r
3123       fields: [\r
3124         'caption',\r
3125         'width',\r
3126         'height',\r
3127         'border',\r
3128         'publish',\r
3129         'id',\r
3130         'author_id',\r
3131       ]\r
3132     },\r
3133     PanelPicture: 'panel_picture',\r
3134     panel_picture: {\r
3135       attributes: {\r
3136         caption: {\r
3137           column: 'caption',\r
3138           type: 'text',\r
3139           label: {\r
3140           },\r
3141           options: {\r
3142             row_break: true\r
3143           }\r
3144         },\r
3145         x: {\r
3146           column: 'x',\r
3147           type: 'number',\r
3148           label: {\r
3149           },\r
3150           options: {\r
3151             size: 5, \r
3152           }\r
3153         },\r
3154         y: {\r
3155           column: 'y',\r
3156           type: 'number',\r
3157           label: {\r
3158           },\r
3159           options: {\r
3160             size: 5, \r
3161             row_break: true\r
3162           }\r
3163         },\r
3164         width: {\r
3165           column: 'width',\r
3166           type: 'number',\r
3167           label: {\r
3168           },\r
3169           options: {\r
3170             size: 5, \r
3171             row_break: true\r
3172           },\r
3173           helpers: {\r
3174             size: {\r
3175               path: 'panels/size_helper',\r
3176               options: {\r
3177                 class: 'panel_picture_width_tool', \r
3178               }\r
3179             }\r
3180           },\r
3181         },\r
3182         height: {\r
3183           column: 'height',\r
3184           type: 'number',\r
3185           label: {\r
3186           },\r
3187           options: {\r
3188             size: 5, \r
3189             row_break: true\r
3190           }, \r
3191           helpers: {\r
3192             size: {\r
3193               path: 'panels/size_helper',\r
3194               options: {\r
3195                 class: 'panel_picture_height_tool', \r
3196               }\r
3197             }\r
3198           },\r
3199         },\r
3200         link: {\r
3201           column: 'link',\r
3202           type: 'text',\r
3203           label: {\r
3204           },\r
3205           options: {\r
3206             row_break: true\r
3207           }\r
3208         },\r
3209         id: {\r
3210           column: 'id',\r
3211           type: 'hidden',\r
3212           label: {\r
3213             type: 'hidden'\r
3214           },\r
3215           options: {\r
3216           }\r
3217         },\r
3218         panel_id: {\r
3219           column: 'panel_id',\r
3220           type: 'hidden',\r
3221           label: {\r
3222             type: 'hidden'\r
3223           },\r
3224           options: {\r
3225           }\r
3226         },\r
3227         picture_id: {\r
3228           column: 'picture_id',\r
3229           type: 'hidden',\r
3230           label: {\r
3231           },\r
3232           helpers: {\r
3233             popup: {\r
3234               path: 'panels/popup_helper',\r
3235               source: 'pictures',\r
3236               options: {\r
3237               }\r
3238             }\r
3239           }\r
3240           options: {\r
3241           }\r
3242         },\r
3243         z: {\r
3244           column: 'z',\r
3245           type: 'hidden',\r
3246           label: {\r
3247             type: 'hidden'\r
3248           },\r
3249           options: {\r
3250           }\r
3251         },\r
3252         t: {\r
3253           column: 't',\r
3254           type: 'hidden',\r
3255           label: {\r
3256             type: 'hidden'\r
3257           },\r
3258           options: {\r
3259           }\r
3260         },\r
3261       },\r
3262       fields: [\r
3263         'caption',\r
3264         'x',\r
3265         'y',\r
3266         'width',\r
3267         'height',\r
3268         'link',\r
3269         'id',\r
3270         'panel_id',\r
3271         'picture_id',\r
3272         'z',\r
3273         't',\r
3274       ]\r
3275     },\r
3276     speech_balloon: {\r
3277       attributes: {\r
3278         'speech_balloon.id': {\r
3279           column: 'id',\r
3280           type: 'hidden',\r
3281           label: {\r
3282             type: 'hidden'\r
3283           },\r
3284           options: {\r
3285           }\r
3286         },\r
3287         'speech_balloon.panel_id': {\r
3288           column: 'panel_id',\r
3289           type: 'hidden',\r
3290           label: {\r
3291             type: 'hidden'\r
3292           },\r
3293           options: {\r
3294           }\r
3295         },\r
3296         'speech_balloon.speech_balloon_template_id': {\r
3297           column: 'speech_balloon_template_id',\r
3298           type: 'hidden',\r
3299           label: {\r
3300             type: 'hidden'\r
3301           },\r
3302           options: {\r
3303           }\r
3304         },\r
3305         'speech_balloon.caption': {\r
3306           column: 'caption',\r
3307           type: 'text',\r
3308           label: {\r
3309           },\r
3310           options: {\r
3311             row_break: true\r
3312           }\r
3313         },\r
3314         'speech_balloon.z': {\r
3315           column: 'z',\r
3316           type: 'hidden',\r
3317           label: {\r
3318             type: 'hidden'\r
3319           },\r
3320           options: {\r
3321           }\r
3322         },\r
3323         'speech_balloon.t': {\r
3324           column: 't',\r
3325           type: 'hidden',\r
3326           label: {\r
3327             type: 'hidden'\r
3328           },\r
3329           options: {\r
3330           }\r
3331         },\r
3332         'speech_balloon.classname': {\r
3333           column: 'classname',\r
3334           type: 'hidden',\r
3335           label: {\r
3336             type: 'hidden'\r
3337           },\r
3338           options: {\r
3339           }\r
3340         },\r
3341         'speech_balloon.settings': {\r
3342           column: 'settings',\r
3343           type: 'hidden',\r
3344           label: {\r
3345             type: 'hidden'\r
3346           },\r
3347           options: {\r
3348           }\r
3349         },\r
3350         'balloon.id': {\r
3351           model: 'balloon',\r
3352           part: 'balloon',\r
3353           column: 'id',\r
3354           type: 'hidden',\r
3355           label: {\r
3356             type: 'hidden'\r
3357           },\r
3358           options: {\r
3359           }\r
3360         },\r
3361         'balloon.speech_balloon_id': {\r
3362           model: 'balloon',\r
3363           part: 'balloon',\r
3364           column: 'speech_balloon_id',\r
3365           type: 'hidden',\r
3366           label: {\r
3367             type: 'hidden'\r
3368           },\r
3369           options: {\r
3370           }\r
3371         },\r
3372         'balloon.system_picture_id': {\r
3373           model: 'balloon',\r
3374           part: 'balloon',\r
3375           column: 'system_picture_id',\r
3376           type: 'hidden',\r
3377           label: {\r
3378             type: 'hidden'\r
3379           },\r
3380           options: {\r
3381           }\r
3382         },\r
3383         'balloon.r': {\r
3384           model: 'balloon',\r
3385           part: 'balloon',\r
3386           column: 'r',\r
3387           type: 'number',\r
3388           label: {\r
3389           },\r
3390           options: {\r
3391             size: 5, \r
3392             row_break: true\r
3393           },\r
3394           helpers: {\r
3395             tail_angle: {\r
3396               path: 'panels/tail_angle_helper',\r
3397               options: {\r
3398               }\r
3399             }\r
3400           }\r
3401         },\r
3402         'balloon.x': {\r
3403           model: 'balloon',\r
3404           part: 'balloon',\r
3405           column: 'x',\r
3406           type: 'number',\r
3407           label: {\r
3408           },\r
3409           options: {\r
3410             size: 5, \r
3411           }\r
3412         },\r
3413         'balloon.y': {\r
3414           model: 'balloon',\r
3415           part: 'balloon',\r
3416           column: 'y',\r
3417           type: 'number',\r
3418           label: {\r
3419           },\r
3420           options: {\r
3421             size: 5, \r
3422             row_break: true\r
3423           }\r
3424         },\r
3425         'balloon.width': {\r
3426           model: 'balloon',\r
3427           part: 'balloon',\r
3428           column: 'width',\r
3429           type: 'number',\r
3430           label: {\r
3431           },\r
3432           options: {\r
3433             size: 5, \r
3434           }\r
3435         },\r
3436         'balloon.height': {\r
3437           model: 'balloon',\r
3438           part: 'balloon',\r
3439           column: 'height',\r
3440           type: 'number',\r
3441           label: {\r
3442           },\r
3443           options: {\r
3444             size: 5, \r
3445             row_break: true\r
3446           }\r
3447         },\r
3448         'balloon.settings': {\r
3449           model: 'balloon',\r
3450           part: 'balloon',\r
3451           column: 'settings',\r
3452           type: 'hidden',\r
3453           label: {\r
3454             type: 'hidden'\r
3455           },\r
3456           options: {\r
3457           }\r
3458         },\r
3459         'speech.id': {\r
3460           model: 'speech',\r
3461           part: 'speech',\r
3462           column: 'id',\r
3463           type: 'hidden',\r
3464           label: {\r
3465             type: 'hidden'\r
3466           },\r
3467           options: {\r
3468           }\r
3469         },\r
3470         'speech.speech_balloon_id': {\r
3471           model: 'speech',\r
3472           part: 'speech',\r
3473           column: 'speech_balloon_id',\r
3474           type: 'hidden',\r
3475           label: {\r
3476             type: 'hidden'\r
3477           },\r
3478           options: {\r
3479           }\r
3480         },\r
3481         'speech.x': {\r
3482           model: 'speech',\r
3483           part: 'speech',\r
3484           column: 'x',\r
3485           type: 'hidden',\r
3486           label: {\r
3487             type: 'hidden'\r
3488           },\r
3489           options: {\r
3490           }\r
3491         },\r
3492         'speech.y': {\r
3493           model: 'speech',\r
3494           part: 'speech',\r
3495           column: 'y',\r
3496           type: 'hidden',\r
3497           label: {\r
3498             type: 'hidden'\r
3499           },\r
3500           options: {\r
3501           }\r
3502         },\r
3503         'speech.width': {\r
3504           model: 'speech',\r
3505           part: 'speech',\r
3506           column: 'width',\r
3507           type: 'hidden',\r
3508           label: {\r
3509             type: 'hidden'\r
3510           },\r
3511           options: {\r
3512           }\r
3513         },\r
3514         'speech.height': {\r
3515           model: 'speech',\r
3516           part: 'speech',\r
3517           column: 'height',\r
3518           type: 'hidden',\r
3519           label: {\r
3520             type: 'hidden'\r
3521           },\r
3522           options: {\r
3523           }\r
3524         },\r
3525         'speech.writing_format_id': {\r
3526           model: 'speech',\r
3527           part: 'speech',\r
3528           column: 'writing_format_id',\r
3529           type: 'select',\r
3530           label: {\r
3531           },\r
3532           options: {\r
3533             source: 'model',\r
3534             model: 'writing_format',\r
3535             method: 'enable_list',\r
3536             caption: 'caption'\r
3537           }\r
3538         },\r
3539         'speech.font_size': {\r
3540           model: 'speech',\r
3541           part: 'speech',\r
3542           column: 'font_size',\r
3543           type: 'select',\r
3544           label: {\r
3545           },\r
3546           options: {\r
3547             source: 'magic_number',\r
3548             key: 'speech_font_size_items',\r
3549             row_break: true\r
3550           }\r
3551         },\r
3552         'speech.text_align': {\r
3553           model: 'speech',\r
3554           part: 'speech',\r
3555           column: 'text_align',\r
3556           type: 'select',\r
3557           label: {\r
3558           },\r
3559           options: {\r
3560             source: 'magic_number',\r
3561             key: 'speech_text_align_items',\r
3562           }\r
3563         },\r
3564         'speech.quotes': {\r
3565           model: 'speech',\r
3566           part: 'speech',\r
3567           column: 'quotes',\r
3568           type: 'text',\r
3569           label: {\r
3570           },\r
3571           options: {\r
3572             size: 5, \r
3573           }\r
3574         },\r
3575         'speech.content': {\r
3576           model: 'speech',\r
3577           part: 'speech',\r
3578           column: 'content',\r
3579           type: 'text_area',\r
3580           label: {\r
3581             row_break: true\r
3582           },\r
3583           options: {\r
3584             size: '45x5', \r
3585           }\r
3586         },\r
3587         'speech.fore_color': {\r
3588           model: 'speech',\r
3589           part: 'speech',\r
3590           column: 'fore_color',\r
3591           type: 'hidden',\r
3592           label: {\r
3593             row_break: true\r
3594           },\r
3595           options: {\r
3596           },\r
3597           helpers: {\r
3598             color: {\r
3599               path: 'panels/color_helper',\r
3600               options: {\r
3601               },\r
3602               wrapper: 'speech-fore_color-wrap'\r
3603             }\r
3604           }\r
3605         },\r
3606         'speech.settings': {\r
3607           model: 'speech',\r
3608           part: 'speech',\r
3609           column: 'settings',\r
3610           type: 'hidden',\r
3611           label: {\r
3612             type: 'hidden'\r
3613           },\r
3614           options: {\r
3615           }\r
3616         },\r
3617       },\r
3618     },\r
3619     CircleSpeechBalloon: 'circle_speech_balloon',\r
3620     circle_speech_balloon: {\r
3621       base: 'speech_balloon',\r
3622       attributes: {\r
3623       },\r
3624       fields: [\r
3625           'speech_balloon.caption',\r
3626           'balloon.r',\r
3627           'balloon.x',\r
3628           'balloon.y',\r
3629           'balloon.width',\r
3630           'balloon.height',\r
3631           'balloon.id',\r
3632           'balloon.speech_balloon_id',\r
3633           'balloon.system_picture_id',\r
3634           'balloon.settings',\r
3635           'speech.writing_format_id',\r
3636           'speech.font_size',\r
3637           'speech.text_align',\r
3638           'speech.quotes',\r
3639           'speech.content',\r
3640           'speech.fore_color',\r
3641           'speech.id',\r
3642           'speech.speech_balloon_id',\r
3643           'speech.x',\r
3644           'speech.y',\r
3645           'speech.width',\r
3646           'speech.height',\r
3647           'speech.settings',\r
3648           'speech_balloon.id',\r
3649           'speech_balloon.panel_id',\r
3650           'speech_balloon.speech_balloon_template_id',\r
3651           'speech_balloon.classname',\r
3652           'speech_balloon.z',\r
3653           'speech_balloon.t',\r
3654           'speech_balloon.settings',\r
3655       ]\r
3656     },\r
3657     PlainSpeechBalloon: 'plain_speech_balloon',\r
3658     plain_speech_balloon: {\r
3659       base: 'speech_balloon',\r
3660       attributes: {\r
3661         'balloon.r': {\r
3662           model: 'balloon',\r
3663           part: 'balloon',\r
3664           column: 'r',\r
3665           type: 'hidden',\r
3666           label: {\r
3667             type: 'hidden'\r
3668           },\r
3669           options: {\r
3670           },\r
3671         },\r
3672       },\r
3673       fields: [\r
3674         'speech_balloon.caption',\r
3675         'balloon.r',\r
3676         'balloon.x',\r
3677         'balloon.y',\r
3678         'balloon.width',\r
3679         'balloon.height',\r
3680         'balloon.id',\r
3681         'balloon.speech_balloon_id',\r
3682         'balloon.system_picture_id',\r
3683         'balloon.settings',\r
3684         'speech.writing_format_id',\r
3685         'speech.font_size',\r
3686         'speech.text_align',\r
3687         'speech.quotes',\r
3688         'speech.content',\r
3689         'speech.fore_color',\r
3690         'speech.id',\r
3691         'speech.speech_balloon_id',\r
3692         'speech.x',\r
3693         'speech.y',\r
3694         'speech.width',\r
3695         'speech.height',\r
3696         'speech.settings',\r
3697         'speech_balloon.id',\r
3698         'speech_balloon.panel_id',\r
3699         'speech_balloon.speech_balloon_template_id',\r
3700         'speech_balloon.classname',\r
3701         'speech_balloon.z',\r
3702         'speech_balloon.t',\r
3703         'speech_balloon.settings',\r
3704       ]\r
3705     },\r
3706     SquareSpeechBalloon: 'square_speech_balloon',\r
3707     square_speech_balloon: {\r
3708       base: 'speech_balloon',\r
3709       attributes: {\r
3710         'balloon.r': {\r
3711           model: 'balloon',\r
3712           part: 'balloon',\r
3713           column: 'r',\r
3714           type: 'hidden',\r
3715           label: {\r
3716             type: 'hidden'\r
3717           },\r
3718           options: {\r
3719           },\r
3720         },\r
3721       },\r
3722       fields: [\r
3723         'speech_balloon.caption',\r
3724         'balloon.r',\r
3725         'balloon.x',\r
3726         'balloon.y',\r
3727         'balloon.width',\r
3728         'balloon.height',\r
3729         'balloon.id',\r
3730         'balloon.speech_balloon_id',\r
3731         'balloon.system_picture_id',\r
3732         'balloon.settings',\r
3733         'speech.writing_format_id',\r
3734         'speech.font_size',\r
3735         'speech.text_align',\r
3736         'speech.quotes',\r
3737         'speech.content',\r
3738         'speech.fore_color',\r
3739         'speech.id',\r
3740         'speech.speech_balloon_id',\r
3741         'speech.x',\r
3742         'speech.y',\r
3743         'speech.width',\r
3744         'speech.height',\r
3745         'speech.settings',\r
3746         'speech_balloon.id',\r
3747         'speech_balloon.panel_id',\r
3748         'speech_balloon.speech_balloon_template_id',\r
3749         'speech_balloon.classname',\r
3750         'speech_balloon.z',\r
3751         'speech_balloon.t',\r
3752         'speech_balloon.settings',\r
3753       ]\r
3754     },\r
3755     GroundPicture: 'ground_picture',\r
3756     ground_picture: {\r
3757       attributes: {\r
3758         id: {\r
3759           column: 'id',\r
3760           type: 'hidden',\r
3761           label: {\r
3762             type: 'hidden'\r
3763           },\r
3764           options: {\r
3765           }\r
3766         },\r
3767         panel_id: {\r
3768           column: 'panel_id',\r
3769           type: 'hidden',\r
3770           label: {\r
3771             type: 'hidden'\r
3772           },\r
3773           options: {\r
3774           }\r
3775         },\r
3776         picture_id: {\r
3777           column: 'picture_id',\r
3778           type: 'hidden',\r
3779           label: {\r
3780             type: 'hidden'\r
3781           },\r
3782           options: {\r
3783           }\r
3784         },\r
3785         caption: {\r
3786           column: 'caption',\r
3787           type: 'text',\r
3788           label: {\r
3789           },\r
3790           options: {\r
3791             row_break: true\r
3792           }\r
3793         },\r
3794         repeat: {\r
3795           column: 'repeat',\r
3796           type: 'select',\r
3797           label: {\r
3798           },\r
3799           options: {\r
3800             source: 'magic_number',\r
3801             key: 'ground_picture_repeat_items',\r
3802             row_break: true\r
3803           }\r
3804         },\r
3805         x: {\r
3806           column: 'x',\r
3807           type: 'number',\r
3808           label: {\r
3809           },\r
3810           options: {\r
3811             size: 5, \r
3812           }\r
3813         },\r
3814         y: {\r
3815           column: 'y',\r
3816           type: 'number',\r
3817           label: {\r
3818           },\r
3819           options: {\r
3820             size: 5, \r
3821             row_break: true\r
3822           }\r
3823         },\r
3824         z: {\r
3825           column: 'z',\r
3826           type: 'hidden',\r
3827           label: {\r
3828             type: 'hidden'\r
3829           },\r
3830           options: {\r
3831           }\r
3832         },\r
3833         t: {\r
3834           column: 't',\r
3835           type: 'hidden',\r
3836           label: {\r
3837             type: 'hidden'\r
3838           },\r
3839           options: {\r
3840           }\r
3841         },\r
3842       },\r
3843       fields: [\r
3844         'caption',\r
3845         'repeat',\r
3846         'x',\r
3847         'y',\r
3848         'z',\r
3849         't',\r
3850         'id',\r
3851         'panel_id',\r
3852         'picture_id',\r
3853       ]\r
3854     },\r
3855     GroundColor: 'ground_color',\r
3856     ground_color: {\r
3857       attributes: {\r
3858         id: {\r
3859           column: 'id',\r
3860           type: 'hidden',\r
3861           label: {\r
3862             type: 'hidden'\r
3863           },\r
3864           options: {\r
3865           }\r
3866         },\r
3867         panel_id: {\r
3868           column: 'panel_id',\r
3869           type: 'hidden',\r
3870           label: {\r
3871             type: 'hidden'\r
3872           },\r
3873           options: {\r
3874           }\r
3875         },\r
3876         caption: {\r
3877           column: 'caption',\r
3878           type: 'text',\r
3879           label: {\r
3880           },\r
3881           options: {\r
3882             row_break: true\r
3883           }\r
3884         },\r
3885         code: {\r
3886           column: 'code',\r
3887           type: 'hidden',\r
3888           label: {\r
3889             row_break: true\r
3890           },\r
3891           options: {\r
3892             row_break: true\r
3893           }\r
3894           helpers: {\r
3895             color: {\r
3896               path: 'panels/color_helper',\r
3897               options: {\r
3898               },\r
3899               wrapper: 'ground_color-code-wrap'\r
3900             }\r
3901           },\r
3902         },\r
3903         orientation: {\r
3904           column: 'orientation',\r
3905           type: 'select',\r
3906           label: {\r
3907           },\r
3908           options: {\r
3909             source: 'magic_number',\r
3910             key: 'ground_color_orientation_items',\r
3911             row_break: true\r
3912           }\r
3913         },\r
3914         xy: {\r
3915           column: 'xy',\r
3916           type: 'number',\r
3917           label: {\r
3918           },\r
3919           options: {\r
3920             size: 5, \r
3921           }\r
3922         },\r
3923         wh: {\r
3924           column: 'wh',\r
3925           type: 'number',\r
3926           label: {\r
3927           },\r
3928           options: {\r
3929             size: 5, \r
3930             row_break: true\r
3931           }\r
3932         },\r
3933         z: {\r
3934           column: 'z',\r
3935           type: 'hidden',\r
3936           label: {\r
3937             type: 'hidden'\r
3938           },\r
3939           options: {\r
3940           }\r
3941         },\r
3942         t: {\r
3943           column: 't',\r
3944           type: 'hidden',\r
3945           label: {\r
3946             type: 'hidden'\r
3947           },\r
3948           options: {\r
3949           }\r
3950         },\r
3951       },\r
3952       fields: [\r
3953         'id',\r
3954         'panel_id',\r
3955         'caption',\r
3956         'code',\r
3957         'orientation',\r
3958         'xy',\r
3959         'wh',\r
3960         'z',\r
3961         't',\r
3962       ]\r
3963     }\r
3964   },\r
3965   locales: {\r
3966     ja: {\r
3967     }\r
3968   },\r
3969 }\r
3970 \r
3971 @repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
3972 \r
3973 @text_align_texts = ['left', 'left', 'right', 'center']\r
3974 \r