/* TODO: replicate diagonal swallow slots to the other hover styles */
group { name: "elm/hover/base/default";
   parts {
      part { name: "elm.swallow.offset"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.relative: 0.0 0.0;
            rel2.relative: 0.0 0.0;
         }
      }
      part { name: "elm.swallow.size"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.to: "elm.swallow.offset";
            rel1.relative: 1.0 1.0;
            rel2.to: "elm.swallow.offset";
            rel2.relative: 1.0 1.0;
         }
      }
      part { name: "base"; type: RECT; mouse_events: 1;
         description { state: "default" 0.0;
            color: 0 0 0 64;
         }
      }
      part { name: "box"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            color: 0 0 0 0;
            rel1.to: "elm.swallow.size";
            rel1.offset: -2 -2;
            rel2.to: "elm.swallow.size";
            rel2.offset: 1 1;
         }
      }
      part { name: "elm.swallow.slot.left"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 1.0 0.5;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: -1 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 0.0 1.0;
            rel2.offset: -1 -1;
         }
      }
      part { name: "elm.swallow.slot.top-left"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 1.0 1.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 0.0 0.0;
            rel2.offset: -1 -1;
         }
      }
      part { name: "elm.swallow.slot.top"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.5 1.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: 0 -1;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 -1;
         }
      }
      part { name: "elm.swallow.slot.top-right"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 1.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 1.0 0.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 -1;
         }
      }
      part { name: "elm.swallow.slot.right"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.5;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 1.0 0.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: 0 -1;
         }
      }
      part { name: "elm.swallow.slot.bottom-right"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 1.0 1.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: -1 -1;
         }
      }
      part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.5 0.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: -1 0;
         }
      }
      part { name: "elm.swallow.slot.bottom-left"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 1.0 0.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 0.0 1.0;
            rel2.offset: -1 0;
         }
      }
      part { name: "elm.swallow.slot.middle"; type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.size";
            rel2.to: "elm.swallow.size";
         }
      }
   }
   programs {
      program { name: "end";
         signal: "mouse,up,*"; source: "base";
         action: SIGNAL_EMIT "elm,action,dismiss" "elm";
      }
   }
}

group { name: "elm/hover/base/popout";
   images.image: "button_normal.png" COMP;
   parts {
      part { name: "elm.swallow.offset"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.relative: 0.0 0.0;
            rel2.relative: 0.0 0.0;
         }
      }
      part { name: "elm.swallow.size"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.to: "elm.swallow.offset";
            rel1.relative: 1.0 1.0;
            rel2.to: "elm.swallow.offset";
            rel2.relative: 1.0 1.0;
         }
      }
      part { name: "base"; type: RECT; mouse_events: 1;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 0 0 0 64;
         }
      }
      part { name: "leftclip"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_x: "pop";
            rel2.relative: 0.0 1.0;
            rel2.offset: 1 -1;
         }
      }
      part { name: "left";
         clip_to: "leftclip";
         description { state: "default" 0.0;
            visible: 0;
            rel1.to: "elm.swallow.slot.left";
            rel1.offset: -5 -5;
            rel2.to: "elm.swallow.slot.left";
            rel2.offset: 4 4;
            image.normal: "button_normal.png";
            image.border: 4 4 3 5;
            image.middle: SOLID;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "elm.swallow.slot.left"; type: SWALLOW;
         clip_to: "leftclip";
         description { state: "default" 0.0;
            align: 0.0 0.5;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: -1 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 0.0 1.0;
            rel2.offset: -1 -1;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.offset: -7 0;
            rel2.offset: -7 -1;
            align: 1.0 0.5;
         }
      }
      part { name: "rightclip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_x: "pop";
            rel1.relative: 1.0 0.0;
            rel1.offset: -2 0;
         }
      }
      part { name: "right";
         clip_to: "rightclip";
         description { state: "default" 0.0;
            visible: 0;
            rel1.to: "elm.swallow.slot.right";
            rel1.offset: -5 -5;
            rel2.to: "elm.swallow.slot.right";
            rel2.offset: 4 4;
            image.normal: "button_normal.png";
            image.border: 4 4 3 5;
            image.middle: SOLID;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "elm.swallow.slot.right"; type: SWALLOW;
         clip_to: "rightclip";
         description { state: "default" 0.0;
            align: 1.0 0.5;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 1.0 0.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: 0 -1;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 6 0;
            rel2.offset: 6 -1;
            align: 0.0 0.5;
         }
      }
      part { name: "topclip"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_y: "pop";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 1;
         }
      }
      part { name: "top";
         clip_to: "topclip";
         description { state: "default" 0.0;
            visible: 0;
            rel1.to: "elm.swallow.slot.top";
            rel1.offset: -5 -5;
            rel2.to: "elm.swallow.slot.top";
            rel2.offset: 4 4;
            image.normal: "button_normal.png";
            image.border: 4 4 3 5;
            image.middle: SOLID;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "elm.swallow.slot.top"; type: SWALLOW;
         clip_to: "topclip";
         description { state: "default" 0.0;
            visible: 1;
            align: 0.5 0.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: 0 -1;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 -1;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 0 -7;
            rel2.offset: -1 -7;
            align: 0.5 1.0;
         }
      }
      part { name: "bottomclip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_y: "pop";
            rel1.relative: 0.0 1.0;
            rel1.offset: -1 -2;
         }
      }
      part { name: "bottom";
         clip_to: "bottomclip";
         description { state: "default" 0.0;
            visible: 0;
            rel1.to: "elm.swallow.slot.bottom";
            rel1.offset: -5 -5;
            rel2.to: "elm.swallow.slot.bottom";
            rel2.offset: 4 4;
            image.normal: "button_normal.png";
            image.border: 4 4 3 5;
            image.middle: SOLID;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
         clip_to: "bottomclip";
         description { state: "default" 0.0;
            align: 0.5 1.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: -1 0;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 0 6;
            rel2.offset: -1 6;
            align: 0.5 0.0;
         }
      }
      part { name: "pop"; mouse_events: 1;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.offset: -6 -6;
            rel2.to: "elm.swallow.slot.middle";
            rel2.offset: 5 5;
            image.normal: "button_normal.png";
            image.border: 4 4 3 5;
            image.middle: SOLID;
         }
      }
      part { name: "elm.swallow.slot.middle"; type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.size";
            rel2.to: "elm.swallow.size";
         }
      }
   }
   programs {
      program { name: "end";
         signal: "mouse,up,*"; source: "base";
         action: SIGNAL_EMIT "elm,action,dismiss" "elm";
      }
      program { name: "show";
         signal: "elm,action,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         target: "base";
      }
      program { name: "hide";
         signal: "elm,action,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
      program { name: "leftshow";
         signal: "elm,action,slot,left,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "left";
         target: "elm.swallow.slot.left";
      }
      program { name: "lefthide";
         signal: "elm,action,slot,left,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "left";
         target: "elm.swallow.slot.left";
      }
      program { name: "rightshow";
         signal: "elm,action,slot,right,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "right";
         target: "elm.swallow.slot.right";
      }
      program { name: "righthide";
         signal: "elm,action,slot,right,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "right";
         target: "elm.swallow.slot.right";
      }
      program { name: "topshow";
         signal: "elm,action,slot,top,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "top";
         target: "elm.swallow.slot.top";
      }
      program { name: "tophide";
         signal: "elm,action,slot,top,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "top";
         target: "elm.swallow.slot.top";
      }
      program { name: "bottomshow";
         signal: "elm,action,slot,bottom,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "bottom";
         target: "elm.swallow.slot.bottom";
      }
      program { name: "bottomhide";
         signal: "elm,action,slot,bottom,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "bottom";
         target: "elm.swallow.slot.bottom";
      }
   }
}

group { name: "elm/hover/base/hoversel_vertical/default";
   alias: "elm/hover/base/hoversel_vertical/entry";
   images.image: "button_normal.png" COMP;
   images.image: "vertical_separated_bar_glow.png" COMP;
   parts {
      part { name: "elm.swallow.offset"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.relative: 0.0 0.0;
            rel2.relative: 0.0 0.0;
         }
      }
      part { name: "elm.swallow.size"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.to: "elm.swallow.offset";
            rel1.relative: 1.0 1.0;
            rel2.to: "elm.swallow.offset";
            rel2.relative: 1.0 1.0;
         }
      }
      part { name: "button_image"; mouse_events: 1;
         description { state: "default" 0.0;
            rel1.to_x: "limit0";
            rel1.to_y: "elm.swallow.slot.top";
            rel1.offset: -10 -6;
            rel2.to_x: "limit1";
            rel2.to_y: "elm.swallow.slot.middle";
            rel2.relative: 1.0 0.0;
            rel2.offset: 9 5;
            image {
               normal: "button_normal.png";
               border: 7 7 7 7;
            }
            image.middle: SOLID;
         }
         description { state: "bottom" 0.0;
            rel1.to_x: "limit0";
            rel1.to_y: "elm.swallow.slot.middle";
            rel1.relative: 0.0 1.0;
            rel1.offset: -10 -4;
            rel2.to_x: "limit1";
            rel2.to_y: "elm.swallow.slot.bottom";
            rel2.offset: 9 5;
            image {
               normal: "button_normal.png";
               border: 7 7 7 7;
            }
            image.middle: SOLID;
         }
      }
      part { name: "limit0"; type: SPACER;
         description { state: "default" 0.0;
            rel1.to_x: "elm.swallow.slot.top";
            rel1.offset: 1 0;
            rel2.to_x: "elm.swallow.slot.middle";
            rel2.offset: 0 0;
            rel2.relative: 0.0 1.0;
            align: 0.0 0.5;
            min: 1 1;
            max: 1 99999;
         }
         description { state: "bottom" 0.0;
            inherit: "default" 0.0;
            rel1.to_x: "elm.swallow.slot.bottom";
         }
      }
      part { name: "limit1"; type: SPACER;
         description { state: "default" 0.0;
            rel1.to_x: "elm.swallow.slot.middle";
            rel1.offset: -1 0;
            rel1.relative: 1.0 0.0;
            rel2.to_x: "elm.swallow.slot.top";
            rel2.offset: -2 0;
            align: 1.0 0.5;
            min: 1 1;
            max: 1 99999;
         }
         description { state: "bottom" 0.0;
            inherit: "default" 0.0;
            rel2.to_x: "elm.swallow.slot.bottom";
         }
      }
      part { name: "select_line"; mouse_events: 0;
         description { state: "default" 0.0;
            fixed: 1 1;
            align: 1.0 0.5;
            min: 15 10;
            rel1.to: "button_image";
            rel1.relative: 1.0 0.0;
            rel1.offset: 1 -3;
            rel2.to: "button_image";
            rel2.offset: 1 0;
            image.normal: "vertical_separated_bar_glow.png";
            image.border: 7 7 7 7;
            fill.smooth : 0;
         }
      }
      part { name: "base"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 0 0 0 0;
         }
      }
      part { name: "topclip"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_y: "button_image";
            rel2.offset: -1 -6;
         }
      }
      part { name: "elm.swallow.slot.top"; type: SWALLOW;
         clip_to: "topclip";
         description { state: "default" 0.0;
            visible: 1;
            align: 0.5 0.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: 0 -1;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 -1;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            align: 0.5 1.0;
         }
      }
      part { name: "bottomclip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_y: "button_image";
            rel1.offset: 0 3;
         }
      }
      part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
         clip_to: "bottomclip";
         description { state: "default" 0.0;
            align: 0.5 1.0;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 2;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: -1 2;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            align: 0.5 0.0;
         }
      }
      part { name: "elm.swallow.slot.middle";
         type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.size";
            rel2.to: "elm.swallow.size";
         }
      }
   }
   programs {
      program { name: "end";
         signal: "mouse,up,*"; source: "base";
         action: SIGNAL_EMIT "elm,action,dismiss" "elm";
      }
      program { name: "show";
         signal: "elm,action,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         target: "base";
      }
      program { name: "hide";
         signal: "elm,action,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
      
      program { name: "topshow";
         signal: "elm,action,slot,top,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.top";
      }
      program { name: "topshow3";
         signal: "elm,action,slot,top,show"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "button_image";
         target: "limit0";
         target: "limit1";
      }
      program { name: "tophide";
         signal: "elm,action,slot,top,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.top";
      }
      
      program { name: "bottomshow";
         signal: "elm,action,slot,bottom,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.bottom";
      }
      program { name: "bottomshow3";
         signal: "elm,action,slot,bottom,show"; source: "elm";
         action: STATE_SET "bottom" 0.0;
         target: "button_image";
         target: "limit0";
         target: "limit1";
      }
      program { name: "bottomhide";
         signal: "elm,action,slot,bottom,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.bottom";
      }
   }
}

group { name: "elm/hover/base/hoversel_horizontal/default";
   alias: "elm/hover/base/hoversel_horizontal/entry";
   images.image: "button_normal.png" COMP;
   parts {
      part { name: "elm.swallow.offset"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.relative: 0.0 0.0;
            rel2.relative: 0.0 0.0;
         }
      }
      part { name: "elm.swallow.size"; type: SWALLOW;
         description { state: "default" 0.0;
            align: 0.0 0.0;
            rel1.to: "elm.swallow.offset";
            rel1.relative: 1.0 1.0;
            rel2.to: "elm.swallow.offset";
            rel2.relative: 1.0 1.0;
         }
      }
      part { name: "base"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 0 0 0 0;
         }
      }
      part { name: "button_image"; mouse_events: 0;
         description { state: "default" 0.0;
            rel1.to_x: "elm.swallow.slot.left";
            rel1.to_y: "elm.swallow.slot.middle";
            rel1.offset: -6 0;
            rel2.to_x: "elm.swallow.slot.middle";
            rel2.to_y: "elm.swallow.slot.middle";
            rel2.relative: 0.0 1.0;
            rel2.offset: 4 1;
            image {
               normal: "button_normal.png";
               border: 7 7 7 7;
            }
            image.middle: SOLID;
         }
         description { state: "right" 0.0;
            rel1.to_x: "elm.swallow.slot.middle";
            rel1.to_y: "elm.swallow.slot.middle";
            rel1.relative: 1.0 0.0;
            rel1.offset: -5 0;
            rel2.to_x: "elm.swallow.slot.right";
            rel2.to_y: "elm.swallow.slot.middle";
            rel2.offset: 5 1;
            image {
               normal: "button_normal.png";
               border: 7 7 7 7;
            }
            image.middle: SOLID;
         }
      }
      
      part { name: "leftclip"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_x: "elm.swallow.slot.middle";
            rel2.relative: 0.0 1.0;
         }
      }
      part { name: "elm.swallow.slot.left"; type: SWALLOW;
         clip_to: "leftclip";
         description { state: "default" 0.0;
            align: 0.0 0.5;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 0.0 0.0;
            rel1.offset: -1 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 0.0 1.0;
            rel2.offset: -1 -1;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.offset: -7 0;
            rel2.offset: -7 -1;
            align: 1.0 0.5;
         }
      }
      part { name: "rightclip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_x: "elm.swallow.slot.middle";
            rel1.relative: 1.0 0.0;
         }
      }
      part { name: "elm.swallow.slot.right"; type: SWALLOW;
         clip_to: "rightclip";
         description { state: "default" 0.0;
            align: 1.0 0.5;
            rel1.to: "elm.swallow.slot.middle";
            rel1.relative: 1.0 0.0;
            rel1.offset: 0 0;
            rel2.to: "elm.swallow.slot.middle";
            rel2.relative: 1.0 1.0;
            rel2.offset: 0 -1;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 6 0;
            rel2.offset: -6 -1;
            align: 0.0 0.5;
         }
      }
      part { name: "elm.swallow.slot.middle"; type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.size";
            rel2.to: "elm.swallow.size";
         }
      }
   }
   programs {
      program { name: "end";
         signal: "mouse,up,*"; source: "base";
         action: SIGNAL_EMIT "elm,action,dismiss" "elm";
      }
      program { name: "show";
         signal: "elm,action,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "base";
      }
      program { name: "hide";
         signal: "elm,action,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "base";
      }

      program { name: "leftshow";
         signal: "elm,action,slot,left,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.left";
      }
      program { name: "leftshow3";
         signal: "elm,action,slot,left,show"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "button_image";
      }
      program { name: "lefthide";
         signal: "elm,action,slot,left,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.left";
      }
      
      program { name: "rightshow";
         signal: "elm,action,slot,right,show"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.right";
      }
      program { name: "rightshow3";
         signal: "elm,action,slot,right,show"; source: "elm";
         action: STATE_SET "right" 0.0;
         transition: DECELERATE 0.5;
         target: "button_image";
      }
      program { name: "righthide";
         signal: "elm,action,slot,right,hide"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "elm.swallow.slot.right";
      }
   }
}
