From 6f53de994bb43a73d5f25de1cf107c46b3dc727e Mon Sep 17 00:00:00 2001 From: weijian Date: Wed, 7 Dec 2022 11:07:18 +0800 Subject: [PATCH] add aikit_280 2.0 version --- mycobot_ai/aikit_280_pi/CMakeLists.txt | 205 + .../aikit_280_pi/launch/vision_m5.launch | 27 + .../aikit_280_pi/launch/vision_pi.launch | 27 + .../aikit_280_pi/launch/vision_wio.launch | 27 + .../aikit_280_pi/local_photo/goal5.jpeg | Bin 0 -> 4413 bytes .../aikit_280_pi/local_photo/img/goal01.jpeg | Bin 0 -> 5593 bytes .../aikit_280_pi/local_photo/img/goal03.jpeg | Bin 0 -> 5451 bytes .../aikit_280_pi/local_photo/img/goal2.jpeg | Bin 0 -> 5168 bytes .../aikit_280_pi/local_photo/takephoto.jpeg | Bin 0 -> 51011 bytes mycobot_ai/aikit_280_pi/package.xml | 62 + mycobot_ai/aikit_280_pi/prof.calltree | 21703 ++++++++++++++++ mycobot_ai/aikit_280_pi/prof.out | Bin 0 -> 554273 bytes mycobot_ai/aikit_280_pi/res/A/goal1.jpeg | Bin 0 -> 2554 bytes mycobot_ai/aikit_280_pi/res/A/goal2.jpeg | Bin 0 -> 3017 bytes mycobot_ai/aikit_280_pi/res/A/goal3.jpeg | Bin 0 -> 2829 bytes mycobot_ai/aikit_280_pi/res/A/goal4.jpeg | Bin 0 -> 3663 bytes mycobot_ai/aikit_280_pi/res/A/goal5.jpeg | Bin 0 -> 3302 bytes mycobot_ai/aikit_280_pi/res/A/goal6.jpeg | Bin 0 -> 3156 bytes mycobot_ai/aikit_280_pi/res/A/goal7.jpeg | Bin 0 -> 3864 bytes mycobot_ai/aikit_280_pi/res/B/goal13.jpeg | Bin 0 -> 3332 bytes mycobot_ai/aikit_280_pi/res/B/goal14.jpeg | Bin 0 -> 2897 bytes mycobot_ai/aikit_280_pi/res/B/goal15.jpeg | Bin 0 -> 2916 bytes mycobot_ai/aikit_280_pi/res/B/goal4.jpeg | Bin 0 -> 3855 bytes mycobot_ai/aikit_280_pi/res/B/goal5.jpeg | Bin 0 -> 3517 bytes mycobot_ai/aikit_280_pi/res/B/goal6.jpeg | Bin 0 -> 3487 bytes mycobot_ai/aikit_280_pi/res/C/goal1.jpeg | Bin 0 -> 2877 bytes mycobot_ai/aikit_280_pi/res/C/goal2.jpeg | Bin 0 -> 3214 bytes mycobot_ai/aikit_280_pi/res/C/goal3.jpeg | Bin 0 -> 3176 bytes mycobot_ai/aikit_280_pi/res/C/goal4.jpeg | Bin 0 -> 3621 bytes mycobot_ai/aikit_280_pi/res/C/goal5.jpeg | Bin 0 -> 3334 bytes mycobot_ai/aikit_280_pi/res/C/goal6.jpeg | Bin 0 -> 3594 bytes mycobot_ai/aikit_280_pi/res/C/goal7.jpeg | Bin 0 -> 3717 bytes mycobot_ai/aikit_280_pi/res/D/goal1.jpeg | Bin 0 -> 3217 bytes mycobot_ai/aikit_280_pi/res/D/goal2.jpeg | Bin 0 -> 2570 bytes mycobot_ai/aikit_280_pi/res/D/goal3.jpeg | Bin 0 -> 3005 bytes mycobot_ai/aikit_280_pi/res/D/goal4.jpeg | Bin 0 -> 2327 bytes mycobot_ai/aikit_280_pi/res/D/goal5.jpeg | Bin 0 -> 3547 bytes mycobot_ai/aikit_280_pi/res/D/goal6.jpeg | Bin 0 -> 3519 bytes mycobot_ai/aikit_280_pi/res/D/goal7.jpeg | Bin 0 -> 3487 bytes mycobot_ai/aikit_280_pi/res/takephoto.jpeg | Bin 0 -> 53087 bytes mycobot_ai/aikit_280_pi/scripts/OpenVideo.py | 13 + mycobot_ai/aikit_280_pi/scripts/add_img.py | 143 + .../aikit_280_pi/scripts/aikit_color.py | 476 + .../aikit_280_pi/scripts/aikit_encode.py | 153 + mycobot_ai/aikit_280_pi/scripts/aikit_img.py | 606 + .../aikit_280_pi/scripts/aikit_shape.py | 476 + .../aikit_280_pi/scripts/moving_utils.py | 49 + mycobot_ai/aikit_280_pi/scripts/test.py | 18 + 48 files changed, 23985 insertions(+) create mode 100644 mycobot_ai/aikit_280_pi/CMakeLists.txt create mode 100644 mycobot_ai/aikit_280_pi/launch/vision_m5.launch create mode 100644 mycobot_ai/aikit_280_pi/launch/vision_pi.launch create mode 100644 mycobot_ai/aikit_280_pi/launch/vision_wio.launch create mode 100644 mycobot_ai/aikit_280_pi/local_photo/goal5.jpeg create mode 100644 mycobot_ai/aikit_280_pi/local_photo/img/goal01.jpeg create mode 100644 mycobot_ai/aikit_280_pi/local_photo/img/goal03.jpeg create mode 100644 mycobot_ai/aikit_280_pi/local_photo/img/goal2.jpeg create mode 100644 mycobot_ai/aikit_280_pi/local_photo/takephoto.jpeg create mode 100644 mycobot_ai/aikit_280_pi/package.xml create mode 100644 mycobot_ai/aikit_280_pi/prof.calltree create mode 100644 mycobot_ai/aikit_280_pi/prof.out create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal1.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal2.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal3.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal4.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal5.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal6.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/A/goal7.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/B/goal13.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/B/goal14.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/B/goal15.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/B/goal4.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/B/goal5.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/B/goal6.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal1.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal2.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal3.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal4.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal5.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal6.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/C/goal7.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal1.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal2.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal3.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal4.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal5.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal6.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/D/goal7.jpeg create mode 100644 mycobot_ai/aikit_280_pi/res/takephoto.jpeg create mode 100644 mycobot_ai/aikit_280_pi/scripts/OpenVideo.py create mode 100644 mycobot_ai/aikit_280_pi/scripts/add_img.py create mode 100644 mycobot_ai/aikit_280_pi/scripts/aikit_color.py create mode 100644 mycobot_ai/aikit_280_pi/scripts/aikit_encode.py create mode 100644 mycobot_ai/aikit_280_pi/scripts/aikit_img.py create mode 100644 mycobot_ai/aikit_280_pi/scripts/aikit_shape.py create mode 100755 mycobot_ai/aikit_280_pi/scripts/moving_utils.py create mode 100644 mycobot_ai/aikit_280_pi/scripts/test.py diff --git a/mycobot_ai/aikit_280_pi/CMakeLists.txt b/mycobot_ai/aikit_280_pi/CMakeLists.txt new file mode 100644 index 0000000..0d4a2e3 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/CMakeLists.txt @@ -0,0 +1,205 @@ +cmake_minimum_required(VERSION 3.0.2) +project(aikit_280_pi) + +## Compile as C++11, supported in ROS Kinetic and newer +# add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + mycobot_280 + mycobot_280pi +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES mycobot_ai +# CATKIN_DEPENDS mycobot_280 +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( +# include + ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/mycobot_ai.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +# add_executable(${PROJECT_NAME}_node src/mycobot_ai_node.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +# target_link_libraries(${PROJECT_NAME}_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# catkin_install_python(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html +# install(TARGETS ${PROJECT_NAME}_node +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark libraries for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html +# install(TARGETS ${PROJECT_NAME} +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_mycobot_ai.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/mycobot_ai/aikit_280_pi/launch/vision_m5.launch b/mycobot_ai/aikit_280_pi/launch/vision_m5.launch new file mode 100644 index 0000000..a8feb9a --- /dev/null +++ b/mycobot_ai/aikit_280_pi/launch/vision_m5.launch @@ -0,0 +1,27 @@ + + + + + + + + + + + + + ["joint_states"] + + + + + + + + + + + + + + diff --git a/mycobot_ai/aikit_280_pi/launch/vision_pi.launch b/mycobot_ai/aikit_280_pi/launch/vision_pi.launch new file mode 100644 index 0000000..f86c046 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/launch/vision_pi.launch @@ -0,0 +1,27 @@ + + + + + + + + + + + + + ["joint_states"] + + + + + + + + + + + + + + diff --git a/mycobot_ai/aikit_280_pi/launch/vision_wio.launch b/mycobot_ai/aikit_280_pi/launch/vision_wio.launch new file mode 100644 index 0000000..654f540 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/launch/vision_wio.launch @@ -0,0 +1,27 @@ + + + + + + + + + + + + + ["joint_states"] + + + + + + + + + + + + + + diff --git a/mycobot_ai/aikit_280_pi/local_photo/goal5.jpeg b/mycobot_ai/aikit_280_pi/local_photo/goal5.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..42767ceeb08a25e9beba673dd8de81bedd8741fb GIT binary patch literal 4413 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

&ZC{&SVL(50IB`7*{YH7Wl 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/local_photo/img/goal03.jpeg b/mycobot_ai/aikit_280_pi/local_photo/img/goal03.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a6566fb4600ff845d4e24d72fe2a993b48bba6d3 GIT binary patch literal 5451 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/local_photo/img/goal2.jpeg b/mycobot_ai/aikit_280_pi/local_photo/img/goal2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cdb50bfbf383a6db25a7f8f7a7b6a9e5e7c0391b GIT binary patch literal 5168 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 blDPSjEdkj)h4hdtz5yFC|8y(%Z05fJzZL~9 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/local_photo/takephoto.jpeg b/mycobot_ai/aikit_280_pi/local_photo/takephoto.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..996870112110cf99211dbc5aba0b861623ff7502 GIT binary patch literal 51011 zcmbTdWl$Vn&_24bz~T}h!4?P*G$c4IE(w<4?gU5(?(R;=;=VzHySwWm!CivGqQPPD zKfm{_y7$ZdaPK`+(=}6bW~!e#GpC>KKK(TRv<4uQmzI+Tpr8N%D9;<o5Edo|2n&RPfr*2Oh5cW9KElPp#{KW)zlZ$qt*Gcg zAUZY(1N1*#{y&MQP5==m${MOR5QPqaN`wL=LV4;1&^+sj{y*wHEBn6<1r>;fjsbdB z1LwIz9pSV3K;W~|=+7EI_x5?d4nQM9fAN}A0)trP3y98vgexF6838{(W1ole?p7l4U|3Uj7WdHAg1^)j+ z_J0BUzi}-BaDgb#g9ju6hyiB!-9E4AF3T4Sf#^b7TUDZK2LuLhA~~o1l_ZrICNQ2R*@1_1DfZu? z+>72|^%55^8a5xk4G5!JQt^HR@<>w)o&AHq}_V|)_%&IwZ z_eX+}JYcuo0=}&$mGJQ#y}JduT++ZIFGoo$w)> z_hqI=tlQQr$WHqva>ByNqhJhNowRn}Hsby2bO-0Bfuo*RN~+!;Tg-CE$lscYo{ubS z^uya)ny<}&xu0`L`}50uIlU@^OVS@7^JmX8kO;$`V+S%IJ8tXO_9hRK*QzlQ}h9l#=3cWpm@kf z4uUP0BzD3{E~QsU2H+UEM5K3FxXuN+c2P3hl1viWR2g!J)jZkak$%~WY;~f@;2_nI zZciGikBc}Z{t7+lzbZ@>q0MP$kZd3aD5`ZQ4FhYl?zLqYIfL*ItWB^*Z+zsal3i-E znkm_?%%&1{TGi3GX_;z5NPDTPe!W(Mv3n6t)zEDjFNF-HIM{<{lOzQ#7A~*l12ThP z8RDcxTdJ|(oy$$HQC;L>a|dM*80o5v7Xd4TT}b{NDzS(8WDh@FLC6l4Rx)=6lnWj4 zIpLmBJQ|(Kq!v9+e5d__(YlZn8HsK=i6?+z@8zh)(iYm0?fij)F#igfh&aiMg7>v+ z@%}<;PVsJEb+9Qun*rg5?z!CcMO#!H77;nn~GO|>>tCYhdpaXY>->RnOCGW&Z?G5I)aHZ!F zC^lx-j1La(V&!jb^_dOiT2vEzv1W)5cI9(d`f8`);=;U3Ph&^jkH*dm(_S=RV<#EY)2o9{|fOs|v%6;=;>*8R6W2F>1HcQT#N`B(lJ=yKRHI7li zjOm@BxT7?F5O@zNf^x8uxU^jNg<9%5wdwj;d9cHk|HNy$mjgl%0k^1IM-({4M)mL* zgoNTA4KfLAiWKw5b`xUW`>;yT@#z)Rv&0h)pPi5K7?fdGn{mB_KyGRdR6g;vbj%W6 z@G|&QJ3y~Vi4=yTXJPT;rA(>s+=Sx)DF}%^0dy5Yq-88Wng+$EO*VE`jV_PtRX5Cr zs-$H+6mdA5#R=>w)OTVr5Ou^JNW@7(93_OeE^o(4PozEX#?_sH=lSXW;-i$Fagco$ zom|tVlsGRK#u{fv!q?6%UuT1mm~_Di=B@h$5;awyP(Mjp&YMpTQJnH5Aciz5rvP!F z?KtM;Mu-Mz``f@HmAP1?n^EGvcLMttb=FIPi#|v~AV=0D^X85K9C9Qd`meO{`0cMa}bTC*%$``2g#a~I+!r|{6`2nnO@B$nXR%oI`FJdWef`X{Gh+QK- zr}p^meIy{TS;kZv!Mu-)FYC+MXKGl_C5Kw)f|}Zw<9AK<#lp~79jl$&Z zVS4#@OfvCCBlS$F?|pzTGt$R??%P7SHCFdunW;xKA&T|SjEpD=nfh}pFZSx2BWvsV z>jxQB-z}KLa^?E4^@#HL4vm@PuDn6|VZ~w?dI9WBsf+eSO2ARKF266lGBDQlfV7#m z-7peV026RpeU5K(LEa>TPg5;a^8jYP(t`r`R^w~Ng@Ab4bxB$6A@{q6_9HP~(8(j* z1t;hQ3F`N7_&Fgac|Xh6S6@}gCSwLkq5x{VN#mpb_$&I4%1R=8cW&?0GxOd$_}i;f zx9y8Z5a3*9{R%f_u%FLH!5bKWm$8Mc)HI?2Lo0oUNu~+J z$gGR7|0@(>EG^JE_)kebiFXl`Y_m*uHpj!-c5@tC719p@@BPUE{DVAye(nfcN6vx# zAj4d1y=<^hfFikYoF_h>5H?wo)ErfWaD$z#lPr5-H@6mqrlsLJk9q2sP;K%&>;Oh7$(WXS`n!yh=VDko@v{6sxsn|mi7TT}U0h^aQcIDG z8!Q~d1$em3%%{!@0QM4Jj$o1`P_r~IRm-mIS4mRDEkH0c4ihVf54RGl``Tu~$VxKV zXJE9oD)EPRy?CVr74qL7HrAsNs)MaXLY^5tizz_X`vLdM0M|GIWd5heW=z?5mED^(YYkJa~4$UDc4=|;Vra(lmND@|p~Hv%@eo>t9zN9h6$h(y?A~?Yo!%AMez$ zb@8qv`Q<9g4tWjz%0)*f$?vAJY@-%jaz&KoWM>K-z>JqLW8mIL7W`FannY3u)wl_) zT0cqFGY;A{3NCfCG?=DJe0-Du&s6eFeAe2WYKxos&>I`jyJhq@(SBvJSw}-O-M=Me z52nDD>SzdtwbL`04Ky~0x;02vLs1TZD7PpqFvs<&ws19vZr-T=G#H{L_2G<4q(W+R z`f`q1ez1PetTbElH#4C@0PK<9FwVzp)JRX|vQbs>kAR;10`584l7JFtMRy;Sj@(I8 zwe9?7H0a+~b=l{%!Vvp0xK!>&0=Uvp;Rxga#I7`Tkp7{Y{F~xOpsTjrcrP=YSzEUI zN#}GyQPFBE5@+*Ogechkw+_!i0cP5N*Q0!vHp^NajcAPY z#4glZrNUiGJzDSNU)H!1(OS9v{Gp8JZOt105qh@w=LQ2d6%~u3-mFhRj-Dq#Z9(IM z6}@gP%zGgFboJ`X)V-a}`yZ`f>(|pWZlAulviF0&jPsvYBwhMYJOQNJ;`+}PWp{pD zH4AQ{d1>uBb7U!lXfuAd=3M=JNIMjzwU|U^_V69NtU$GmCGy+cmN9*tYa@`DN{g!z z6(#>$wH&R=qMsxbh$=+URI=XZIX-(xbYpe2xiFC z$u(pq%FstKGw1ay(Pdy+<6azoN8{sN8l<}JEFw)|F@_9`vP6{Xgl^6?SjL3H|NIsF z7Jz5GRNZ;S6s_y#)8Z&Z^l94j!NQe~`*xh-2iX(A9K`z$u!j4fz=EfTQe}&8VY`w*3vnLzveg*Ub0ZA=seA?cXwOY(-`ba*Q(rPAP@&WW&8E@4kzyBp zV}Bq2kNM5tLpnxKMVUOQ3>vQKWN@U)C(_L(Ajuk0rRRCS#jX%<=w{}rll z8iCDm=kMdBNNF$Wk98b%sVS>lg-VFTi4%$)VF})PzsSd&&ssC1wihVcP|m`D zj5&Ow`(1ADX?~!1Z0!5heN&+GnHy97K|`k^@Qil?EC3Msc+AkXssS`#=X#V3{fg^O zfqxjxtN_-WG?ya28nFM`ohoJ&=GE3zvz78Rlm$)?$!|`CFafC(g*A_vOrfU%pV$)? zXj$x(Nz&9&S!4dRt43jgg{HvTgqXq_@pcTx+^;u_x3i}={jz=ZLGg#&TM$s0{AvqjI!OzHdupIv z2&)1lcBL&OV|*_uw9$m%Jntc0^phDwqC1WvML*9`0VI~3TA@Sc^f9cmWm~S;Bx$!Q zcqK#PK72R{eS3`^Z4PzNGcAYvAI6s4)JU&yG^};@OP{eb>$SrJ`W4eer z&ood&&#mchkIsftso;;2=Qr#$Ru^GJox)ok6J0JWvaUiMau2Oh(d)?$h}I{mq51}6 z5IHNCCoC2VJ=$1^y0&wrmBN!5_*MX3aiH-f?gb`_Rt1PB&nd3pEH|8GZ{V^B0RKw` zqiF0W6ldigD0Yj&CTgLsbC{8Kqsb=C^xc*ja#*PLgq6{OKM(g0Kpr)c9XcVjr*ot^ z?r<{2g0gQ0?=Z%dp4m(Sj6BnIt>|xLTaA7}^jG!CE%sG`KIdzHZo;60K8FsH@|Uaf zX4Gl0(c#oaMic4j!(Hk-YDw9*ipz6TMs*ogcTHsrHErPn6{)s_ zvfIrW3*`{qTk3jJ{+D###p+d%ixN-13cue*J;fGUjFdm!{*n|z)YPZ>$@_gQhH1Bo z0~!KF_7(f1tHr)`EMoL*e1q|TznMkrG(bIK5vVFt?oR+=t;)Q5bz@VJgY%r8=Et&i zAIsHVLDGr9e~aR$@)(}fVbc_MIaglDuDpAr6R2PUevun?a9bTy$`;rUIPGI;@aHR8 z&7TgdiiHPW5kbEnzU0-tRd|cJgi$$!Cu#;$&#%Y0d?ORPQjp6NY0kK_DU) zcO2Y%k|iz|1vYQF#NH|sNT`V0RpiMR;-kO~bLtozm{mq0Ytz|A_Mo|AWqCJ34A6H) zPiO?TKMq8MdrU%=s1f~dMrx6F2vH=Wf@)l2pj#dQs4#R=luiGeQrWo+a#BURaW7yk zcSHd#`s)%^W01W+Qv67TDn_OLi{z5(PA%B)9fu#Q1%H-N75?rpkFR5rGFR4Cglo@u z)IBWKJ0^L=TgpkyaP-vWVaB*H`9?_=wdJ#upAz)D0^gt=9 zTZS@Nf%Z$2JPSRI|L@IhH`=qzShym`ciH*$f`+WJHlfaTt{M2f+&!C*TT8%}UKL_r zoTkiqh58}YR{$CRed_U*6#!9M#SF^Sk5xtBmGhFj$N*lC{b>@56nIS!B8TUBMMd6W z+`CN!?tEh{3PSg;enJ~I0FQO^yO}47G^Bq6`06&TD2*|fOK|u^Gio7kDkrCJ+=i^z z74^u*EYVwP{#8`h`XQO#huA1S*!5{8e^k;wN>q;?ZMdkIH(Gm)x!akl!$|^fw=s7_ z1dJi%vA+b0kh#3OTSWQ2r<41sc3a<8)a!`)+lxRkYUlEVEj7E zpzyLsh((iD*{r_@?aI}!Doni%`$9t0PkBZ%$J@J2NrPgM33{ZpGWIibmr`zo+(_#2 zi%E)OG%K)OsUc^IS%cPE!a-uKO>sOLVn4N(WA!Y~0rg9HWOr38cEhM;QaMILfuHOM z3=)BX6GvqC4iRpWI~L!gqj~)1jW*ExrwT1+H5cxBM_M1{#fr*vWFG=;Ok?EA+sGIHkt+Fp2$^+(g>n09Vj-g2h|6@h&PSfv ztULbT@;YYy>WwuEIBpXHO8q+vxp{)<)fC0A&orEH0do&F2dWeIpQI++qXqP@tBt+v zDvp2;bkv4*rL%S2%G@*DDilR5D^`8}^%IS~J2u1f)R0&hyPDJ*YTrb9b$ukU-uV6z z&&qM2>5Tp58mTg0F zR2)~|DT%n3Sf{7pdjg#Lcna~5o@(>hs^wdYBnV-%%R(L0$TIk*rY$Ps*l7-+{&pCO zGH{hmpvo0d6u+l(hDDdhaK+!q*<)bFyUuKME1TW?z?ii3>72WCm{W)4OFF+ z6A|VHSI*s327&>#ei=hJd46%n=QV=a3~3Lh1GyFBzXF)1NE1Cc9crUJCtDrW z34`x6MW$-FZ3JlKCy8t@LWJM~uk~nVYs&E_LIrMTNB}GQ>D_QdZJZejuU?) zzbiKlS{I{YZSAzqZE7H+`Zm7-Ez>sI_}0ZWO|~`*NH;QR>Rh5`UEaE@Mf8`A6zN`z zf**?NoPVi!`EfHeZ9S6#QmlC{CEbgPMUV!6J9CoAGFzG!Y-kBS1OdhCS6g3wXA}QX zEi<4*wUHa?-4zN~oVGUUKtwq9OC4{bd8+bRds1V_06gbB?nJ${T9Kbl@s~6$j1Kt~ zEB86sOj$B$rXtpfKu#lamG$a`C}i-$oUG`nF@pVIvMd&z?zOty5CCZ+9l~_GxlY{>f~Cz3#De{NPPAJB_+n@>zvv z1}Th-3YTbrK1iEq>P>D&*!FCZrS-p+MYF}BZCP;m(XEC-%2AZpT+!o<7{RYjnpc-1 zd@HLqZ4-9}P4t1~aP>`#ZocAJ5;MH0vP9_~QfaYa;X~{)y`7pQWt7UGtY|`$TbM z3a2%m8y5uK6CZCVESuhG^?KUW5M7)8eQh*cfiQ>;>sU*xw+>%Cj6%R4dX2^q8))qEKl_l+*z5_5!f^{gWdvlo0WQ$!gZHI zCt8V%^UG#iF60eKAC8%C23s_f9a3e!)cwd6 z|1?j{kOu$Pk|fiUZ~+Dz~u;eE(595CDZL=eBbU>bRG@W z49r)!g1pl^Qkg{u26JH@-|WI}sXQjzY4&1`xBRk;Ah)n};Uk9eqcm_<;7m#r_-R^agr=+HvbE zv9jStE@{~*E|g~~J^=!47WQ7Q*G2yzT$ILod*w;NGIlrFSdsb!SSuDI7lpXf=p!9o z1^BXAEmB99B41*y41b=XqTE1w%QaU?0E)C{7h$i1%oP9UkUy>iod`M zlIxQDCzTc_M}KMhNX~zycG9=v?Q{2`_5-kqVXpK@&@<$lSl&0wmoz8xPXP4K1QEXM zd&#AdcYVpdHA*c9+wXZ#-UoE7Wn|WC^)j!`-3#6EADrnL_E$@}753C}5hWVyZw1Y^ zNj(Q4PUJF|P_Nt-z9Z{Dg?v$Vxzn)M+wuLn zNFVv!vlI%fo&e|D+&V@eC8&$6q+>s%Nm5@$u8;!h0bq2gH z=xq%RobP788MG(~o0h$I5z=?F(Z9p#5j)X(kLIoLICc^he?s>JQ1Ci3WHy<}op~K; zqbjXI9>IVfetTU;fPDM%hn?4Y8|ua)2*(buSBb6t)0ZHEZKKQ%+<#AinmQ5DjW>(0 zr^|L?YsQA@U=OU%Ad@VZdi_w2Ty}zsv4*ql{>c{5{Lv&vUVMaGWv2O&)K1U%l3892 zW&gS5>5>-Ad>eZ^*V(*m_qIqVji-tYLY?Pmbs@V1R_Yut>N+n?r+K`ABj*rvKb;XZ z?RF3ViR+ulw$H(`ajtnKI4J444{;o%EkIb5|L|#G7g**q^n% zY?{Qg^P5=35Xo{5&&xg<2n66L11U&k<^s{$TfS+F(4xX2fzyj7EO19*^+U3?SwrE5 zmMpnKqNY(7Y)-fp9vqx&EPG?Tv2L^~W44KoM>7GmXP#*;rNh--KY?j3)HBs_dKkU@ zZ*x)N?A?pwQG3nvS$jt)3$doJ3%?D&<9FL-rFXpsim4?J*2GCo$mrfwT>YHw)l6pk z114BEl5vmu)9ln=ters5dv4T!3^?#*4%M^rn54VeZrZ3UW6U!xAix=_c03oXt#c_ zsvQ@_LUPNCJ0FAgPD6Gz=ds@{$o091iPWx!t#Hm{eoJ5fwczM`rdJQzG>@Fv=ouWNttf% zm&(5KOyT553n1t21l&Ju+7?+9T21MHWdCiAXX8Kl{#x#kjZ*$0L`WPM?>E zq1qagd(iydBrPysQw~DszC1Q~Xb&ROM|%PsXcRhY#|EZ!z7?9RRmHbOP@1l#_-|1E z<P1(+$U)nEYRLZi^Fd(5~8yO_$9NMWyO-Z>yAKU*@&@6H>l?Xr6LaB$n;_zN&i z)|uA1QigXPjmXwF8r*-0&J()E(H~P_=Qqy~V@)hgDDNjj2$1HoC%TV%3>Hv+?W8r1 z`W@N*XE0j9pfT2s>S`m;iZ(|?W-iaj%7Vzw$3|U1Yo$755}?g;2y53sP%?kee}cqfL5bKDs%#gx~=?@7c^aJpsDJ{mktaI<9Q| zfZm3u_!Ss=rW-$pQ*3IF-s}*dW$0*vXk9>U=87tb(*}p#xe(Q+i)RAcB_a0BFJKWP zeeL~^N1++IQ;e`Yy+uoyMp86G8D8)A!dBcx25OHu1b1(BQ*$To-)xGg{PfOt zZd^mVOL8&-K2C_e6o#DkY*zeir*{{f+yKAVn#paNn!MtOt2L*p-Z~mlMT)HbwEN-r zf=4MV8MZe?H_Iz)lh>i`mZGsl=`T#I*T=r)Bo;9{es`?!3}?e#tp{c^cK@2DM)CKY z>gx|pGraSiKoLGV1a%JYdB>5*ohGv4Y8@GpgM0!QokWI)-+l{+IcwIdlJkd{xW$RX z4HGXAAEVLDcq1_hJtUH$MGX-)iHcTA9OT#M{`g10IQ`zNB&&vD=)!o zFJkW%{AJnD?z=~9yG#WT7{Tjbd_DD3Z6=d#kH&6t<*JwTh2F6KhZ%>M$02Lwkt zHewOaGocT@j`Dy^u=8E0>EJRwwBfvB=tvH>@=v-m@*hg%H+_eUpw);6+mowQQ19_P zTaVT;(fL1N5~2jEf1I7_zEwMwFhpcj(z0&VP0;$lHZ>WcEQd)`EQe3ZT-PeO^W~Jc zN9lZ4XP9=QVR}RSgVk{x>&wW?U*!4(^r}8N^V=PT6+fN;mLjx!Mx>YXkE)Cv#N{A! zale$}U=Nd6;lXM1SbhJhEvoZ9b#v=-45y6595>*54O*At7lbH60pJI#Pe9lCiex4? z>Wk>g^Qeb?lN?)*J(b!I)L}a!yDwU%Llu_9Y5hSYv*bfXN3hsz^bU{LU{74cWns#p zwP`_xC%TIxt?X7B^|C1m^oG)HZ8O@_fqaV}a*-d$87d&K6Z=6aWWaRVwQzYIY3;D5 zimsu`?+j*T{5HyWddOOiwOr<^UpQDi+M9WxS)PzMFqSp2rx68WOxmscQgCw5tjayY zq}In;?ir+EgG~iT{gp(|FnI?0tmbvD$gKCXt<6%;^llAhBL_R!K{1##fvC?W#8M!o zeFSTvcR6&LJ*$bUf<3bBK&?kN7-q)rmgL4xvV#{p0F}ax!N=U|`?lB`ZLBtY<3{jn zeC7#&x6tS2Xq~?%0Q3NJ$%vKtrsdImDcYRrVC!(~k6Z`q=}p?*%i)3!X9f6)#Tb$V z0G=5aT3PoWW{oF>pEFYg-dNF9i-LH%+Wnt6w{TCVFMl`D|LC37%AeMp^-4MCJNBZf zttJXIB^%@U6L2rH8ex=~Wted>%Uoa!80;iH;rFt2WD(kDQB}k`SWM4MraJHAF|9^K z%TuN25=B8q7+WLG$+-iiH)BMK%X+ibIE%d8n(_%dO)LN25Ri?ZdizHQ`ve1}-12e4(E0<`HE)O# zcL%{&t2BMXS5WZqi_43W7 z<1oxQ(Bl28is+^IX*gsbM8}yCn4V{GraxLjVVr3_%U#3svp!7aq~fE6t$FkJGi-FU zD@ge*-W${s4#X7cr}f95)akjwIOp6hm*xH+{;K=97e~}eYJFvxsy|ald02!|VopCS zpTp~PFh#RGHNubNuzT&jsAs(JJ`^Xd*#r8t^@#kDH(`<=wWH=y8u9iC{GY2!+JP!QCca2A#Yqk01HR*a2s zt@)&sR-DPEsvQ{RbkvsR96U$z#UflgF7W3rS}uo-Q?atC!9D*t<#ZpMmneIvT6dT2A zI)dx;K03~dzJrOq6SxMK5e;@;lV0k2+`9U|Yae89A+F1i=%2W@cUaB)XqT_uL$R;> z_|x38e$M1WeMhxiEEmdZ7#eU)U)@08E#f*ASyaBXpSRvV^R}G+W3p#zmKg&|4?uj3 ziS+jG9j29FdB+`wyOdf6#}Iu|pK#w3Aj$lX($38Kv+J)bRDpBwJoSl^AY*hs+HPE{ zRdOzgS3%+1f@aJ>=n~(a*CrM-`u4d{+e4Lj6M(d*Xe)SOYyxoBH(Bl%! zO{V?f|Kfgpk)O8te%@>+hJiDXxnIbwkj9bt+#Zytcu02NgLXH~MNb7yd$24$a`@dg z5!diW?|V-wOyZE%MZG$YYZCd$g^8)+jR(K*Kw5kIxkrEn<|sX3fZU9$1% zlL#N%K{uM~ZCj~c-Y!wIpVDYV&W4Qz{YhJWdSMqWwe@>oHMl%`I=+Q$FN3*)jwGA1 zNW|7Yk1^i*p^yO`D?`Mm2!{nim8RN0H_Ul7(8o9)F0eO6dOFDXL)P`N%M;raq7s#< zqNtX55GXUOBERbtilCyfz)Sp>78MD-jmTkZd4V-%J@YeJ67$hTRjTnsse@#-r36i@ z5haStH&H#!QDCf2F9q1uFH@(H#EX{*6gic;PGRKz+kKwV-o{$jJ3{qV3oJPOr;(iL zgj7mBhQX%Mb#o=VUG;YzxDGzITrOZ+YH;`e_q1YW56a?LK5~XvsbhOIuseac*n|op1AX&1USl%N)X)?8W zHvXJ=@q&zCPkyUvey^hoC$S>2@CT6{Y0B3xzc=z^|IGkG!=+CAO0S7#Bbr01$U>`0 z|MDIhg)$&;tjfB%4WA;p4EQmO3yYCT!o_F(UCX+uMk#LWc@A@A#HVM#zgTNLIOr;( z4@YUm_f1HFOHgu$EMmy;X4{ek)LtPX%CM!ov;lq;b=aW{@hkC_3_6iqKvS{F(htR+ z4rxxX2wDsgiK1AE;W)XYi1+qyprn59sepY7K(jPl;<>cx@B0|b0Y`hPj9cEtLGkBK zM+$Gg#CHk>td=QJ3oJr_X|TZ8Q4;q~n#75R7E9uc{@mVq&7Sy{Ur`hZuL=cB$DSQY zcL|M72tD}-ErWKy`=&4~R*HE*wEMTTT4X2GnL#6bnh-z|556FkU}89(Om7f2!$xIu z?A>z7yU}_AlxejGl96noW^G1URND-`mW5mv`Gwh!@lpjlo0G%kHBsv(#4-LgZANVQ zGB5CDpImF#&ExQ>f$>i%G8Cb5=Tv=XTr9yjO_~KgYCq9=Eo3d4lOFIfq1vkwG4?gFzkPkJjdYc5uH;6EA&XeOS z!MVH%o=lR|@?*s+8`7;Z`^d_~Zz|D=GD@@UIS&DkjP9FP{tpSl^rwDs!L;V6ilP<$ zo}v|NY#f<)E6ez7XRkJskHDwbSHC)@c*meCq8+E;ei+z!$^C6uGQiq)vFbhfWtkCR z$#)W#91`DYh*NWVuty|+rf0#&=E~mFG|VAxk0lzI$);PwxB4bd31N*U8tga)R-FxKKmE);P7mQD*^?~st4d+2qmf3rLMUuqerOs-^)# z)7sGc!Kg-_3nsmN@%@E!GQ_l+p4Gb*84-(qS`?v5A0dip)>T?Gn*&*XI=faOLcvF# z89*AhG5$s_b5oZP)6fIcmYx}3q|BX;3xNcTOonK^e6bq*sAMXWF z=lheK%E@QN_wjLj35rk#p}E{nCX7My%ee=Czr|a{Pa&T{tTB%|q-n{OVIFUXX#r3f zh!o&LVNRDcLro&@*$LGTBKBzI@}}OuEB|&jMCK|TMjM|-?Gtc+aFNE;5n901mb~Sj zQn*;bC6tNbZ83S#qOxxEY7hO0p7N!Apty{{a={IB!qCY#cbQv|P>C^O(ZdkGwP~w# z)%1-bJEQOQOMT+n1`!sC!LBjkDfJf+rdfYI`$cIHw(~)uUB?n^eMAw66n$7O?d5HN zY74H@99Ti4$r+jiK}-ghqFa1p{bYPP*QVvcZ+_7y=;209Fo&8=TW{|WG_NjlI7D$; zE=BE!Z^;Kmu=)|J-jAelP@SrLmb8Zh!RY$7Y$8K*L+w5XXVP|*FeV_GRq3!=hz(xjVI2j@l?mj8Z_rER-RKgR30+Wit&`s}$9 z=9en3@_v+@b2wl-8kna5hH};uJ1|x5v)aE(d;e0YSh zB5#BQUliW6n0{^(IKO%KhtmK*e$73LjeRLjMu4$_w*G9|y0d5w?fk@YAO zGdmXm%n%nQ&R|t;-Il!~`BlyASVY52YuctAZcQ%2y*m3lyzr}}$G&KypmFA}=~JaY znpHg3^PR#OmnMuR_8bKniP{`@jgaHTJRK4OZh>2v4~F4qI=qoM0-mk6+JT)9tiP8- zI#r_kGi>SgV=&q0Kp1hZs23gs2+<~9F40%4_P%wQ;Q3MQ*x5Y2Y`U!>frAmDd?D@j z@?He(>8NF|+SkfPGQ@$-57(R>5IvRWbcU00rAQ0Dg^>PRODu<>2GK+Y)vbST#o_XQ z^m5YJC^Ce)WkjOInKdy=zhiZ-RU<@LH1+XvFGcHAAt~UDY@p1GYjI1(L z=94)vN9{C!FE!jzcQV?j`|%OV7d;rET_t#lXSw{Mzl$6YT*O_f1yeB}Kc59I^)wht z6ej*Ymm&&iGzYH4d19_TqFH$=1=d--_m;8{nN5Gw_V}wvuQSyxLVQ5|x!y!zUvSPL z+xzYFOz-*q>Qmt!4O%OX@nQC_qx#8D0!-y=ebs*0YpvY5hLj_&f7w$BE#vBH2EuUh z@ntF?MPVT>B{^Z?Mf6FSpzX9-<@oK{#}Ijb^WyKBuf)DS0m4`ddZ_UyKJ`47UD%<2 zsCZskP|dDX=DWhbM-#hVfxZ7#-Gm?ZC;)mmiLe)=ICH-TaVSp(%87h>&V(y~{OO?; zDOEHnNsD1jON?cPst4yxiS&8TQ7oJH(8b?})l;>@hIwX*+fDIj45)tC2ws}#XQzp} zg>q@^lu|j6MZl%1UYi>k0Bf*Y*EZf^G68+0#q0R2e(L^hLUGS#*mULx&1m^#eRx9M z@+L1!tHXv0%{_xC-HZzc^ozp3ECl%#6WJ{`!uwOf0R?;NFWHmKtAsB9?<$6p+|yBP zv(jPMh1mY4OT45bq0>v-g;z_G!N+X@wb8GUzt+n1da0?a6j*yH!+FWf-G_r0v%m{X z)LB~3iQIPbjDvORTJK8TrJ)pu7*4vaN9p$JS?ko92G%G6-Zj5E!-$6GxVo^+H^L1Y zI)^kjoXj0IEi>~Hv9~VBU{C1o4Os#-y3E8N6w#5d;Oxs0%vd2hH61iYJ^;F%6LS46 z2LL$lDv_!z9u^spY?-^j(L6Jz$FuO|w$6`LWplD^xuj zUIcX@LO*F8ImVbG+oivy9y!1Q-(2~fP@LX$Z<+Kf()PL7GX`^`5c1{+UBxilJNM%t zSRT^~gXfe2DY!otN+gdjBXDm4q`n`YAC)LD)6DwBi#adA7@guU#$z0X%q|J--gdM7 zE5YhM!e0i6ab#f#wcMS;+|v9ypvuLT(~-1#hq`EHPwn<5MvRsTNZ+6qv3-&Jx}P)c z95$66o6lw&%;=8mL3+!m@!ldZV0(i$U2VRd07=s&$}rwvvH`}XT#EPCb!A|xM}hA! zmrHd%zj+s>A1~!?E(fgF!vf!ET4!FXZ$#|$O-46(&xgHQV0;2FM#=KpfZNZn(X~ z7Y6rAUTi0N_<;s5TceE)?3*`0U@#x17cyneehM-&;6(ep?m^zQ)AWPai5@QsATr`) zM0RgMr8Y46nKS+@Xt4;%)Ej#M^C{cHOCOIM&bS=W*moNbsS~06l1-uQ_(^_Wp#Ri~Z0G&C>S3yt_C7NRB5+^S zCre`_B^NtCS%k=({K*FljFE9r>&NiAEF1?Y0i$+up@|GOgJZh7`niVnYTJ>^Yqw6C zS}2aCqAA5ORg1Es>HGF~$@WySvvG6d;Bsvpl6L^nHMJyF5G|sC7qv=YSS={@bLDMB z+glZmgv7HYsx*IQ-0;p26Q?oW7xjmgk3KBG2G`@2{82%a=ju+-ildNvtlZtWen9M$ zh=SU;rD2+(^c~c+II%qJYoNr}zvpVuGZH3q#T;I_uf_oq^x*w3Ebq7j#!y37Ren3z z-$iZ1?GV;Ucc!1mPX;uknu*1Nh<$+(^#I4 zj!uogpxV5Jb~_VvGmW}CPlwDHYIcb>>#fv6*&H-k@B$zUqTQ^pWG}L1KQxF~kD`RS zK}raRTOW@53wyW<7xhlBOR!kevoXZ4`gq%WJLqmjF|bBGr?YCU63IZ*8UnInY%d6u zoivG-zH7#~9Kftp4b!n=&QO?Q`y~p^t)NH2xCE_oJ9##LQpebCRArSBR8a^L{{I8` zKnK5|CR4bXqa{i0)~nlUDRUzrU8PP52b!Ah0U<4uo}7ACM7Qv1x65xd!93R@G~1on z@5fKZx#~HltZ2Dqv9KXm8=Rb;nW+-nCjfnF8*7s)<%!Dv6?V^)fWVW_9jl@ZG-TD8 zAJ{R$$F28S9!ZOVs9dxQ~|1 z!|tAfyo=)wl$xH8cWCi$6I)Fl7;*C<73{jw{EdJ*^PZLFKM*2Ek8#2I`+aG(bVAZr zKOnv(KrFmREDaVELW~YO@-g~;wa8tlW%-6P_}8QSe$!>r{vc{LcL+d={^~ptox5gW z2j!2-yz21At+*V4)KN-4?TVJ=M^)So!HvCY7W>3LRK#000trKD4z=qBaGW2lA-4jzjIKxykCT#gL|Nb5;x9ZPy!12!1e{-1YPOPFSlP>QEN!1E7|XF9paGLbdl-sX4{3U_SMx_4V|MiX58dEU zbW*tOk^L#f$V?8Wp{PSQ-zNvYXv=IQwlmOI=So*+3VIE>kphmn91smtkR0-JRwgW} z0-Oxyt2R!4Z^o7N*rEx(W*{Dek(x&5=HsWXIj1s?rlFcoERO=qGTI%Pt7X z2iCbSh~6TPOVZvUCKwK$wY{loQCYxdk@k_CSAzU)_=X^kb~hVTXZX5xtf$PC%Y<($ zo;CYM{8Jiiayv``&ph_7hxStOOuiuSBv;dsxh|!QeFKmW;xS(-{?Pvb5+7XGn#voU z$Q$MZ>t6Bu3G1J0@TJ9plPwg%iuVA4gZft#o4M>#f{i2VFAv-|mbgDrisCh>{4pvi0a1~ z&%HPTGC`(B7!9O!r+^9Oj=C1COCA6tu03j4ixIZ~A9{)`c0XF4BDwj?14-?$+esE} zgQ3Sk-lk8Nq3i2a(>PPO;PxG=RCdNm>Dv@U2~2}ODEt7W-U^Reh_J^~j-xcY)R3q1 z#Zp(;WU9-zYYu;%DGb9P_o&11_pp8G8bh?;5`Ri9+zEGpK4agZrw0qjextFdM1Z$F zPfAVuhDW_liGg8cIN)S@6HhYyp`-`t=~WV3uI>5HL5gvl51R+u6*JY8uX4ec3|Buu zXcB^Uk~(oz&CX78dh`#ZtOODBRFlfa7q;;~@2^qPRRD>ED{k`(i1{B#y?X zk5NzWb?KT>mon7S%_|!Ma)58fbH)uwCpj4D-zSR3OU7&|Cxgan%vYxX9(k&@g4$?m z#UW+gzXGi+>Z38YPPLB>(*hl`0RA6ZyKi^KK;s=dij?e4tZUlM=7nsJY$tjg=z645RStRcTatEoQRq$F?spY=nc8OjaAghH;DK%o+ zAsHxf?@Pcy!#Mh8lx^H_7!Z2muE&IG0D&HtQJ?Yp1jt2*!%|_=k1pt4vbIvKPfsi}6BXG~XRk&i{U>@L; z+O16N>|1caADvZ{u^7%c=|L7S^4^O|J4t&hs@+b=>*8{;0iYa8&|ypEambXh<4V_qqF8!Uve=z3!{^q>3`6HHrg zjCXF(jj~xJ zl6C?BJXLwY+)TtEq+XSD<oO6n+CfG35`0^C};8)98cIR;V9`)~Eu+FdcZ-{Z) ziGuloqbg5afPX$K2JU)^B^x8}e-6yzBvw6p*IB2^#c~*XWY-trn~#x8c06ELU#Cb4 z=LGr_Q)`^5JDXN+R|Ss(v~A?dhWx80)sz9xZn^7PHj;w5VoyE$RPx_*WZFihumEBE zj`bvNT!#bY$0n;sxPs-l%}orMQMlvjMXXi(7E!_ZfIWRGKuF^?3J|B3z|ZDtMLGQX zQhFM1sVV`~kHl2bwhkG))pW^ky^b+b2@4&n2eHK(G2FHt5kWa5bS9Kbv}bV7P%~Bh z!@$P_y)@haHkRkp6lu^cW?O5F{LRo)O~^cgK*v$qsx;Z^X|hbmI>@t)MwzhvMX8mMFdl?R-9(^^MBNnfWm zHq>R)sS|;?Q(FD8fO>kGpw|e4c^scgjjtO#0zST!SvF{*)r|=+ayJP8!RekUpJ`=1 zc|A=~lJ$|ma5L&EDKFfO#p-#x8mQeGi+aO^f2K`K9oZ)bu+CPgQ)9jLk=Dn~;Oq^An( zc)Vsst=nph2-xEoq};7xa^GXNvby8tZvK_6V>ac+{NvND zahh(owYKnhrAdcl|2T z9oQ|NJq1%&Mq6x3tf8_;PDVv3bAoqcp8V1-SYdhR7$TmELEPMd&;dfx1F-c67ytq2 z2U<)Vg=X(S!j1!H)|@vHm0rHIChkp!?h4*o0l>~NP9q%#X~jz5H*S=QjJ%LY?n$cE zk~Dm)hduZtRB{Cmkf(vsM_QQ0yFWfgIL#*ClrcQ^6-!;jRgpOPM_;;eRc6i!10+@H zRFG6>9eApu$Uy*5#soZK;gPDAe>i!sX)Xr82VQk;;V7xu^{A( z4tS%;$=PatbN>LrNAxitjBIsu<)_lNH>d9ABl$3|lJD1GzyM%i@tXUG{t8p3vgx`e zqYNOimh#*_It_^+ADY+18jNy23Xl(8MrlDMCayN3k~18P4Zvrx#X}%aHx(Y)t4$VL z1wF+?=s+pAzkX|fdg4r|SziDQoYFF#xC@N-H90^SzA{ZUmu^dQo|zpgHCm48BCLvc z7XDQh!ow;m)54j-BR%m()Cq;a!Q`Iwa=pp1OrXwr_rRtyWaNHTVn7MPs5w1xOlZ#S z#drhKgxd?f$X+sV0PV=Ccb51#&Uvi@jCvlv^;+&S58fv~r6sPzOwMRZc05yG3xGyy z%!##dPfvP@(S{2Ff^sR|?#$6L6W6sbBb}q_Db9*80w1k6$|N1RIOOrtsjUjSVSwD` zfSuZt1RitvQkGU7Xm_=Ru;>U54}8|NC*)t$X0hWSF#dI|Zlogf)kS?*4b@R{gE{dF zV#Ij|c108@E%#67MSZHhjxM^NylTp=hHiV*hXJ>i$g1%%z}|C_$;K(hRa5ee*W}tB zX!+zEuw%&JR(;*%appD|Cy&OTdw8fZyR~z=?z?Yi8%XVgoSMFuVSa>uA=jeQqIuoN z0P~vgZ;XEwVz-WF^ZOip)vfVc;(9?8n7P1Ec+Gr)`$BweDrU8}y2~~|0QanB&Wco} zDIA~e1Mz-MV(Lvg+T@Z+-Gg2$EyKu5Zt8tGr|Q~-nx)%aPUVXn^W4>VunQ}4G0kAz z+3ZrL;T=h$Zg&IquT1@w^=HyPELl#H6;mo5fc5GL{YT|qT%R#Mow=^7;U=(jPa9d@ zhQ`?x{-Tk!nfi6%iOYm>#{l5=uFp=F&)1r@5|M$EpGtGy<~$!9Plk?gE}U2ZKyAZ6LP;9Oj{UGn^>Scr`l=n9Mp8-v`>8B+HL1 zu^zap%;#m@N-Z}aQXR<0OVCEH7JDt0A^R*K>2_N zgY~HHZXao4+~e1+B%RAkOO~X+B}gNo?^UGKFi9*y&uY%Q)Cw-__vbZ2ePT5^4eOCb z)y-pewKk;GaHNSl98?Xdw&2^q`qw``wyFu=w;rdZQJ=(?(Kg4JeBO;oBx`3K4z^81 zg(S!+W7U)m#mBhKb2>or4~g#APVmo%@AV0vgo@J9oVV#-r{J&HoA#~o&zCj7!$;Df zai2d~xJUr^!w_jZ++NWpa-&)iF=HkG>}o0eLVyyos2R?4Ui;yX_$9x@Yok8F?!>t31Q{{Z+Vm+beTkvEEUeRp1*V|Hg-Xq)~5Hy_rTk5V2Y5q56p z#skF`sQ4Etl73a+*0yvf@g}t>T^GaG*G%7ZTiZKl>BWA6_&@e^{hz!6kN8Et4(Mv? zID7aF%LD84oM-T^*4kFEh(o1Y+S*1sC7q;jf%Mu13N7d-inqd#fb^&J>uI7jXLnQ-?QFAQM371=tAA!I|qBYNe8P)Nv|*c zw7wNu{8#;-b^ibm+FL|COW|uXf2V2<8kcC-hDPJ&9CxBo<%^Z}CY^Uys)Jj*A3bRo z$t)q3Ky%zyv=NgB9B*uLO453?g265LEq#fAKX#m_ZM{bo`p%Abwlh>RQ1y`7CJw`s9 z)wU#pK;#}X#aFoVUC0ZJ^`HZb@`F{(7K>(0`Zfo?%_UO`~ zyZA+{O>(DgyForc>9$dm`5OG!)*wW>nORTD>usqak0*txpe=3+RequR2y5gHK z+sW=b9+d6o7V1D_3-?=}dSl>`y91sDOD0LlUOODrWsU=9y-c0f;_GxUqAm*xXjt=t zM?SRn3fzVqia`)#jlkd%GeTMeWK5wKdW?hDo|RhZ0aDAJy{hAo2wlKq__(U~K^1n6 zeN73Z#ijKq$r#sY(9*P~03UG6!z?gXwzI_8u) zAY&OknqiOy5p2Nk^Jg@vw{R!FeAJycCL2_J->xfH!m}(o?X--$u^`Akm63zcvHS&D zvbYxa5ziZuu!0Yz0qB01d==D&r{JwF^<0wH$&;U8E7i1yAwl%->0Sf-CTkyW_*bU} zCoqDfIjZn~b;tue=bEz_+6E3e$4Z+r)7Nss`D}1O zIOu9r1#n5nb5X_tIZ=!b^(asPAdjs}xkHqL(0wV&8w7!$YHET9KgyLs&OHwlSa%#p z_fKA;ptyDiXiSWH)Y||AmBIC>rU{Im)UVuW-IXML{{SkINa_!2hE~FiZ~>`hmj`lz zk8afjj-%7p=|b`t*(7802IC%`>W-y&_R!@}voipoe>$@yigGs&m7A!NV?QxCIR`yX zdQhKnhzi+5%!fT)*z&~nB++SStZR}BZ39TVzLk&2mbUEV{+O?){{Uv+*)ze*;j1ql z{8!S>r+;}Ep4Ur}ioS&`;~$F}O^*KnzZRcv z^EmwQ4Sj(o`5%0YSd-tHwF>_L4&S95y6P`)D`iiIR^@s7AYU<25RA1jJchiv;FdN4RC+7-^5$5gx>-@ zLGd3=fh4%o;X@Q}BPeEO1FDcm;a?MYSN;lh@m9j^PPgGm=YgM}vFkIVf8;{I{#DzD zz+-WcZiFtEnnygb6luFum5vd3 z5=1lUECWB9*SL5`_K5H|iR|OQvb=`o-N63yR2PPfniFRbj(#L;e+8%m{yZAOQ5@rLnmC9-{@& z93<+;>7Hn5TT*V*KQulOM>mJ0)w~ySyJXUJtC&iY_eSzXdXAYpHqEQMjxuYU_`l(# z@CWT>Dq*dm5J6>Kv<3keAAJ#Gq~p-l?-dQFN64wwD9DqJ8|t)wb;mzGLeotaY>!T z?HM5R%``UA%V+CLy^l`)>FZ$uB%ClLb{VSk1{piDG5J*NRGqBj*m_lYHVlH@I*NA_ z)TMT@?K^=uJR0V_Ll_Z}z#Q{kHQKAjLG9BO&+EuMlF{@Xb4@KwrM{=l{{Xe#hIK!M zULm$c-el6|#~7P~TT1yti6gm8aRO7@V`T&FhR1ui!A{OY3+t&`LqIjb^>1cdCzT;x@G2KhK& zt!$mqEm_=+usBoBImc>ia(kXVDZ>G>z+`k7raAJ)SazX3EE+O7zETksk9_`=!@Ol* zEKgIKb4V2JVofoa@M;ucm`eLu4R4U>ZhT0$c!k@+d8WN4H$mMV)y+k*4h( z1hpFAsmUPo&lMHJ9AIF9(-kk7xjtd~R5FDqays;>OJvix2+zH#awJAfie55Wi4k@Y$I3Ap4lXfU1 z$YFs@RRn??KE|F@s4c&rN@`&SO$}TIHbKce`cf=v4(`~_Dqb&V z`U*Df1%S_{D4?A7;~ddTQ6I8?C-KZ0bS?YAyX(@tXX0PRXssfUEy&J0wgqti0297F z+uI4Ve0q_==Du$Dqw&(`QF$S^xn|Eo4Q%D5nc>pIxxEqC{9*X`&*nu1*5c{qP4&bgpLGJ$f`1HK`$D+)2+oQ-p`H z$2?SEjQwd;k=LiCBcoD6z~q6`sijdP9mPrPr`niUu-p${YI-9-InFrzC=x`wLN89d z^r`LmD(l#eDhTpd3{ErYQd@#DN#OK3pie{YU)X0`H{JkyE&l*Ca|8GhUry+585cYe z#(it!FW3WHcaHx6OY>V8Mga5}k%LZKt3#9Myg_b#_ee#_z(k?8#0!HIJt` zAS(_HYgx;KgDRwOghU zJ0tDdxl`%hhh~{+BlN39o;TC2-UlqE+B_d^gCC_|MqR+V=g=tnhXEUq?= zNy)7&hoUb=#~Vfn^%XKc)*~cw*V3w|JZGt?H{*s-eKS(7HMP;<-|$j>X|&JTH&wEZ zP#aLxZJ-|Gc7LUQXvFIrsDZi2ufIRwtXkLEehqkYLoNZm*4jo~^$8#U0A9WW)8I$E zK^Fy1KtGj!fx^&B2PfWNz@;D^!-W*B^DZZo=c=%t{Ki1TO2ldJu9gFrF>)Y6TzMj zwbr~5b9ZZKw+;QRd0}Xh%NY4~FU&wd*>9WF3g&-e#gD|k7uJ3#MFfckwR*5x36QIZ z;!qAj>GKm^pT|!O_}9dqAJgqTBc@tirJk!D<<-3QZ*PvEQyKe!pjDgVCMCSmG zxaPd;;26|2{UcY<^}9QZYukNUq?*#>OG5`|g;}@-@%s>={7^Jun4&uly9JNQxKuY2&{um?pc^ zt{9%|318+b$oxMkaI9GL?kfmWjX66l^*yQLCy2vSa(@ctUWn;zgJd^waaPfW;Gqvv z2_34HkaPD)$Q^3zAcid5d)B)g(sw6{M(W>zs|z3qtfQWsnyjTj!+s{Dk2`Qj9Z9KI zz0BH8YEH5S;PnTAPDUk(Wh0KY3jCuD>&;EqxXwCz)pQk>!@(``;1F@nX?Y_U$FMZj z$Q@}{%)rZf_NK36H=y2#cQ`rr#wxs>!9Bey#HEaT2^~d5A8?7V_j2!h9`Dy!JX@^Pp#jV;$*ZV==r%ZrH^QmcF4l7L$ zADBqMq2rz^ysAJOfFr-XShzA5A&)16ih@)C;I}{G@Y^)UBY#KFk0}2kA`!leefHYF)A5 zjE;S3GB9^B{{ZV#T7}rsj0qrj7(SG=V-;+&1!Bk4^b5*YE0DAWOyAfCt8ieqmd zDf}p+$&SZg;}41Yrn@s@W(rBb&2n>GOK`=cV#cG8Vp0GY2eISur#d>QETjX|iiX>F zVF*SGL8OMyUbNr_dVMLN4C5Ur$nVs26p9>14l%){2Z6`sO&dVm2fa984xMNMMA!!7 z$Q0h6nj1y4^*)8Hz-7y*C{L^d(ncs;o3 zPC!cnM}BA#^jGXDuYH@w?WY#Uof!&#mG@tU=T=Y&#~9+jI=^InYx^tWWuOFPxEVf& ziv0@k#K19feBg1&sn_3}_oK+WtB)81ED0Io6!pkrsy__Wc;g0~jf2fXMcjOj0^=P|rB=CR z5#^X;9V&7_KX<2W)m!FGn0Cjx6mC6iX56`TAsB&=O3u5Hc9r$?t5=KxC3@qID>Cj~ zgn^UKZq%)Ekyh$O1hx)Ob6EO~$W|f7NgZ=n?&Sw09+i!$N;a`0r?)hvbc%|1KG*$& zd{-xkJ^X1I8LGSL zWf!4xCOkTkQk|#f=~d!nVmSM!ikubLIOo!x(_>nn6@S59d`yq5_%Ff$hBo$>7g7xL z-audEYvau>Cz9=_4f3jtV0X_-`WOBRf#N3DKWX{&WW%nLquRlecvdJJkNkSP7f7^N zt;-k7vlE5%uhTeol8#>=Jx`g;CwxQlE?VMQ0fYYqh3OPvOELWi=U%2^ zQB$LLvB3yBtwnV{r}z`$2|N+-i$d_^ibS7e7Z(^9`Q-V}^B#$ry#VvVuq$ zIU^kAza*_LdX8Ra+0%lBG`k#c!hZp;f@Qk0pIPwx-CPtm8fS;vMo3t2S=w11MsC?P z$N1;=%Ej1c%@d#m|c8ykHh z-Nm)XlAde3KR6&M0~iGH&0_u*(Xvs$sdM)D(1(cs0A!T$G7$6V+U1q@;m8R14ftlh zaq!gO>|op#7&zbrv7MWgaf&_F zsh2AdlE4VZesfZfl|f)QAFVe#R6aq${Bi3~KC2p#!Bq3_RJCM1?s>D*8RmlFd zrnM9;Yab}f8CNaA;~A>bFYh+L1fD9?(JHatGTjbpw15`N553UmrD+x1m%W)w3dFPr=SJ0QRjNzB&80Wn)%DxIV2TE2bG8lFKbr573!u9K#oe-K<2^_K7NH{%e zIX-6Fw}K9SynprS#I{Rdeia${h7M1zdsMW-&ekE6fOFR!u~pM6CQ%@xucy;Vw=UwqS9-ylYDj9})Wx*Nb?2%^oNJd9)>+3QrAwT7eBG0rmF za7Vo~9R1*awB~Fal>8`ZK~eJK9cof{9oW=4IV1BF5KD8@wkdKC0e>oPMhV^DoYiaq z_#%o%Rb~&zPtJ-E?uhrdP-)U!OD;UeW&@^AN{^28xg(B03dpfTU~o_8OT2B)PJJ;= z11FKsy(w}|Pbcd@4&dYF#T&@r6Zq2sAa$n$x8=Y*de8&+f}?OIq>fFE$^0rHKmc{; zG^)g&MFQ$rMsjeckLyzIDozJD&lOo@J5Cg5*EJ$Mj-X&=d8Me%(#@CPlrsh&T!B_&luVn~ zBkNQmbGHkDo}<>MNr+$+W7?%VmXa<4qm1+DDcQj5RpW8yZR?Ksr>uh*-JW@(&gDdr z%K?%2ReSInG8wo&ztW^L01i70)oZECf~=%^8f{q)<~`QsRy&FLxF)l1oHtXCTG794 zrwzc)N4;fT$O*>L)6%7;_8Faiz>XApX0f$7fdxS)j>5HWm?$R%`+HVCrMqE01x>8A zEjymK{{RH}@kDw@?F4kGt}vRGlPp_F>dVNly?D$ zbtH;Ub#sC%^zPj5QL~}J9Co6cvoXa(RM}}8_(18_rBm{JqrZBFGk{1unw}z0%0N7I z#cR!WW2!}@U=CFM2&wIqO)5lA-N%#YDzqw8^V79r{95s(e-6G9_@Bp(AV$)3N#=!^ z@#Yb=2mSQIstL+z5bYTAAD6$h*NhwDC&&K)7kHtiX%^>Pl_NcVL~W~&!mzEa_C~4> zFb6AHmZkLz_qv&jG}0Me@tm_9pXXYTm5sc%C$HgOuw~SJjuH`jq>=JCnck~9e}!5b zc$?xDm8OthKeep0DL=rcCqI>a)%!2_Vl7kRmZ{>y4(n|LOcs`}*j-F_Nsn-tQ}wTu z{{Urg4qBnsejwjl@3*pqz=ZnabAKQ|8vC#IYVeev5%@)7w^41o)uw$)?2*o7BWOQF z3tkTsV!0@|_t5LhX)2h7ewvQ9140IGRuq*b4-lqDi;UVlHy zen?#BY-_;FA6l#N<6ZH;ioP7^J|xp__0JDJv8Pnj|uw2^P+*oe`L!%H0U^xxxUk-RK-hDNv z(XN9FiwowxK}EFrz)QQuH)>79rl_1B@K=Ruw|8T-9_AI633irc`aY zE&)9W>q^a;w_!$1gZE^26(WKc1>1qa^`@eprH37}QmW)&w_3YsXK}lf0^70&JksTu z{HGW^@l9yP{upzf8kYohZ2Fp|u$VF0#kP}?*WRHdh03TT9tBKE#!fo=)KVfbW?nKs zTC34KO=|nWFeK#N~60 zhDHUqWDJf4K`X!axXnI7P6tm+)n}2%%Eyl6Q*uH`72`(v#y}mp{-U8QyNUA;Uj68q zx#777*R?|A?ieFE?rKHKlNNdKNjN8|=e;xSBcl>AO?KJbess?{Ncpjz)a>4)-YFY86_ zhhf`@??odq6jE2PSZ)S7^XW)&+Jl_)MM%X2blcb7fq}ycLDrl@E&(Gn02Lc@7=0)Q zj1Sh6sm5tR+7CJAfE=YyJ?Y9o9XeA6Kgg#j$)HZ;k&~Q^W~7O>FbBD)m53)Ftw@T@ zGP&ST29}R2!>GYDXOSSs=U<^;vlgoNzYMgunYTP}1ac1mjtzcxT06xexXwZTAzyQT z#X9NKJ{>K-apX=%Ugr({e@d3!$fqx!a8MPxDygo->hwRpVlESdVc_ zyf-9rKb0$WxuSX&UU1xGgO0+h-9853**=DkFfsXf_NGcykD8vKXJ41bPeaBlD> zBQ>vjszGN1@~peKi#AUfJc^s^VvMV7%`j&dt<e6!Ks3CZE})=IKfr~e=7Y;_;2C}{7>MGC&UoQ7+zRKC?Mymiu|@IL)If=NUtaifYrjIELj-SoP#=s5liQQs)4C zywovg8QdxAamGHi&~YZ&c^_!UT-VP(@Kc{3pA3G^@c1&;v6am!s6x(=wg#`fVoO;)9@FT%1zG?5E+=s^03~6{oiWWG7D2$Q&5Z=0_h^YS-4@IPmm0R=Q=)g2yM7XQ^1-UL>-g;xOBck^ti;9@Xf-4E3!~Rq$4u zs%m;#*v!bnJ9M-11Zo(lD;Xrl3ge8`4~+I}d+_G+d#U03J%ovOb!&3+EO%&!m{`a2 zVTl8Z#r>SGclbW*O1;n~(r<>TE##Ukwz5JjV3;Y15J~eC!jcbsnw~|?%u{ca^m%41 zrJc!cqb9y!{kuFeG%wl*O7UbPcl;#25Vg9P`ppxxCm-+?8T!}Lf<)RB1K$LS@sHcn zLW1+c-URW&jJ1{3=94kcBX`b}N-9X#4?bGDb*8-$MHvQal z+)#|}_6YOQP*cxM$Mow=P}_KB=bZXeiNM|%@H$lz#m?s3Kpvd)NF>O>=tg*<3WUf5 zBe!}+`9M4t#y?ti&_=*im+skIP+6 zUK@r-<7*y0D?V8~&PfD%*3XLJNHv+zsQ^gWJRI{_R|n=GpL`0q>k^%>atnzL{4vE> zV#QA!j!0vQmgR|D_7zrFB$9s$MD-()*z=M2R4n<%*5H1$_d63c3o{28BL^oo zX3;LR?ca1O>?gk?`d7!1oD7rc!5wSqPuMqK7Jet2OC;iGTOT)}>5upk{Hk5LlRI*= z?fnhg|-0!TR&cF zD#^DUtCRFKs|f>@9M*iU_hyRa=-sz22M5-tNe)2Z=Bh!R!vyeqRh3T%5%(#DAj0s+DNsU%XzcN}&1sZtZSar`q) zG443Q+n%(y*n2XC@|}!8930kV)FULfr+V9-+j8I^TFbn(V8sh(+Jwt7?p1P5SB{yi z+lYM8^1f8_kaL>U)b!h{$4higu@RSbY#ff*sOHnQCe&O2Jt{2T<4(shsM;t}7-R9T zufO1$8u`2UW2^XO=K1V3Lg5ehSZ5->O}(~~=5~n}DY~;C=lYxa&f1Q3!_|wFf-w=Kv>fSlOkQsFyLR*8AoCab*{IOr6-?p@V zET8sm*K9l+8GDO>kz9prH<6saJxRtZ^M1<0;>}DqkhF7S4HJwq`(W4C@SJe+uO}%k zZj19gtku*|T4+vX0YPE_1EKY=qy7c_Hr8}616gSHR^$73#n(w3XjkSy++=$y635)v zko*hyV{!2d#&MgK+ox&lvtPPTjYSmbnBWeq0rsk$wG{0A6_Ybe3AghI|^Jd7#-<&2RS_|l3hs}s#pgqMn8u% z5Ujw1&~gE##?h50u0<&rJOP>=gfYhBfx!m=~@{mS57e zoQ=Cf5`T)Q->Kcf=BW`QnAV|SuA`yJ>s~qWzertE!&;7>>9|d&&X~?}Ol@Azt&Opj zB;fV0F!+;bve~kpj0pV3Dd=XKz0b$*7RPj#>~2{}WKs@#oufalYo43t&Ku}+UBAYy zA#^VrUumHT7Wb3HGycrZzti=u8sXD+SAsiIjpG{{va?}MO97lz7ZQ1nz_&Fty$C#g zM_Q=Oo;PNh7V1Ycg4pMZfti?)4iD>6&%w)#5y7g*86`UOr+XKp5@uHUkI-b)PWc$l z4m(riJnqIuITaBr)DNhjq}7IuoU=AD`qOs|?gpM1HgG>mV*(V6fH9m?Neylx802&4 zDTEMtr*0r;Ii%ckl4#Y92nii2LlM%0!N4D#3xIi}OAG-y-A)9NoKi3cp&y+pmhL|s z(st-A&~CuXP`GY(($P{dqLGd}QA)zFj4*Hy;Ybjg6k)nki3IJYGiDnv2Swp#y13Nt zB-I`99kNG+LF!L>#SN2y1pzQ}4FvqyIK?p~U|@5T{OBo>m89?T{uH}OA2U)IXXV-# zp64_JgS2x%A$#V88963^9!_var32J{l!39@oTn!Mev}H=B|zK~IBqzvXZ?*ebh7xJ z0roYRDJm7Il%;8sz&8;-#@-PKz!gv6I zp7oPy@_vW$R~b;Nyz75f6vwuWG3YC#lKx#aWEua1UCW+5bdUbPfNA57Gd02?H9p(3uyBRS!SB=M4ZRH_Pqqyi3deJQb^Z=Kf! zo`a9Zq}#c%kEcDU+o@NwAfDV6z$XN8R4!~%=!S3M=OFR_0N1UDj6cfCa7J_KRi%Te z3)>h1r{XWEkaX}4#XKIvwN{$Vh$$kBVz!JJJoP=QDQ$q@ujVRllNx%Q+}cz;?NYt^ zS8w|*UdQ2okJ=UL$+TTNTS!U3A&22FyQFwDzlS1*9ovcJKY;_1_$n@MZ z{OL{ETxnlJ^gb71n46p)2&uP>a!27+H2Koz$}6adD=bRteL(<V}`LHp` z#{(TJ-SiC)OYqK#Y2ob--D0z{ghg){?4Wh}o~P?mAwuRz)GD94zJjIRP6;>wbH#mq zd}b>V6&jOn$HhX03KDJ#*CmPb_kWc;%v199KJ^l_Dd(rKrz7n={*}+uV`#e)f;)Z` zWNpU(0M?@=jy92xOjD3FhiXPxj=)iC0(y>9yl{Kc?j8MjsIM*{(;zn*mBd!jj;}nb zgY#@xH>`YZ_(`Cve`)+d)3U$8Zy}YB(`YoWpw;AcJBTBmY5xH5mD%_&Pt-h9s>c)B z*=d&#a3uSse5M`#wdIJ(rbBfV`u>KA@^HlBE82K;& z;A5p-jrlmq$mkDBX&dZGk&e82P1r6 zS}jCDCQ61GJ!%=4ebPuB@G4eTR16$v=~2iGm;{0B1va%KatTJ<0cYXMQ&gSvFlUd4@TQ2fARBPKXE2p=aN0E=wJ9K z9+LK78+A*kAe*6Ua=HHiY5)oR(AUpXVY9Ri#N#-kJhnD_YE_l?=Wsms?NyocoN-g! z2iQP7_Q|SqZrzgD=bCpVc@2_X<7gjVDg(W9fHxmXac$o*AC*Gv`+?+)@@eSGNJBFb zmRgO5aezm)I#wJIdiLv0!CrDOdeP)Hros{j%uOKRa(ed1dPb4DH}a&*3=@I;>Di*J zF4a7SA3;nx&ordqowR^t)3HK~XC%{tD;$QVoDQ7Q5B~sN8g2uMDvXo)QUU-cCq1~O z;~yzG`ch$!V@)WuA;GgsBY6(QQctj^sUwV4ojO#C;4}26Mw+Q!Fncykn~J(47PIs* zpT>&aTNIr<$Xqr@V?}*G_6;tLoPS(7(j1ORpd1ak?@9nsk~>llnD@nek~_m;Cm_?Y zNyzB5WaA`I0vrRKv~E@y{&Z(>z$TC(??4I=(&rozicDZ~PvJ|Q!vuab0IPy?nsO7I zAIg|F4ox@{o+u^Ucp#itNATMAOAi;>U96vWVV};qv?TR4qoGUoZBhv%9IUEy`1PZ3 z(VwSZ4sPSW@coU-%fyhOUg zgGk|*#&i}eSm1(Bah{c}YDUnze_F`X%9m2dr@d=iC}#z6j+C0YO6x|;)`m9ucVq!p zqfk^dWB&lvRc-JN0*`a+R;`zE?PJhVvL26CS%`3OJ9Md_BcaAg#YGNEfQQ>PG8Nni z9S=0t`V^W^LS%@5Sd9G*ND@fT$UAe*HYoveyD)m1mOQus0gnFlKJqT@y8?rTOxVTi$-DmYW7<(U5fdC&1N?rV(I z{{U*wgZeCnEitt%T#=mGTX|@I;7|S)$!kBhuBPtE;ctf4@TuWt)b5Oj{`pb`Pb3_< z?XPp8RK&Vo%I}x8^!tyXA>RK0Byr^92OVnN#huQZY%jG)#k5$@nR4PW`L-+MeQ)-p z`0cKSjXYACbW8~H^t)A$1O4n~xV>Ll@h6Fe1isQ|1$urNjaeB|~rSO|gm7>ygJ!e$MM~*dx8~*yqubFN1c%yyG z5_IDOy;+Y>4EPKOZfZ48Lq$fK-1Ywe5dPdAF1#%tgnR{KV4bDEn9lzIkif1#Q~jg< zJ9vQ}8=oHB+eIM%099a%2m|T{YnM$u2*aoZa5<|m*yIosJn?}|w)ZVU5!n#jPpWGY z8TGAN?(y5JT->u~^EGEq)1r;D97?=)6=vGZj!F#r5m&7&@|g1a0iCoV-%AhEq01_# zUtCtSF$BV}1a!qgX$O;y$DYF#dMMB!^9MX+k6ON(2$tGEo~)HYfCo|3RB#{w2*Bjy zc4}k`7ajVadTD4&XcPq@a&kRs&CUyRK*O*&9CW2P&RpTT4tO+L%vaDCQCuO~KZJm5i1Bn~;*cJg=B?_8 zQnttE5BwC5OiM2w*xvaWH(EOGVc5qrC_j_e%99XXvBA$Z_P6{LyFzIo(e;%@PkL>+tX(kbk`y;;3AFIoF^+>drk%kz6%6Z##yLi~J7Cd6ovE(xN%w zaC3?SbDUPIcsp5)oz~+6zUqkhV^(kVR@?K_V*^~0$}=cOS~B~Y(6Kmow3psd4yU~) zdC6glwmdtoI~0#exNp5Xl23nm0M?PoxY9z@P=j2cfDJ1dMPf1-Imy2^(` zp;LkmF-xeT?vbf(R4(Du90OKhW?{Gwpa!Yhv0yUY`Vm%j^?YxFr*G~*i`7ifJo0hL88E}or&V!<8+_^PdKXqkQ_1k3a#`%-({(Kgv&xNcPUy}3sSm($0`9H z^r1=lvyWrmjyj%{-~n8IR5Z$tgA8GZD@qjOAXKQTMQt? zir8dsAam(cLl2h2%wA7QvXO35*zeMsb{Ps<#70VS^{WxUe}Q_QhMcgl8@6yNc%$CG zcaVK(NLLmJPIA3RUMlUpTMs?k(wl1&AjcT15k_(ufZ*V9O(0~^paUbOYRn*&+*3U; z2c<<9%67A3k4l;%uG^P@Pi~Yg1WLQYl`L001J z@%YfC5pc>l9CJrfZ*cP&2?LUP0a40J5~063A7c)K=}1Zl$vpSXF>Wz~5*Il2%{E5d zm>i6B^ra^w znnrEP)@DAYOREgy1CDEu@f<;tNcNsbe)ZUDJR#WK`NeYHA&+V?>ImkpS}hD^?%epV z{t7Xqq`wU9ugY#PYXKA=`e_@l~1nH7h+1if&%a%9kt-2M4(|mvjoYL*(Ze?^=@$t(^7!D=O{D znC;J6yWH6jzSGgU2eo_G!hJx?;U$Vk$J~9szb{|qUI@f9e7GF-uVMHXc=tLSk&~8< zc8s3D{{Z#t>i9mVv(6(P>7F+cL!T{gvD~u)a66oXnnXD2I@3o014_{I!BMcf`#2e%d)7GP9DnhqkdNM#D3}>e_(o!X%>LXx7E=lRlBSC1x=8PO3<22RI zK?gnZDR4pLll7|QjF!XIbt8Q*N1Sb%$vXYwoj)q8b>W{6N;a*E5u$+QWzp##l#2ECqK4&KbD~wX$ zbpnu{I&nZDg?~15KT`rb^Y~KWXE>seFemSR6aW%BW{hKv#+HfzI2=$;D9$>XOoPzS z05Eb^oVn-?H+Vb>Ro#xcpq4yt2d`fBDmlOa;E~R1ADH$0s(4wLmmp;QJ!lhW)Bgal zCbDDJF03AM8KTJmaeDE1#IN5GRx%^PZJDxhsHA(yPMwJ8&?1)S-Y-zGm-Jj+B{qR=OvN*yNQUo`CnM zN2wJAARn1|sh1swC|Yg`P3}9VAdY(GpMrj!>5+}6*b0(3i6e3C=|+X!*m^0zWMWAj z$69)$Duye8x_}C>3b+H`H9T>b9GrTLQu!4Y($r*X#BK+_Kq|~}mrNcB7@{-;3@!)L zrB4#%V4tNASe4AJps}VfF~>lE8k!jXZ0;(1)1!fy5z_~yS&G+T8C>LJ9+Z}gP)%P} zHW-2VPdTXsL}OdB!c+Y++cwuF3gC2&9YjXLOh$3D`spvgwbVe8}o;q{QN|xsv znFu)PPq$2-2N~*V-93rtu)!H4a}I})PfD6N-HsIX^zTxL)j6j{5K*3)>CGo{xs``T z12*1-b*ZBmICjsVrpB$2QYsR_w;sd2QdZPgOqwDb{uM8n*utvtdC90D+_){rJw;5c zRO~_y2Ru?~-r{YND;HCq)baED%5VY3YBnvmYN;8e-0CoWv&}RuNj_!h`6H4)3PmM} zeuL>uXHYN!BzMg<&hAv>6wsZ=vy#de*OBW;((XHyj{QbRsK-4{FnVL!oTb?0p8Ro4 zS5_Qk&Q3dEQ&^Ho-NE&wW+w^{PvY%KB)lD}NCzBJ71MV@ZDI2P#Wl>be7MJPN1eGq z#(Ac+jOS?M6vXa9BQlH~+2ailuIm@WdbIv#v(VV2^rOey+ zK3O42&t3&{8sK7u8MB^%j+N8jmMGlk)K@#Mt1vD=>BbFTFLOIw`QP@h(ff_YB`tTC%%=lDWw5Sy$L;OBLYz z(@osgIOH7Z`#~U&YPc*OMkPjYc;c0``8p21mHi7wDsvuizB7UANy%)F!mJw^Q-Dui^oGt*FhK*q6{4h+v==-`Lvw~t@MTBf@bNnr7Oyb~+!6gcum_cNVjq@uStaSN!%ax>HlV|BsK zK9$>RKM6cfqFc##c^n>60!v3Wcpk(G;Qs*OFYr;iXb*`kBXBucrwD&0#dFIQLZ0$Q zu!VWv&~MQbvXC$jL(L)C>N)nQVV_66j7_KO+I-;h1XuAf{DW12q+Ar)J?Mq+Er|uw0>?tq@AX1NWNW>1J zfDPF=+e?w_NC4}K2>{}N0s-ql!gM`o$<6@=l&>AA>LE6$AcIch9`t}<(({lg6S(Cl z0NiRs>yy(RX^|BiNz>IvO-PEokZ^iXN$DT6HnQ3`#Vs;qa=Y%3ZqH+y{S)x?>d_>T zw;0H;%!o@I~*Pq+3jc9nc}k`U)23HYWB*eWpk_$>SUx zR_33ALYy3Q&2yS%%7CmGbgj!t!vVE({VBc9CB2Qf8x50yd*ZD{AyJLP=~<9mke+Eh zD%5uXs3dOVw;WP5g{`AB)>dF6&N4f8snPobfCn{_Z{vh!X%PV&Z*TyrmwrC*rj|3P z_@_^ZgZEnG6Z&SBg+>=TWt(r#575+++$@W{oT)uY=C~QYIs7|xC9meJ${ z`T_2dT-)sFQ-+)->yOJthg1slogK>sDeQuNB5$ zc&h5(#9DTbZxWbp%kP-=8$cioeQU3=%OET|`_(3|V6{Z9T8y0I*Mn9dQly-Fbf#Oz zxxhU73bhE%SC66ZPQ`1w6hh%o$~ZX{VleV;C3fI;6h$6JF_TszgL?#E2q&OC(9&Ve zsK}u&$nWb@!EQOqGtPK5qPdg3&o=mnZkH%i7!C-*@0$FS`1z)` zlkqQ7(*$E|S2C*;*CIwA%N6?Poy$v z=F>b;X>%4c=5binYf7BKsawtWc1))~h^~w@{hlHc?9o-1H7PG6>>mqQMX4pqh_^J5 zJHk|QILI}{8{J~k?ctYJmOvZ$)j0P1wb}e1)e>23=3+4<0Z+bEisn2;YArQcEzCr0 za=%;}{*uBt&V@JKBk^Rto+_m`+>iTq`AB!#{Pio3$ls8#9iT z8kHoF57QO9yk(&Ml_@PzxuhTD?N(Bs zX1HjAtbVF@XRod+%i|@60LMO++I%;a65yjLKQf$wpIWyEQVuuVbZPsQ*QVC&$8i+bxcko zr?j@IY?9m1<`sIlCnMghTWY$UunTFaT*e1Lvoep+&>-po?MN+&IA-TH`CG)-jIN~q z_I;e3B&^LVFNq#K)0i7i6x|NrISu~+p#xW}zBYVAwKl_gSt zDKYv{Tw=kV0*`E*QC%_OEb(dWL^pjXcnmtMj0TAdh$mfDCb?QfbqQPVT1TJ3MSgAR(lx!xJZCsyN53`qr|h+?wyE&0$%z?^7|7k60l@tz zIdLiS9>t<~symx`Zf)Wx%3`G(zA6a*Blzi@jX%P+k&V~}=HZFQt`t^R!`lO@c%8gD zZjHFPy8y}P4^ll%c3&L+DE`QwvSgNaUm2zG9rf+>W$kV3L2obvf_NYbhb>Nc#U`}9 z%tPZpiE_SV)$FX){{V8|Kl%~HL}&5Ftsz-FX{kxMxl1*`Z=glZa2mJ#7320<@R=#_ z)AmEU)SXG$KDTxgKTr!F(z!1X{{X>r{yOb@Ux!}?JR9M)$L^iuX`M&uMv_LnwP5s# z^d6P)8^_)#hs}qCr{dW;vKZpMSWB&k%w=xiX6=|nN22A>m!o~;l&3qH% zANVV8?djwF_TTWkA5B&q$DwJ<9tYP1{skle?#HTKxC$$NUoO_T};GE&Trg1nzAM4E?9X z8i5|Cwk|g>Ds%kGD7eN&PT7MbKkWZ{foviUZ4S_iWwJg ze%Y;$4%`WCBih-@|8y<>X-fD#T2o@~e+>C?7(^K%5ZAuWFhW$;&CnPPG&z%AMFA zhMynE`@Z&nN;WF%dlnOeh7~Fhq!KgrsF8tvuil;r2M4#M1vHBhw*LT|XMU9S3!JNS z=nX=pv7NvUDnXSvWytl#2$;9fmLkmDkHi{X?jMHeaz!#Xasx2~*?ZH2f=do~>M3el zX%1%OE0P9%c{K9aU>R}s`gW*HjAYy2jF!Fdzz#Fd7^foyA3i$w zIi{;)G=@_udj#RVpsB#nkjYQYfqKP=mt8}EimAMJB%?Jr8qOy0dOpz{njd zQs!l4`<)Ik+ZBzg%eN>8UO}r{5oaCFBgWvE9Wm-gdROMZ{1g*MmdoPx)bTDn^@?13 z6v023uhM@QW=I?mbCcB9=ePV6b59ZY?$-H923;+3!?{@*f2gUd-iFjK%zUYG3g>qp zQCZiah{j03>JM7dxg@woAp4rmxh%tI1M#WS+8uE-$sw{uIUf!ixam!QyhQ+yPIFfs z8fM4T-vad^b)spvWRgH$dUvb;01|Ch)5No+YlSir53YHxH}-VZ{Qm$AK@-S-bmU_- z-~3y*QL9IP8RB>&Voyx%#~+n{L}XQ?iODEbZ(AeroYEf0I;#tHIX2GRXCAc>3>$Xd z^(&0VK?CbhhH?hnaCykDS+#vk;!1~*GhJVRt~Or~2?uU?>0F#7<3FWz9u1hTsESWs zD_Bl9IWckOq|xo#Nf${G4~@yUc5CAw+DghzC*vlsZmWRO2Lm05$MmnTbQ#sHqCS`n zn)ze)%dr-J80NVOK%T}XA1`vxUnRznbIK*;(>#do-=XHY=T-^m&pM`WfTQu$U!UZ7 z>ZS%5QC~%9AF<|xY*KxH#1l&2#RO^a4Bgvj@(c%zy}|VE;jIZqK~C3i*y9%tu8aj>?tXD#~A!+k~jgL zohj%5JSPU24n{!~^nI&?`p^#Ov2F(aj-d0?`d8UMu~xGc&w*aeUznuH9dVlY&NF~B zj(QPaP5#4L=48Cm%j4t+80u(SnATUO&!s#)s!5}G_S)%JXcsZCZ}<=g`PVJ~00o}# z1(hRcjA`kZLa(`DfLyWSgIS;8*5f!H?Td_JjSKydQJm zkA!|Mw$iL`E}D6rtd>c4oDY6Y;&#PbOkY-@s8 zlhXpci~b1j@N46z!M`5(o5dbK_;af08g8egqC;_i7nWX7*#Udk!`}ryAb5jI`0wE# z7HhsE)NfkX#I}-5_qUHJDrEqlnETi5kB`11=)MK;R;TeR#V>U(out^CtC4Ou$WQ=& zT>WWDw(QJj31OjV>vN3#sef$WgnzQ7m4>hJS#^7vwPtVZ`)xMdNYa(-l208g@}KsF z`01hiWBsW0ACDdy@cqV>V|T3ET-#gS6*7&Cxn{=$JlEHrA@P60kN7NKj%!;p&V!+NGsK#ft!J!hvP$>b zmKD6j;{itsDMcoYD5$}x$$QNG9Q~kg;_*j>d^O`MWXj#>s@e6*Bai3&>TdzviL^Ue z_vdsYIR5}V*CFuZUr&hNuxG=c8pkt8f3l&1W^PVGn9o1(8rt|(aIrOM(Pj>5 zbu5WC^6ij%)8U;*UwF@>!aqeoXT`OUE!RmbtI!k~F$FER$ zrD1ziSY{iu*Nhy}nRfBKkH)Jd%8|BAd(u6^0rI!k6k7TMo~55VJTT+lqFE+ICRYTL z#ybq3=~Y_ovz^^f7^uzP%u{wq=Q*JwdF1++nsgXDzY2}+a=-vM?kcIf7|0{jEGjuJ zha{X1_%%s+3Afy~*Ekt`9(g#$G42!scLF`S)hRAQoQCK)%TzO8sBM9Vspg%$gyrU4 zlIfUy`Rmx!PjX7+aDByR$*36HcHvP?sS}aBeic!RNS8AFmm_B*Iqqt__X>cjw*U^6 zoi3y{5xjHStIMh;1{{t#&0D%cyJfqH!wtufGr_E#Lgk%_d<+iM%bi58IpZh2Wa?VV z2+z(l=|W4E^RKYHPphbj zm88idl56B|_$UT1JPW5^`KLDe&fJc;cwBy20+mF$Q$^5!ywv!T>@S!U4cYIE)eDWR zSx@CxZVNN+R_b`gQMn|KY}RSrYL58XnbMM6f-!?g2+mDD;AQt?9<>+*oCs5Mp2EJOS6ZHOTIfk0MmkovhUE!=5eEl&&pm4s%^U!Jn5_*OZ!Y>a$2-SrAt!xV zm1wt3p3~v^oo(Z0&JVv8;6JwZpSQ)DexovNX)WCge|rs|{hRf#anNrbG>LJLNbAzP zm-gSW^R)ddP)NbqEP$V?ulQGs#MHgERaGv=yfINjG={xx_%p!tMr4>|dCvv|Z2WeuB|O6kg*&NOPVkXrp25 zCO|kQloAd>#Tf^RP;hfVg(1!vzgj_)^J6rJb}*)t22}@l)`YYri@`h*^fdKwd37IJ zU{b?5=RD9hfr3v4foM+~0nQh%O7|bwzgK%N9E)h%{bWUd9xKBl-PK3aCcP*2WYybA z_?2M0P9>KNdkSlFDy?#~eW~II{{VSwa?6ppgOWO9rFtL5?Kl1t{{YwzUD1p}N3_!! z!Q0R7*qr0@uRGU@wwSZ-IaXH9dj9~y5g&`b33#8u)8Oy6xP$^bG|{+^)5EP8iq&^~rOJS#t$Y!$>DM|owSA;WU3`nVVqmUUAUPN~>(aiu z{{Vt4_?|r<yb zap5T<_=Vu#7)2Hq_ePr9SI1UEk@{EHKk!bE6iMTc*zds;2{$#pfwL@qQHT`m?qgP? ztA5${cFg7;JDr$6Z|dk zUyDp2J*KH8w1n_>xanRI`%8bpN`GyA58~H|ejDh25Pz|4wB1fyYioTsOj9PsVgcQQ zn)&16PsY!T{{R=RW0&IZ#LZ(~XdJXrY8M2eG42px14*XGN|cn8Ln0Qe_2iQmT` z@J-awT2N&0=C3`zGn@e?^&gQxoq7ktYqBgRvJOX=aCkk3t$0WL5o=uj+V~OiPvO+F z0`}U3H?T+OuM-3Mps!~5X?(HkHsO#~eo}f0 z$kS#x7{La#p_d$tX0*3+o-&M0IAl@sg~oZ$rA#Clz`;LS&4ymQ^{GX}0g&IFH4)ud z(eoRC2OaZL2{L&Aem!eFE|j)Q@zWJFQ>*>p2<{ClU5@4Gt^vqp&%H>J4hHOd=BSH- zxT>~JdU{iZ!td%2r8J*HoZEUDFF-6G zdWF@EB%U<`=TnZ98>}~8yc||zT>x^#af8Jt+W=fE0ne=sAm&D++!;Ag0PUJzJyehh z>73R}-{a-;GCj>PwJ?o=Cv0`9iehrq+m7u{a>I_eH7D9ZQJiA1W7NWu3jv=)Qh#hF z(ir3MqSCmzjiYwHqmI1O4fq-Ph7ajjPpm|v2`|**qit;@W6m?4l>}askT~EF*d~UCmGJ(f(1!8I*EiQ%AaR<0l zU!C3|{k8u9YF`mTRQUT%($t<;O3~w1U!ykTTsMh+FZ^loSIgo*jUFVp1QE79M8u?j zx|kI{)_satW!0af9xw6bjg7P1YC4=2=m#x5!XO{_(XWmF0BrA%o*MDG+4u{=`ovep z3+1@Ixwd`LrqDn@M+EY7UJHF;2B9j?somV&$`AU>tA=t<;!QK`w$`I;5rrP0aZ=ls zg~F5|?oqnlWF!odcwAKpcW(uV13cu_>!~oqa*|2wil=e4&PtyA3LI>WkwWX1CvHEj zMZK}orn*)GIUe;8ATK7IR;G(%toS{CZ9H2Nlf;~JUrh#k&jQ>4Kh;RA3G6Y0UnzJ3 zc8A3_&aIE1y?tBZ2^#alS9ar^+wLRR75fi|m0a@LwBJd7i2Ub`DJbHpRPy~!B~I5X z$>j0rQOMYn<^a^PffeMDZ6Izukx|OP5;lzeEAJ-bWn<^#xZSG9apTgg**RI1h8PEr ztyXLtV2+&B*28RrYh+Z@caZ0-PhRkHz5G!FE(Xz)*0|5xD@h08q<7Ia@3Y+iSb{iV z{{Yz6Pw@8t0L!)7_US4XLQkP)^f4HSwZ8sHT>gR z5>2D@eD<227G8||4%o(FSrtY$jB!AimjpyTjyR~ac3X=Gi98es=~omaU?7hpsXeQT z$Kz?WbzyS&gluj}qVH`HKtrN=oGi;Q4W)gRGMU?35L zNT3demWmdDm4c9taw&KsidVM4#0m#FrQ_0y0mTa9)CXE{13BC&2TTf37#x~n-HKdb z@%YlLVVeZ;jT`@!6IVY#;|r;HToQA-0m%ASt$xUNP|2ujT1z>^@T(O+il5TF zW8vNU>V5^YlXiT|H3a)&y%+Xm)jzX*b8l|$Ldg>&k?eXCRQ?ptCf2%V=ilu&;h*?K zK0f%nK@k*4wYixKe{{A-^Q->=vTyAQ-?JCSn=gvz!_sPyTU$*O)-cW^X#n+{j7D1l!PpLg{(Ib@xjQ!ub$*B6nof!G1Q8N&q9rz6?5KyZExGZU;VQt z(ClaUeQ%&xXfjOJ@uk_CSxlJw#{d8^`q$Y%@J7EE+-rZcMxo)vck?uTep~_BTn5Om z%gbpNX#`f=q>zuh6lIU-E4}!C;r{^IZu3i*!=DPYe;K8%iX>=Y1x@iC7Ugp{8I50mM`K>OzHEi zmcvq??9#7E6U=Nd_9DHT!$0s&PusKNEUR&M@Mm0MBMeQiUKPi=-#*Hi4+_nDz1X%H^X&)YZU*Q*!h1R?(B`A8AieBG? z*VMXDT_fUE#+egf5ZD>(hOR^QTmJxpZE3%Q7{a@oWI@Y5Vgtm!kZD-{~M1u#C zdv)pBy00B-Ho9-cIIk^PT04oE6_b(cfN5FZK$PQFrkhyw%`)fYUOt%bT2bCPz~B#h z<*YR@v5mf&tMTfpz?LIE#K+TF}omfjFUrnjxaJC2kX?-rPYsa zr&Il)cNPtUp2mTCcW2B$iLOcfNeCRtfDf%i-Ykh!0VXlptEPjzj>u|4GnQe2_j5@m zs)wrqo^lOw6L`H9Lj9wG`kIDs7>%bA5&-$IC|leuHg_+rDI0{}H>PQitA*#x>B%{- zJ-qR>aL4D*I7s`mwg=~2$B6#`Xs?F87*Q{Xej#Y~OUMT6P(}W{(v+7*TwyoR_9xfk z1f$E&dm4sM5x}QA^Uplj%=+*A6bJTd(gTa1ixxBN>b6SL6ZG0Ei19D{6${|SjExR~ z;olSLWDk-^tOQDb@8%5>nlw}@OG_VRKZ>naC1(73R8x4y-8#%Va0%^S0_#8UR1XqN zc6fi_{ENGz>Uxr=9gY!AaeDXs6jSz<)MbC{dv6YDk)9X*5$1LF$sixfquO6%PpZ3G z=jkNAI=9_~lRR_>tyjA7qXpgr1?$$oEj8cT>-LoK61wVt7;bG*hcW4PQ9+NP!8OL~ zK0NWSh-J>d@h8N0z&9yzt4p`?1XJdpLcXgMwP)(ri9R^^Kf|yz{vh$5nPUu9D~o`p89b8o&G%B*?Nw z;V*+4gYJGN)b%Lh8242Se=7MVYx{+h4E*Q#MKIjEe8y6F>FZIg^=7fBNi7ldPPzX8 z1ts|Te&sYD3ixYIPvJ9}Zde~)c8|`u{{Rqv+aI+*hzUu)E5l+BZ7WHNB0hxXyo_8B zd2%v)3PQl9;uqTkHC(qvB$L?bwZDp=6TDHmd_(bv#J9VT?-1(Fs(rSp0=e6pZ94V* z%jKHov-hs99z*{Cj}uWy<&+biorMA48B^QRmn;^;=40bsJ_DP32vCme7^$A{wp0)} z>@igqOy}k4>M32Aj(`tg%?TnIVXmY+B!uyd(|pnwcJ|JBB=@KT?mUgS>BT#KGC}9q zR-W%bvuKmdC354fHQhpxgPd_l8Q32$C%rRy0}fC9^Hmg{!qo#vHUQbqdJ#;Kl?Wu0 z&rH!K9OEoK#Wj(^CC)}hIH6rViP`8=y9ykg+-IdwnnS#RGmlEqz5^ht=RNyYeBcJ! z7=1wRP~`8aQFbX@ic(D_b9R|B4SrkXZdqUMEi)*7rgSr}OcNw2H^ z5?_m*BLfG`vT#S$NUxFOVveu7IBuA)r~U!o`I>c;?!aUL#eS9H-XW}2S{)j{^Csdxe1lbHWf))%4|>w^k_dIj9Z5X#)0)eilO9HTSLybPS3WwP zv544Gm#dcl`xhZ#S*(3LZaUWXb_4o~zzj1Ed6qJm9HND}P z*ckp{ki($&ujfp4H%k*Zc5m}PT*t*#!YADyYIrj0IkX#BR{sE&KsJ7rsLWndwDIVD zE1URddG^l-+1w{AU>GN+Yob?DrU?4i=gCEc?YLj7z5v$Oq^nsSad#}%^_Lt3URECt)Eu#aYv&Xzrtw9)xjc(kJ+>Ki}9tmk3KH=vU_&7wOB+JS4x|dbIT63 zpP>HAzwk{Dhv2h;nZ(9&+DNj8_47CyDh7xeR)eM;3li5EJ^-Q$*BUsh?Sw z+#vveD$ORuw2tSw=^qpS0A;U-kp%Duzzr%dEMhWrsD?fFKQ%U``)=N8s$lT{0EP6s zG5jG2Tz|k(Mr*>?!`f;w7Z(p9ZoX@7H6&VZhpbSMZ5YqpIPX=+7b;9nY5bmuobPy};@#!gWvEci_gB8aOq{?#hhf*3sA>#0*zAsQ&=LLi{rl5utc1 zR=7L9Q!dEV{$`C4r?aa*huJp%DOjTfN)AR2YGdO#fd2qoI&cZEgmqu|C`XT_1#~Y0 z*~AFpuCGZW{sI(_*13&a_S*fSHAcegx@D5LL2Y75U&OaHT>1~{(&~PQzm0bt%H*7J zil=q)9@5YkxV?@&ys?r{zs%R>zO(y5{AuwFWi>B~`liFi%Vt=C{Dyy8<#j!GRn?h> zwc;&S{{THw>rj!$^Tkgzuc2!Uy0i4RU;U=O82D@z*Zw1EHix*9`APjVTyD4j00jd5 zpEQH}uZSyl+2M5ica)#OMSgrFT4?!~ONf#`i2?p~JKj8CM-f#}cnUZa+@#i}`wB7N zQ|#{$f5A?^9$L&|(L5dE9Yg!BwyP4K`|N}IS1+yq0KrUrUvf8iXW>*9;~y-#hNqGb zY^o{#b@H>`O}h&rBhxg7;&PnicE)Km?YU|+;lK^3 z55=0f9eeho{h+)=zwt8o!>Ps_A=1hy;$Ogp$o%WgRh%5|EJt>w6EHa503VipC|eco zt&y>+_@l&{o!*|+339;kjP^9p8z(0q<38L_tb>~CQo~4H0b)nen$FAegY_r1L?2)o zP%+NX4J$ha+n!E%qnkk2apG4eEWm?~N3AcN@`4oeP_LG<0HEg>z!c_X2Pcui;+5{T z6PIK>$Vecm9e~GLK=L5KZt&PQ5NAt{2{{3*u3+?Ip)vBnpIdCzKe zgd*hqX|X8)o_L~7-4CZs)h0b!6f+T=_NEyzmJQA@4{!*SGx;1?ntBncXalp5B$Q*R*PB;s@(zJ?w7`2v+ zM!-{^{Z1-2k;o&jJONH}IPXj>H*ID5^U|r#>p>z5#Vms$1MDk4U{|Q`#zkJb0oN*6 zbDUb z*}%c;(AUn(Ss#w(6x}R!Mdrkn+8_csAbN@^vPfb%C+cXST;soU^U&FX4%I%@UPz2* z1lGzxRd((A^Huc=H8Gh2at9U78ou?J{R0aA^^D3WBL@bG=uGQO2^4dllyjc6g|Kmo zcDfybgB}G4yJ>UlMK#!0uu|Z6JW>OWwBW=ZxWyp=z$6Zyq);0j2X5k!=RaBqVU=aU z2a!xfsN*AmeT^(`smS&8sF&v9nw`;x-aY6Qk4E@6@rG}Qcg9PFX106>PlxA8ty=5$pA@mIR@A>)(oTnX!nD0O$biReLQAWkQulc_Zmr z+`q~SdGjjs`PV(Ge%wD2ucKwtJTa$QGYl(9D@lR$z^@AXT)=?LPvb|J&Q2KcJN2b^ za9DaPq3Sx1?N9NyP>h%HMZK`+{ynWa52+@(onPXw#C>S9>Rvz9B@g$4+-wK_`2x9M z%)@YEaly}Oddf-U@j*%vj>xxpe>R}POY6Ifli1HYKmLSjEw;)*OH|Hy%JirS!Q8BO zcQ~acUNCoY-jQ}}xNe9*5cBDZMYv}fCm22Ix_qF5exKt~D9H7vbzwDPRc0N@=8rVv ztwtEGRFADmXd#mBDDGQqMn&@q^$DMtk9=m00@oy09{CiZ*&BH$lh7LIekd=)D?M^6 zKZN&JH#&M+C!0OsD$Oi2Vb`ds03>C@k?@FX_q-Q?VGXO|d7$=O; z%NAVc80b1xY=JwigPw{&An}?vDB!m2pURR%2&?8cNj(KbP~>HCo`RCxYVSf%n{fFH zW8bwXW>v!gbIvKMgb+->T6V<2+(|j(ngOu`jFlgiJZ&Upe(23LTMikU98gFZJC8hb zRIg!kJM2y8?)g+yWkQmB;+n0rWMe+GhGNUP4mj>8()tZuI}cehndk8ohpq`e-t@)G zA1@=P12~`+;1>XN!Rbd)TT$x7@yW*&s!%x~;L>F5Wx!*eFe#p69xz5Y=8d-v_9P^+ z8xA?{I@61=Cj*aM)FNPj@;ds`nPSKxvy;fqC{Iyt$r3@x$32ZmWEkA*k9w}p3k|Hm zj`Y4_sN<$RY26JpiMNLYf%xK@8JOe)*Yl_vc-NF}gSAMKvjLXQd)0f5Xb*9d0wT#Z zn?8Q|IKkqyu3bpl4mj)US@${H^0&>}lD*1}inD+TI5;D%Qu$PpYV5$sNH3fmbgEK- ztUv;U?Cfh1ROgXiq5D1G2&I++-41$JmZ3j|cb@{T+AV$H&I1qWUrWN3-3<1Py1RYn zm!48pGPJbXIa-i33Hk~uX#;#h( z`J?uv(!R^_9(#z>9&BoVO5pT2B1Ir`>}%J5Yi%{##PQys%w`Y+d)JX^(Ug<`d-Gq4 z@n#j%&1T + + aikit_280_pi + 0.0.0 + The aikit_280_pi package + + + + + wang + + + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + mycobot_280 + mycobot_280 + mycobot_280 + + + + + + + + diff --git a/mycobot_ai/aikit_280_pi/prof.calltree b/mycobot_ai/aikit_280_pi/prof.calltree new file mode 100644 index 0000000..adace80 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/prof.calltree @@ -0,0 +1,21703 @@ +event: ns : Nanoseconds +events: ns +summary: 302460620000 +fl=/build/python2.7-MQK6UF/python2.7-2.7.17/Modules/pyexpat.c +fn=CharacterData +443 65999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=data +calls=67 822 +443 101000 + +fl=/build/python2.7-MQK6UF/python2.7-2.7.17/Modules/pyexpat.c +fn=StartElement +571 70999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=start +calls=64 813 +571 218999 + +fl=/build/python2.7-MQK6UF/python2.7-2.7.17/Modules/pyexpat.c +fn=EndElement +623 107000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=end +calls=64 825 +623 624000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/__init__.py +fn= +1 1000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotAngles.py +fn= +2 596000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotAngles.py +cfn=MycobotAngles +calls=1 10 +2 6000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotAngles.py +fn=MycobotAngles +10 6000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotCoords.py +fn= +2 75999 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotCoords.py +cfn=MycobotCoords +calls=1 10 +2 5000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotCoords.py +fn=MycobotCoords +10 5000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotGripperStatus.py +fn= +2 96000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotGripperStatus.py +cfn=MycobotGripperStatus +calls=1 10 +2 6000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotGripperStatus.py +fn=MycobotGripperStatus +10 6000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotPumpStatus.py +fn= +2 70999 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotPumpStatus.py +cfn=MycobotPumpStatus +calls=1 10 +2 4000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotPumpStatus.py +fn=MycobotPumpStatus +10 4000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotPumpStatus.py +fn=__init__ +19 1000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetAngles.py +fn= +2 88000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetAngles.py +cfn=MycobotSetAngles +calls=1 10 +2 6000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetAngles.py +fn=MycobotSetAngles +10 6000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetAngles.py +fn=__init__ +26 5000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetCoords.py +fn= +2 75999 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetCoords.py +cfn=MycobotSetCoords +calls=1 10 +2 5000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetCoords.py +fn=MycobotSetCoords +10 5000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetCoords.py +fn=__init__ +27 4000 + +fl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/__init__.py +fn= +1 6852000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotAngles.py +cfn= +calls=1 2 +1 602000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotCoords.py +cfn= +calls=1 2 +1 80999 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotGripperStatus.py +cfn= +calls=1 2 +1 102000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotPumpStatus.py +cfn= +calls=1 2 +1 75000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetAngles.py +cfn= +calls=1 2 +1 94000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetCoords.py +cfn= +calls=1 2 +1 80999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/catkin/__init__.py +fn= +1 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/catkin/find_in_workspaces.py +fn= +33 7802000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/catkin/workspace.py +cfn= +calls=1 33 +33 14000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/__init__.py +cfn= +calls=1 33 +33 3000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py +cfn= +calls=1 33 +33 103531000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/catkin/workspace.py +fn= +33 14000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/__init__.py +fn= +33 1794000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/base.py +cfn= +calls=1 33 +33 13561000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/gentools.py +cfn= +calls=1 37 +33 8543000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/base.py +fn= +33 3891000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/base.py +cfn=InvalidMsgSpec +calls=1 70 +33 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/base.py +cfn=MsgGenerationException +calls=1 73 +33 2000 +cfl=/usr/lib/python2.7/inspect.py +cfn= +calls=1 25 +33 9666000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/base.py +fn=InvalidMsgSpec +70 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/base.py +fn=MsgGenerationException +73 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/gentools.py +fn= +37 4932000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msg_loader.py +cfn= +calls=1 33 +37 1385000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +cfn= +calls=1 33 +37 2226000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msg_loader.py +fn= +33 1183000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msg_loader.py +cfn=MsgNotFound +calls=1 58 +33 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msg_loader.py +cfn=MsgContext +calls=1 357 +33 13000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/srvs.py +cfn= +calls=1 36 +33 187000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msg_loader.py +fn=MsgNotFound +58 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msg_loader.py +fn=MsgContext +357 13000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +fn= +33 837000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +cfn=Constant +calls=1 158 +33 314000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +cfn=Field +calls=1 196 +33 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +cfn=MsgSpec +calls=1 228 +33 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/names.py +cfn= +calls=1 33 +33 1068000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +fn=Constant +158 314000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +fn=Field +196 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/msgs.py +fn=MsgSpec +228 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/names.py +fn= +33 133000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=2 192 +33 935000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/srvs.py +fn= +36 181999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/srvs.py +cfn=SrvSpec +calls=1 43 +36 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/srvs.py +fn=SrvSpec +43 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/__init__.py +fn= +33 3619000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn= +calls=1 38 +33 322403999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn= +calls=1 33 +33 547000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/base.py +fn= +36 18999 +cfl=~ +cfn= +calls=1 0 +36 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn= +38 10111000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genmsg/__init__.py +cfn= +calls=1 33 +38 23898000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/base.py +cfn= +calls=1 36 +38 21000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn=RosMsgUnicodeErrors +calls=1 79 +38 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn=__init__ +calls=1 80 +38 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn=MessageException +calls=1 104 +38 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn=DeserializationError +calls=1 110 +38 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn=SerializationError +calls=1 116 +38 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +cfn=Message +calls=1 330 +38 7000 +cfl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +cfn= +calls=1 2 +38 288350999 +cfl=~ +cfn=<_codecs.register_error> +calls=1 0 +38 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn=RosMsgUnicodeErrors +79 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn=__init__ +80 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn=MessageException +104 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn=DeserializationError +110 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn=SerializationError +116 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py +fn=Message +330 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn= +33 509000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=TVal +calls=1 47 +33 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=Time +calls=1 190 +33 8000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=Duration +calls=1 287 +33 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=_canon +39 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=TVal +47 18000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=__init__:59 +59 31000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=_canon +calls=2 39 +59 4000 +cfl=~ +cfn= +calls=2 0 +59 156000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=Time +190 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=__init__:200 +200 12000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=__init__:59 +calls=1 59 +200 175000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=Duration +287 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +fn=__init__:298 +298 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=__init__:59 +calls=1 59 +298 16000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/__init__.py +fn= +1 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Accel.py +fn= +2 797000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Accel.py +cfn=Accel +calls=1 11 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Accel.py +fn=Accel +11 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelStamped.py +fn= +2 291000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelStamped.py +cfn=AccelStamped +calls=1 12 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelStamped.py +fn=AccelStamped +12 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovariance.py +fn= +2 129999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovariance.py +cfn=AccelWithCovariance +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovariance.py +fn=AccelWithCovariance +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovarianceStamped.py +fn= +2 145000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovarianceStamped.py +cfn=AccelWithCovarianceStamped +calls=1 12 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovarianceStamped.py +fn=AccelWithCovarianceStamped +12 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Inertia.py +fn= +2 130999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Inertia.py +cfn=Inertia +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Inertia.py +fn=Inertia +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_InertiaStamped.py +fn= +2 136000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_InertiaStamped.py +cfn=InertiaStamped +calls=1 12 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_InertiaStamped.py +fn=InertiaStamped +12 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point.py +fn= +2 196000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point.py +cfn=Point +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point.py +fn=Point +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point.py +fn=__init__ +22 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point32.py +fn= +2 107000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point32.py +cfn=Point32 +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point32.py +fn=Point32 +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PointStamped.py +fn= +2 139000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PointStamped.py +cfn=PointStamped +calls=1 12 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PointStamped.py +fn=PointStamped +12 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Polygon.py +fn= +2 122999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Polygon.py +cfn=Polygon +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Polygon.py +fn=Polygon +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PolygonStamped.py +fn= +2 139000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PolygonStamped.py +cfn=PolygonStamped +calls=1 12 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PolygonStamped.py +fn=PolygonStamped +12 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose.py +fn= +2 116000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose.py +cfn=Pose +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose.py +fn=Pose +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose.py +fn=__init__ +38 12000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point.py +cfn=__init__ +calls=1 22 +38 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Quaternion.py +cfn=__init__ +calls=1 24 +38 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose2D.py +fn= +2 116000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose2D.py +cfn=Pose2D +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose2D.py +fn=Pose2D +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseArray.py +fn= +2 151999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseArray.py +cfn=PoseArray +calls=1 12 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseArray.py +fn=PoseArray +12 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseStamped.py +fn= +2 483000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseStamped.py +cfn=PoseStamped +calls=1 12 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseStamped.py +fn=PoseStamped +12 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovariance.py +fn= +2 129999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovariance.py +cfn=PoseWithCovariance +calls=1 11 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovariance.py +fn=PoseWithCovariance +11 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovarianceStamped.py +fn= +2 149000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovarianceStamped.py +cfn=PoseWithCovarianceStamped +calls=1 12 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovarianceStamped.py +fn=PoseWithCovarianceStamped +12 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Quaternion.py +fn= +2 118999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Quaternion.py +cfn=Quaternion +calls=1 10 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Quaternion.py +fn=Quaternion +10 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Quaternion.py +fn=__init__ +24 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_QuaternionStamped.py +fn= +2 145000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_QuaternionStamped.py +cfn=QuaternionStamped +calls=1 12 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_QuaternionStamped.py +fn=QuaternionStamped +12 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Transform.py +fn= +2 127000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Transform.py +cfn=Transform +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Transform.py +fn=Transform +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TransformStamped.py +fn= +2 157000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TransformStamped.py +cfn=TransformStamped +calls=1 12 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TransformStamped.py +fn=TransformStamped +12 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Twist.py +fn= +2 129999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Twist.py +cfn=Twist +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Twist.py +fn=Twist +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistStamped.py +fn= +2 140999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistStamped.py +cfn=TwistStamped +calls=1 12 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistStamped.py +fn=TwistStamped +12 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovariance.py +fn= +2 145000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovariance.py +cfn=TwistWithCovariance +calls=1 11 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovariance.py +fn=TwistWithCovariance +11 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovarianceStamped.py +fn= +2 149000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovarianceStamped.py +cfn=TwistWithCovarianceStamped +calls=1 12 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovarianceStamped.py +fn=TwistWithCovarianceStamped +12 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3.py +fn= +2 128999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3.py +cfn=Vector3 +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3.py +fn=Vector3 +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3.py +fn=__init__ +27 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3Stamped.py +fn= +2 140999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3Stamped.py +cfn=Vector3Stamped +calls=1 12 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3Stamped.py +fn=Vector3Stamped +12 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Wrench.py +fn= +2 128999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Wrench.py +cfn=Wrench +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Wrench.py +fn=Wrench +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_WrenchStamped.py +fn= +2 461999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_WrenchStamped.py +cfn=WrenchStamped +calls=1 12 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_WrenchStamped.py +fn=WrenchStamped +12 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/__init__.py +fn= +1 120665000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Accel.py +cfn= +calls=1 2 +1 806000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelStamped.py +cfn= +calls=1 2 +1 296000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovariance.py +cfn= +calls=1 2 +1 135000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_AccelWithCovarianceStamped.py +cfn= +calls=1 2 +1 150000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Inertia.py +cfn= +calls=1 2 +1 137000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_InertiaStamped.py +cfn= +calls=1 2 +1 144000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point.py +cfn= +calls=1 2 +1 202000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Point32.py +cfn= +calls=1 2 +1 113000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PointStamped.py +cfn= +calls=1 2 +1 146000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Polygon.py +cfn= +calls=1 2 +1 128000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PolygonStamped.py +cfn= +calls=1 2 +1 147000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose.py +cfn= +calls=1 2 +1 121000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose2D.py +cfn= +calls=1 2 +1 122000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseArray.py +cfn= +calls=1 2 +1 159000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseStamped.py +cfn= +calls=1 2 +1 490000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovariance.py +cfn= +calls=1 2 +1 139000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_PoseWithCovarianceStamped.py +cfn= +calls=1 2 +1 155000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Quaternion.py +cfn= +calls=1 2 +1 126000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_QuaternionStamped.py +cfn= +calls=1 2 +1 153000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Transform.py +cfn= +calls=1 2 +1 131999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TransformStamped.py +cfn= +calls=1 2 +1 163000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Twist.py +cfn= +calls=1 2 +1 136000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistStamped.py +cfn= +calls=1 2 +1 148000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovariance.py +cfn= +calls=1 2 +1 153000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_TwistWithCovarianceStamped.py +cfn= +calls=1 2 +1 156000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3.py +cfn= +calls=1 2 +1 135000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3Stamped.py +cfn= +calls=1 2 +1 146000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Wrench.py +cfn= +calls=1 2 +1 134000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_WrenchStamped.py +cfn= +calls=1 2 +1 470999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/__init__.py +fn= +1 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/msg/_Logger.py +fn= +2 554000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/msg/_Logger.py +cfn=Logger +calls=1 10 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/msg/_Logger.py +fn=Logger +10 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/msg/__init__.py +fn= +1 3715000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/msg/_Logger.py +cfn= +calls=1 2 +1 563000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +fn= +2 993000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +cfn=EmptyRequest +calls=1 10 +2 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +cfn=EmptyResponse +calls=1 103 +2 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +cfn=Empty +calls=1 187 +2 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +fn=EmptyRequest +10 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +fn=EmptyResponse +103 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +fn=Empty +187 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +fn= +2 1787999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/msg/__init__.py +cfn= +calls=1 1 +2 4278000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +cfn=GetLoggersRequest +calls=1 10 +2 6000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +cfn=GetLoggersResponse +calls=1 104 +2 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +cfn=GetLoggers +calls=1 281 +2 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +fn=GetLoggersRequest +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +fn=GetLoggersResponse +104 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +fn=GetLoggers +281 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +fn= +2 461999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +cfn=SetLoggerLevelRequest +calls=1 10 +2 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +cfn=SetLoggerLevelResponse +calls=1 171 +2 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +cfn=SetLoggerLevel +calls=1 255 +2 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +fn=SetLoggerLevelRequest +10 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +fn=SetLoggerLevelResponse +171 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +fn=SetLoggerLevel +255 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/__init__.py +fn= +1 14958000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_Empty.py +cfn= +calls=1 2 +1 1003999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_GetLoggers.py +cfn= +calls=1 2 +1 6081000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/_SetLoggerLevel.py +cfn= +calls=1 2 +1 475000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/__init__.py +fn= +33 3784000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +cfn= +calls=1 38 +33 111830000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/rosenv.py +cfn= +calls=1 33 +33 204000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +fn= +38 3453000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +cfn=MasterException +calls=1 49 +38 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +cfn=MasterFailure +calls=1 55 +38 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +cfn=MasterError +calls=1 62 +38 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +cfn=Master +calls=1 82 +38 56000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn= +calls=1 37 +38 2204000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn= +calls=1 35 +38 106110000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +fn=MasterException +49 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +fn=MasterFailure +55 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +fn=MasterError +62 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/masterapi.py +fn=Master +82 56000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn= +37 193000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=3 192 +37 2010999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=isstring +58 10000 +cfl=~ +cfn= +calls=5 0 +58 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=get_ros_namespace +65 17000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=make_global_ns +calls=1 95 +65 10000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=1 91 +65 10000 +cfl=~ +cfn= +calls=1 0 +65 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=make_global_ns +95 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_global +calls=1 114 +95 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_private +calls=1 125 +95 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=is_global +114 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=is_private +125 22000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=namespace +135 28000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=isstring +calls=5 58 +135 18000 +cfl=~ +cfn= +calls=5 0 +135 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=ns_join +160 24000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_global +calls=5 114 +160 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_private +calls=5 125 +160 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=load_mappings +182 14999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_legal_remap +calls=1 248 +182 16000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=is_legal_name +216 46000 +cfl=~ +cfn= +calls=7 0 +216 8000 +cfl=~ +cfn= +calls=7 0 +216 54000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=is_legal_base_name +236 8000 +cfl=~ +cfn= +calls=1 0 +236 2000 +cfl=~ +cfn= +calls=1 0 +236 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=is_legal_remap +248 11000 +cfl=~ +cfn= +calls=2 0 +248 32999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=canonicalize_name +257 29999 +cfl=~ +cfn= +calls=4 0 +257 5000 +cfl=~ +cfn= +calls=4 0 +257 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +fn=resolve_name +271 24000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_private +calls=4 125 +271 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=namespace +calls=4 135 +271 42000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=canonicalize_name +calls=4 257 +271 47000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +fn= +41 4408000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=ROSHandshakeException +calls=1 299 +41 2000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +41 347000 +cfl=/usr/lib/python2.7/platform.py +cfn=system +calls=1 1314 +41 29058999 +cfl=/usr/lib/python2.7/urllib.py +cfn= +calls=1 23 +41 1916000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +fn=get_address_override +101 82000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__getitem__ +calls=4 35 +101 5000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=4 103 +101 4000 +cfl=/usr/lib/python2.7/urlparse.py +cfn=urlparse +calls=4 137 +101 94999 +cfl=~ +cfn= +calls=4 0 +101 6000 +cfl=~ +cfn= +calls=8 0 +101 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +fn=use_ipv6 +238 14999 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=3 103 +238 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +fn=get_bind_address +241 11000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=get_address_override +calls=2 101 +241 84999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=use_ipv6 +calls=2 238 +241 7000 +cfl=~ +cfn= +calls=2 0 +241 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +fn=get_host_name +265 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=get_address_override +calls=2 101 +265 114999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +fn=ROSHandshakeException +299 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/rosenv.py +fn= +33 204000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/rosenv.py +fn=get_master_uri +46 28000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=2 91 +46 20000 +cfl=~ +cfn= +calls=2 0 +46 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn= +35 2970999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn=LoggingException +calls=1 49 +35 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn=RospyLogger +calls=1 51 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn=RosStreamHandler +calls=1 229 +35 3000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:391 +calls=1 391 +35 4000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=setLoggerClass +calls=1 997 +35 6000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLoggerClass +calls=1 1010 +35 2000 +cfl=/usr/lib/python2.7/logging/config.py +cfn= +calls=1 25 +35 8142999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn=LoggingException +49 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn=RospyLogger +51 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn=findCaller +52 208999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=findCaller +calls=6 1240 +52 157000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=normcase +calls=24 44 +52 7000 +cfl=~ +cfn= +calls=18 0 +52 5000 +cfl=~ +cfn= +calls=6 0 +52 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn=configure_logging +105 185000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=1 91 +105 3000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_ros_home +calls=1 120 +105 21000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_log_dir +calls=1 139 +105 70000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_etc_ros_dir +calls=1 213 +105 7000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=get_path +calls=1 199 +105 416107000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=__init__:330 +calls=1 330 +105 87000 +cfl=/usr/lib/python2.7/genericpath.py +cfn=exists +calls=1 23 +105 34000 +cfl=/usr/lib/python2.7/genericpath.py +cfn=isfile +calls=5 34 +105 1498000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=fileConfig +calls=1 60 +105 11335999 +cfl=/usr/lib/python2.7/os.py +cfn=__setitem__ +calls=1 472 +105 26000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=6 61 +105 22000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=dirname +calls=1 120 +105 7000 +cfl=~ +cfn= +calls=1 0 +105 1000 +cfl=~ +cfn= +calls=1 0 +105 2000 +cfl=~ +cfn= +calls=3 0 +105 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn=RosStreamHandler +229 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +fn=__init__ +230 173000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:672 +calls=1 672 +230 41000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn= +35 11477000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn= +calls=1 41 +35 35732000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=SilenceableXMLRPCRequestHandler +calls=1 103 +35 87000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=ThreadingXMLRPCServer +calls=1 111 +35 20000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=ForkingXMLRPCServer +calls=1 161 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=XmlRpcHandler +calls=1 170 +35 6000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=XmlRpcNode +calls=1 188 +35 27000 +cfl=/usr/lib/python2.7/SimpleXMLRPCServer.py +cfn= +calls=1 97 +35 58759000 +cfl=~ +cfn= +calls=1 0 +35 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=_support_http_1_1 +81 48000 +cfl=/usr/lib/python2.7/platform.py +cfn=system +calls=2 1314 +81 8000 +cfl=/usr/lib/python2.7/platform.py +cfn=release +calls=2 1333 +81 27000 +cfl=~ +cfn= +calls=2 0 +81 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=SilenceableXMLRPCRequestHandler +103 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=_support_http_1_1 +calls=1 81 +103 82000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=ThreadingXMLRPCServer +111 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=_support_http_1_1 +calls=1 81 +111 13000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=ForkingXMLRPCServer +161 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=XmlRpcHandler +170 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=XmlRpcNode +188 27000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=__init__ +195 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +fn=start +233 18000 +cfl=~ +cfn= +calls=1 0 +233 188000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/__init__.py +fn= +1 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Clock.py +fn= +2 553000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Clock.py +cfn=Clock +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Clock.py +fn=Clock +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Log.py +fn= +2 307000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Log.py +cfn=Log +calls=1 11 +2 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Log.py +fn=Log +11 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_TopicStatistics.py +fn= +2 154000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_TopicStatistics.py +cfn=TopicStatistics +calls=1 11 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_TopicStatistics.py +fn=TopicStatistics +11 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/__init__.py +fn= +1 22417000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Clock.py +cfn= +calls=1 2 +1 558999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_Log.py +cfn= +calls=1 2 +1 317000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/_TopicStatistics.py +cfn= +calls=1 2 +1 160999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/__init__.py +fn= +46 1885999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/launcher.py +cfn= +calls=1 37 +46 48194999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py +cfn= +calls=1 40 +46 131780999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/__init__.py +fn=is_interactive +72 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/exceptions.py +fn= +38 82000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/exceptions.py +cfn=ROSLibException +calls=1 41 +38 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/exceptions.py +fn=ROSLibException +41 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/launcher.py +fn= +37 6366999 +cfl=/usr/lib/python2.7/dist-packages/rospkg/__init__.py +cfn= +calls=1 35 +37 41657000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=__init__:330 +calls=1 330 +37 170999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifest.py +fn= +41 1759999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifest.py +cfn=Manifest +calls=1 57 +41 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn= +calls=1 40 +41 1272000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifest.py +fn=Manifest +57 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn= +40 1153999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/exceptions.py +cfn= +calls=1 38 +40 84000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=ManifestException +calls=1 57 +40 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=Export +calls=1 218 +40 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=Platform +calls=1 256 +40 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=Depend +calls=1 305 +40 13000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=StackDepend +calls=1 340 +40 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=ROSDep +calls=1 378 +40 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=VersionControl +calls=1 402 +40 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +cfn=_Manifest +calls=1 439 +40 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=ManifestException +57 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=Export +218 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=Platform +256 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=Depend +305 13000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=StackDepend +340 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=ROSDep +378 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=VersionControl +402 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifestlib.py +fn=_Manifest +439 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +fn= +40 8931000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/catkin/__init__.py +cfn= +calls=1 1 +40 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/catkin/find_in_workspaces.py +cfn= +calls=1 33 +40 111349999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/manifest.py +cfn= +calls=1 41 +40 3035000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +cfn=ROSPkgException +calls=1 61 +40 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +cfn=InvalidROSPkgException +calls=1 68 +40 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +cfn=MultipleNodesException +calls=1 75 +40 1000 +cfl=/usr/lib/python2.7/subprocess.py +cfn= +calls=1 31 +40 5992000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +fn=ROSPkgException +61 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +fn=InvalidROSPkgException +68 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +fn=MultipleNodesException +75 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stack_manifest.py +fn= +41 80000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stack_manifest.py +cfn=StackManifest +calls=1 53 +41 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stack_manifest.py +fn=StackManifest +53 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py +fn= +40 2382999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py +cfn= +calls=1 40 +40 129313999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stack_manifest.py +cfn= +calls=1 41 +40 82000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py +cfn=ROSStackException +calls=1 57 +40 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py +cfn=InvalidROSStackException +calls=1 61 +40 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py +fn=ROSStackException +57 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py +fn=InvalidROSStackException +61 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py +fn= +40 10443000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +cfn= +calls=1 37 +40 430046999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msproxy.py +cfn= +calls=1 40 +40 121000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +cfn= +calls=1 35 +40 213000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/__init__.py +cfn= +calls=1 1 +40 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/__init__.py +cfn= +calls=1 1 +40 466622000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +fn= +37 20991000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/__init__.py +cfn= +calls=1 1 +37 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roscpp/srv/__init__.py +cfn= +calls=1 1 +37 22518000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/__init__.py +cfn= +calls=1 33 +37 115817999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/__init__.py +cfn= +calls=1 46 +37 181862000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +cfn=_WFM +calls=1 384 +37 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +cfn=_Unspecified +calls=1 449 +37 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn= +calls=1 35 +37 47649000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/init.py +cfn= +calls=1 39 +37 19561000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +cfn= +calls=1 35 +37 5192000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/simtime.py +cfn= +calls=1 35 +37 34000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn= +calls=1 24 +37 5606000 +cfl=/usr/lib/python2.7/socket.py +cfn= +calls=1 45 +37 10809000 +cfl=~ +cfn= +calls=2 0 +37 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +fn=load_command_line_node_params +87 6000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_legal_remap +calls=1 248 +87 28000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +fn=_init_node_params +174 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +cfn=load_command_line_node_params +calls=1 87 +174 34000 +cfl=~ +cfn= +calls=1 0 +174 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +fn=init_node +190 183000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_legal_base_name +calls=1 236 +190 18999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=resolve_name +calls=1 271 +190 41000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/roslib/__init__.py +cfn=is_interactive +calls=1 72 +190 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +cfn=_init_node_params +calls=1 174 +190 42999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=logdebug +calls=1 186 +190 54999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=set_node_uri +calls=1 372 +190 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=configure_logging +calls=1 382 +190 429434000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=set_initialized +calls=1 429 +190 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=is_shutdown +calls=1 458 +190 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=add_shutdown_hook +calls=1 538 +190 31000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=register_signals +calls=1 619 +190 26000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/init.py +cfn=start_node +calls=1 71 +190 104161999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +cfn=init_rosout +calls=1 64 +190 4666000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +cfn=load_rosout_handlers +calls=1 125 +190 114999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/simtime.py +cfn=init_simtime +calls=1 71 +190 2915000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=__init__:689 +calls=2 689 +190 7581999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=initialize_mappings +calls=1 101 +190 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_mappings +calls=1 144 +190 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_name +calls=1 312 +190 1000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=info +calls=1 1164 +190 939000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +190 46000 +cfl=~ +cfn= +calls=3 0 +190 11000 +cfl=~ +cfn= +calls=1 0 +190 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +fn=_WFM +384 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +fn=_Unspecified +449 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn= +35 10246000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn= +calls=1 35 +35 11132000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/__init__.py +cfn= +calls=1 1 +35 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph_msgs/msg/__init__.py +cfn= +calls=1 1 +35 23454000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=LoggingThrottle +calls=1 206 +35 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=LoggingIdentical +calls=1 252 +35 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=LoggingOnce +calls=1 294 +35 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=deprecated +calls=1 330 +35 61000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=NullHandler +calls=1 407 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=_LockedServerProxy +calls=1 661 +35 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn= +calls=1 35 +35 436000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn= +calls=1 39 +35 1441000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +cfn= +calls=1 40 +35 473000 +cfl=/usr/lib/python2.7/atexit.py +cfn=register +calls=1 37 +35 3000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:672 +calls=1 672 +35 64000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=addHandler +calls=1 1305 +35 21000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=3 1574 +35 296000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=1 114 +35 7000 +cfl=~ +cfn= +calls=1 0 +35 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=_base_logger +158 56000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=debug +calls=7 1152 +158 35000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=7 1574 +158 263999 +cfl=~ +cfn= +calls=7 0 +158 6000 +cfl=~ +cfn= +calls=7 0 +158 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=logdebug +186 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=_base_logger +calls=7 158 +186 363000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=LoggingThrottle +206 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=LoggingIdentical +252 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=LoggingOnce +294 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=deprecated +330 27000 +cfl=/usr/lib/python2.7/functools.py +cfn=update_wrapper +calls=1 17 +330 28000 +cfl=/usr/lib/python2.7/functools.py +cfn=wraps +calls=1 39 +330 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=set_node_uri +372 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=configure_logging +382 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn=configure_logging +calls=1 105 +382 429411999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_mappings +calls=2 144 +382 1000 +cfl=~ +cfn= +calls=1 0 +382 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=NullHandler +407 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=emit +408 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=is_initialized +421 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=set_initialized +429 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=is_shutdown +458 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=_add_shutdown_hook +478 32000 +cfl=/usr/lib/python2.7/threading.py +cfn=acquire +calls=3 147 +478 24999 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:215 +calls=3 215 +478 20000 +cfl=~ +cfn= +calls=3 0 +478 2000 +cfl=~ +cfn= +calls=3 0 +478 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=add_preshutdown_hook +527 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=_add_shutdown_hook +calls=1 478 +527 20000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=add_shutdown_hook +538 6000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=_add_shutdown_hook +calls=2 478 +538 62000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=register_signals +619 14000 +cfl=~ +cfn= +calls=2 0 +619 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=is_topic +628 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=xmlrpcapi +642 51000 +cfl=/usr/lib/python2.7/urlparse.py +cfn=urlparse +calls=5 137 +642 206000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=_LockedServerProxy +661 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +fn=_ServerProxy__request +667 65999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__request +calls=5 1592 +667 13644000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn= +35 428999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=ROSException +calls=1 37 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=ROSSerializationException +calls=1 43 +35 0 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=ROSInitException +calls=1 49 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=ROSInterruptException +calls=1 55 +35 0 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=ROSTimeMovedBackwardsException +calls=1 64 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=ROSInternalException +calls=1 73 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=TransportException +calls=1 79 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=TransportTerminated +calls=1 85 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +cfn=TransportInitError +calls=1 91 +35 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=ROSException +37 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=ROSSerializationException +43 0 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=ROSInitException +49 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=ROSInterruptException +55 0 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=ROSTimeMovedBackwardsException +64 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=ROSInternalException +73 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=TransportException +79 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=TransportTerminated +85 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/exceptions.py +fn=TransportInitError +91 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/__init__.py +fn= +1 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/init.py +fn= +39 2872000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/init.py +cfn=RosStreamHandler +calls=1 109 +39 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn= +calls=1 52 +39 2351000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros.py +cfn= +calls=1 43 +39 14336000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/init.py +fn=start_node +71 94000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/rosenv.py +cfn=get_master_uri +calls=1 46 +71 24999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=__init__ +calls=1 195 +71 10000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py +cfn=start +calls=1 233 +71 206000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=is_shutdown +calls=7 458 +71 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn=__init__ +calls=1 176 +71 160000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn=_is_registered +calls=2 201 +71 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros.py +cfn=init_tcpros +calls=1 52 +71 73000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=_set_caller_id +calls=1 324 +71 184000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=info +calls=2 1164 +71 1382000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=2 1574 +71 125000 +cfl=~ +cfn= +calls=7 0 +71 101878000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/init.py +fn=RosStreamHandler +109 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn= +52 1421000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn=ROSHandler +calls=1 166 +52 663000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/paramserver.py +cfn= +calls=1 33 +52 140000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +52 127000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn=is_publishers_list +90 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn=apivalidate +97 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn=check_validates +111 42000 +cfl=~ +cfn= +calls=12 0 +111 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn=ROSHandler +166 84000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=is_topic +calls=2 628 +166 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn=is_publishers_list +calls=1 90 +166 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn=apivalidate +calls=12 97 +166 11000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +cfn=check_validates +calls=12 111 +166 44999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/validators.py +cfn=non_empty +calls=1 45 +166 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=global_name +calls=1 282 +166 518999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn=__init__ +176 26000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=__init__:188 +calls=1 188 +176 133000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros.py +cfn=get_tcpros_handler +calls=1 61 +176 0 +cfl=~ +cfn= +calls=1 0 +176 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/masterslave.py +fn=_is_registered +201 14999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=is_registered +calls=2 278 +201 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/paramserver.py +fn= +33 136000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/paramserver.py +cfn=ParamServerCache +calls=1 39 +33 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/paramserver.py +fn=ParamServerCache +39 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn= +35 1408999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=Registration +calls=1 73 +35 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=RegistrationListener +calls=1 79 +35 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=RegistrationListeners +calls=1 105 +35 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=__init__:107 +calls=1 107 +35 10000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=RegManager +calls=1 180 +35 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=set_topic_manager +59 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=get_topic_manager +62 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=set_service_manager +66 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=get_service_manager +69 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=Registration +73 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=RegistrationListener +79 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=RegistrationListeners +105 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=__init__:107 +107 9000 +cfl=~ +cfn= +calls=1 0 +107 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=notify_added +142 56999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=reg_added +calls=4 423 +142 11966000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=get_registration_listeners +175 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=RegManager +180 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=__init__:188 +188 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=add_preshutdown_hook +calls=1 527 +188 23000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +188 62000 +cfl=/usr/lib/python2.7/threading.py +cfn=Condition +calls=1 242 +188 29999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=is_registered +278 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +fn=reg_added +423 156000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=is_shutdown +calls=4 458 +423 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=xmlrpcapi +calls=4 642 +423 210999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_name +calls=4 312 +423 4000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=debug +calls=4 1152 +423 24000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__call__ +calls=4 1242 +423 11536999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__getattr__ +calls=4 1618 +423 31000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +fn= +35 2572000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +cfn=RosOutHandler +calls=1 118 +35 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn= +calls=1 64 +35 2617999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +fn=init_rosout +64 26000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:812 +calls=1 812 +64 3682000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=info +calls=2 1164 +64 904000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +64 54000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +fn=RosOutHandler +118 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/rosout.py +fn=load_rosout_handlers +125 12000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:672 +calls=1 672 +125 54999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=addHandler +calls=1 1305 +125 18000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +125 29999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/simtime.py +fn= +35 34000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/simtime.py +fn=_is_use_simtime +54 31000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/rosenv.py +cfn=get_master_uri +calls=1 46 +54 26000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=xmlrpcapi +calls=1 642 +54 46000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_name +calls=1 312 +54 1000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__call__ +calls=1 1242 +54 2188000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__getattr__ +calls=1 1618 +54 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/simtime.py +fn=init_simtime +71 34000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/simtime.py +cfn=_is_use_simtime +calls=1 54 +71 2299000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +cfn=set_rostime_initialized +calls=1 209 +71 2000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=info +calls=1 1164 +71 533000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +71 47000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/statistics.py +fn= +35 263000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/statistics.py +cfn=SubscriberStatisticsLogger +calls=1 45 +35 6000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/statistics.py +cfn=ConnectionStatisticsLogger +calls=1 118 +35 2000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +35 131999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/statistics.py +fn=SubscriberStatisticsLogger +45 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/statistics.py +fn=ConnectionStatisticsLogger +118 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros.py +fn= +43 3073000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +cfn= +calls=1 35 +43 1107000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +cfn=__init__ +calls=1 206 +43 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn= +calls=1 33 +43 10152000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros.py +fn=init_tcpros +52 12000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=init_tcpros_server +calls=1 214 +52 61000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros.py +fn=get_tcpros_handler +61 0 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn= +35 1455000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=TCPServer +calls=1 111 +35 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=TCPROSServer +calls=1 256 +35 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=TCPROSTransportProtocol +calls=1 360 +35 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=TCPROSTransport +calls=1 419 +35 10000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msg.py +cfn= +calls=1 35 +35 114999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +35 104999 +cfl=~ +cfn= +calls=1 0 +35 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=TCPServer +111 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=__init__:118 +118 8000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=_create_server_sock +calls=1 186 +118 417999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=start +138 17000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:647 +calls=1 647 +138 102000 +cfl=/usr/lib/python2.7/threading.py +cfn=start +calls=1 717 +138 356000 +cfl=/usr/lib/python2.7/threading.py +cfn=daemon:1014 +calls=1 1014 +138 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=get_full_addr +177 10000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=get_host_name +calls=2 265 +177 122000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=_create_server_sock +186 49000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=use_ipv6 +calls=1 238 +186 11000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/network.py +cfn=get_bind_address +calls=2 241 +186 104000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=logdebug +calls=2 186 +186 83000 +cfl=/usr/lib/python2.7/socket.py +cfn=__init__:189 +calls=1 189 +186 63000 +cfl=/usr/lib/python2.7/socket.py +cfn=meth +calls=4 227 +186 108000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=init_tcpros_server +214 16000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=add_shutdown_hook +calls=1 538 +214 37000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=__init__:264 +calls=1 264 +214 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=start_tcpros_server +227 9000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=start_server +calls=2 278 +227 923000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=get_tcpros_server_address +237 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=get_address +calls=2 294 +237 140999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=TCPROSServer +256 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=__init__:264 +264 7000 +cfl=~ +cfn= +calls=1 0 +264 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=start_server +278 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=__init__:118 +calls=1 118 +278 426000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=start +calls=1 138 +278 479000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=get_address +294 9000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=get_full_addr +calls=2 177 +294 131999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=TCPROSTransportProtocol +360 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=__init__:367 +367 14000 +cfl=~ +cfn= +calls=2 0 +367 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +fn=TCPROSTransport +419 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +fn= +35 1091999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +cfn=TCPROSSub +calls=1 57 +35 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +cfn=TCPROSPub +calls=1 119 +35 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +cfn=TCPROSHandler +calls=1 198 +35 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +cfn=QueuedConnection +calls=1 370 +35 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +fn=TCPROSSub +57 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +fn=TCPROSPub +119 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +fn=TCPROSHandler +198 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +fn=__init__ +206 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_pubsub.py +fn=QueuedConnection +370 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn= +33 3466000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn= +calls=1 35 +33 1700000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=TCPService +calls=1 259 +33 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=TCPROSServiceClient +calls=1 286 +33 6000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=ServiceProxy +calls=1 387 +33 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=ServiceImpl +calls=1 545 +33 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=Service +calls=1 680 +33 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn= +calls=1 36 +33 4928999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +33 35000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=isstring +71 6000 +cfl=~ +cfn= +calls=2 0 +71 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=TCPService +259 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=__init__:264 +264 17000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=__init__:367 +calls=2 367 +264 18999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=TCPROSServiceClient +286 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=ServiceProxy +387 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=ServiceImpl +545 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=__init__:550 +550 90999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_legal_name +calls=2 216 +550 32000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=logdebug +calls=4 186 +550 243000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=start_tcpros_server +calls=2 227 +550 932000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py +cfn=get_tcpros_server_address +calls=2 237 +550 148000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=isstring +calls=2 71 +550 9000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=__init__:264 +calls=2 264 +550 36000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn=__init__:56 +calls=2 56 +550 160999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=Service +680 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +fn=__init__:689 +689 26000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=get_service_manager +calls=2 69 +689 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py +cfn=__init__:550 +calls=2 550 +689 1651999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn=register +calls=2 97 +689 5902000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +fn= +41 208999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +cfn=Transport +calls=1 63 +41 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +cfn=DeadTransport +calls=1 119 +41 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +cfn=ProtocolHandler +calls=1 166 +41 2000 +cfl=~ +cfn= +calls=1 0 +41 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +fn=Transport +63 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +fn=DeadTransport +119 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +fn=ProtocolHandler +166 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/validators.py +fn= +35 68000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/validators.py +cfn=ParameterInvalid +calls=1 37 +35 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/validators.py +fn=ParameterInvalid +37 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/validators.py +fn=non_empty +45 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msg.py +fn= +35 106000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msg.py +cfn=AnyMsg +calls=1 48 +35 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msg.py +fn=AnyMsg +48 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msg.py +fn=args_kwds_to_message +81 37000 +cfl=~ +cfn= +calls=5 0 +81 6000 +cfl=~ +cfn= +calls=5 0 +81 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msproxy.py +fn= +40 117000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msproxy.py +cfn=MasterProxy +calls=1 70 +40 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msproxy.py +fn=MasterProxy +70 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn= +39 1298000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=get_ros_namespace +calls=1 65 +39 40000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=load_mappings +calls=1 182 +39 31000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/__init__.py +cfn= +calls=1 1 +39 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/validators.py +cfn= +calls=1 35 +39 70000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=isstring +61 14000 +cfl=~ +cfn= +calls=5 0 +61 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=canonicalize_name +64 54000 +cfl=~ +cfn= +calls=9 0 +64 2000 +cfl=~ +cfn= +calls=9 0 +64 14000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=initialize_mappings +101 3000 +cfl=~ +cfn= +calls=1 0 +101 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=resolve_name_without_node_name +118 29999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_private +calls=3 125 +118 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=ns_join +calls=3 160 +118 18999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=resolve_name +calls=3 271 +118 75999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_namespace +calls=3 304 +118 4000 +cfl=~ +cfn= +calls=3 0 +118 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=get_mappings +144 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=resolve_name +163 70000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_private +calls=2 125 +163 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=ns_join +calls=2 160 +163 16000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=canonicalize_name +calls=9 64 +163 70000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=get_name +calls=9 312 +163 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=global_name +282 518999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=get_namespace +304 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=get_name +312 16000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +fn=_set_caller_id +324 169000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=namespace +calls=1 135 +324 14999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +fn= +40 301999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +cfn=Duration +calls=1 59 +40 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +cfn=Time +calls=1 95 +40 74000 +cfl=/usr/lib/python2.7/threading.py +cfn=Condition +calls=1 242 +40 94000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +fn=Duration +59 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +fn=Time +95 74000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/rostime.py +fn=set_rostime_initialized +209 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn= +36 3042000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn= +calls=1 35 +36 1436000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=set_service_manager +calls=1 66 +36 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/transport.py +cfn= +calls=1 41 +36 218999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn=ServiceException +calls=1 50 +36 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn=_Service +calls=1 54 +36 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn=ServiceManager +calls=1 63 +36 5000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +cfn=__init__:66 +calls=1 66 +36 24999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +36 198999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn=ServiceException +50 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn=_Service +54 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn=__init__:56 +56 93000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=resolve_name +calls=2 163 +56 68000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn=ServiceManager +63 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn=__init__:66 +66 9000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=get_registration_listeners +calls=1 175 +66 1000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=1 114 +66 14999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/service.py +fn=register +97 29999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=notify_added +calls=2 142 +97 5830000 +cfl=/usr/lib/python2.7/threading.py +cfn=acquire +calls=2 147 +97 12000 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:215 +calls=2 215 +97 29999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +fn= +35 206000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +cfn=Rate +calls=1 47 +35 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +cfn=TimerEvent +calls=1 167 +35 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +cfn=Timer +calls=1 187 +35 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +fn=Rate +47 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +fn=TimerEvent +167 1000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/timer.py +fn=Timer +187 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn= +64 2033000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=set_topic_manager +calls=1 59 +64 1000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/statistics.py +cfn= +calls=1 35 +64 403000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=Topic +calls=1 116 +64 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=Poller +calls=1 189 +64 8000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=_TopicImpl +calls=1 264 +64 8000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=Subscriber +calls=1 509 +64 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=_SubscriberImpl +calls=1 600 +64 9000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=SubscribeListener +calls=1 771 +64 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=Publisher +calls=1 807 +64 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=_PublisherImpl +calls=1 890 +64 9000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=_TopicManager +calls=1 1118 +64 13000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:1124 +calls=1 1124 +64 75999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +64 44000 +cfl=~ +cfn= +calls=1 0 +64 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=Topic +116 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=__init__:119 +119 198000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/names.py +cfn=is_legal_name +calls=5 216 +119 75999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=is_initialized +calls=5 421 +119 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=get_topic_manager +calls=5 62 +119 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=isstring +calls=5 61 +119 24000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=resolve_name_without_node_name +calls=3 118 +119 138000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=resolve_name +calls=2 163 +119 39000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=acquire_impl +calls=5 1242 +119 7470000 +cfl=~ +cfn= +calls=5 0 +119 6000 +cfl=~ +cfn= +calls=5 0 +119 53000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=Poller +189 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=__init__:194 +194 136000 +cfl=~ +cfn= +calls=10 0 +194 29000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=_TopicImpl +264 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=__init__:271 +271 70999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/names.py +cfn=resolve_name +calls=5 163 +271 63000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:194 +calls=5 194 +271 165000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=5 114 +271 421000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=has_connections +351 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=Subscriber +509 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=_SubscriberImpl +600 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=SubscribeListener +771 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=Publisher +807 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=__init__:812 +812 59999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:119 +calls=5 119 +812 8010999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=enable_latch +calls=1 944 +812 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=set_queue_size +calls=5 951 +812 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=publish:859 +859 93000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=is_initialized +calls=5 421 +859 8000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msg.py +cfn=args_kwds_to_message +calls=5 81 +859 46000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=acquire +calls=5 976 +859 85999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=release +calls=5 981 +859 46000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=publish:1019 +calls=5 1019 +859 28000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=_PublisherImpl +890 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=__init__:895 +895 56999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:271 +calls=5 271 +895 719999 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=5 114 +895 37000 +cfl=~ +cfn= +calls=5 0 +895 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=enable_latch +944 2000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=set_queue_size +951 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=acquire +976 24000 +cfl=/usr/lib/python2.7/threading.py +cfn=acquire +calls=5 147 +976 62000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=release +981 13000 +cfl=/usr/lib/python2.7/threading.py +cfn=release +calls=5 187 +981 32999 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=publish:1019 +1019 18000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=has_connections +calls=5 351 +1019 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=_TopicManager +1118 13000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=__init__:1124 +1124 24000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=info +calls=1 1164 +1124 16000 +cfl=/usr/lib/python2.7/threading.py +cfn=Condition +calls=1 242 +1124 36000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=_add +1179 99000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=notify_added +calls=5 142 +1179 6193000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/registration.py +cfn=get_registration_listeners +calls=5 175 +1179 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=debug +calls=5 1152 +1179 54000 +cfl=/usr/lib/python2.7/threading.py +cfn=__enter__ +calls=5 285 +1179 28000 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:288 +calls=5 288 +1179 63000 +cfl=~ +cfn= +calls=5 0 +1179 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +fn=acquire_impl +1242 87000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:895 +calls=5 895 +1242 821000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=_add +calls=5 1179 +1242 6447000 +cfl=/usr/lib/python2.7/threading.py +cfn=__enter__ +calls=5 285 +1242 64999 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:288 +calls=5 288 +1242 46000 +cfl=~ +cfn= +calls=5 0 +1242 4000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/__init__.py +fn= +1 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Bool.py +fn= +2 1756000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/__init__.py +cfn= +calls=1 33 +2 326570000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Bool.py +cfn=Bool +calls=1 10 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Bool.py +fn=Bool +10 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Byte.py +fn= +2 112000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Byte.py +cfn=Byte +calls=1 10 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Byte.py +fn=Byte +10 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ByteMultiArray.py +fn= +2 292000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ByteMultiArray.py +cfn=ByteMultiArray +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ByteMultiArray.py +fn=ByteMultiArray +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Char.py +fn= +2 108000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Char.py +cfn=Char +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Char.py +fn=Char +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ColorRGBA.py +fn= +2 113000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ColorRGBA.py +cfn=ColorRGBA +calls=1 10 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ColorRGBA.py +fn=ColorRGBA +10 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ColorRGBA.py +fn=__init__ +22 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Duration.py +fn= +2 126000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Duration.py +cfn=Duration +calls=1 11 +2 448000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Duration.py +fn=Duration +11 448000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Empty.py +fn= +2 101000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Empty.py +cfn=Empty +calls=1 10 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Empty.py +fn=Empty +10 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32.py +fn= +2 109999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32.py +cfn=Float32 +calls=1 10 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32.py +fn=Float32 +10 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32MultiArray.py +fn= +2 140000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32MultiArray.py +cfn=Float32MultiArray +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32MultiArray.py +fn=Float32MultiArray +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64.py +fn= +2 109000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64.py +cfn=Float64 +calls=1 10 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64.py +fn=Float64 +10 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64MultiArray.py +fn= +2 143000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64MultiArray.py +cfn=Float64MultiArray +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64MultiArray.py +fn=Float64MultiArray +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Header.py +fn= +2 128999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Header.py +cfn=Header +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Header.py +fn=Header +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Header.py +fn=__init__ +32 16000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=__init__:200 +calls=1 200 +32 187000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16.py +fn= +2 112000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16.py +cfn=Int16 +calls=1 10 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16.py +fn=Int16 +10 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16MultiArray.py +fn= +2 143000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16MultiArray.py +cfn=Int16MultiArray +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16MultiArray.py +fn=Int16MultiArray +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32.py +fn= +2 117000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32.py +cfn=Int32 +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32.py +fn=Int32 +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32MultiArray.py +fn= +2 144000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32MultiArray.py +cfn=Int32MultiArray +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32MultiArray.py +fn=Int32MultiArray +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64.py +fn= +2 113999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64.py +cfn=Int64 +calls=1 10 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64.py +fn=Int64 +10 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64MultiArray.py +fn= +2 143000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64MultiArray.py +cfn=Int64MultiArray +calls=1 11 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64MultiArray.py +fn=Int64MultiArray +11 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8.py +fn= +2 111000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8.py +cfn=Int8 +calls=1 10 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8.py +fn=Int8 +10 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8MultiArray.py +fn= +2 144000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8MultiArray.py +cfn=Int8MultiArray +calls=1 11 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8MultiArray.py +fn=Int8MultiArray +11 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayDimension.py +fn= +2 122999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayDimension.py +cfn=MultiArrayDimension +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayDimension.py +fn=MultiArrayDimension +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayLayout.py +fn= +2 158000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayLayout.py +cfn=MultiArrayLayout +calls=1 11 +2 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayLayout.py +fn=MultiArrayLayout +11 7000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_String.py +fn= +2 124000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_String.py +cfn=String +calls=1 10 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_String.py +fn=String +10 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Time.py +fn= +2 188000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Time.py +cfn=Time +calls=1 11 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Time.py +fn=Time +11 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16.py +fn= +2 106000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16.py +cfn=UInt16 +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16.py +fn=UInt16 +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16MultiArray.py +fn= +2 150000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16MultiArray.py +cfn=UInt16MultiArray +calls=1 11 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16MultiArray.py +fn=UInt16MultiArray +11 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32.py +fn= +2 157000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32.py +cfn=UInt32 +calls=1 10 +2 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32.py +fn=UInt32 +10 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32MultiArray.py +fn= +2 193000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32MultiArray.py +cfn=UInt32MultiArray +calls=1 11 +2 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32MultiArray.py +fn=UInt32MultiArray +11 11000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64.py +fn= +2 161999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64.py +cfn=UInt64 +calls=1 10 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64.py +fn=UInt64 +10 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64MultiArray.py +fn= +2 198000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64MultiArray.py +cfn=UInt64MultiArray +calls=1 11 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64MultiArray.py +fn=UInt64MultiArray +11 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8.py +fn= +2 167000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8.py +cfn=UInt8 +calls=1 10 +2 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8.py +fn=UInt8 +10 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8MultiArray.py +fn= +2 195000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8MultiArray.py +cfn=UInt8MultiArray +calls=1 11 +2 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8MultiArray.py +fn=UInt8MultiArray +11 9000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/__init__.py +fn= +1 133200999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Bool.py +cfn= +calls=1 2 +1 328333999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Byte.py +cfn= +calls=1 2 +1 118999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ByteMultiArray.py +cfn= +calls=1 2 +1 298000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Char.py +cfn= +calls=1 2 +1 113999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ColorRGBA.py +cfn= +calls=1 2 +1 118000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Duration.py +cfn= +calls=1 2 +1 574000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Empty.py +cfn= +calls=1 2 +1 106000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32.py +cfn= +calls=1 2 +1 118999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float32MultiArray.py +cfn= +calls=1 2 +1 146000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64.py +cfn= +calls=1 2 +1 113999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Float64MultiArray.py +cfn= +calls=1 2 +1 148000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Header.py +cfn= +calls=1 2 +1 135000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16.py +cfn= +calls=1 2 +1 118999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int16MultiArray.py +cfn= +calls=1 2 +1 149000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32.py +cfn= +calls=1 2 +1 122999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int32MultiArray.py +cfn= +calls=1 2 +1 150000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64.py +cfn= +calls=1 2 +1 121000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int64MultiArray.py +cfn= +calls=1 2 +1 151999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8.py +cfn= +calls=1 2 +1 116000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Int8MultiArray.py +cfn= +calls=1 2 +1 151999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayDimension.py +cfn= +calls=1 2 +1 128999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_MultiArrayLayout.py +cfn= +calls=1 2 +1 165000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_String.py +cfn= +calls=1 2 +1 128999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Time.py +cfn= +calls=1 2 +1 193000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16.py +cfn= +calls=1 2 +1 112000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt16MultiArray.py +cfn= +calls=1 2 +1 156000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32.py +cfn= +calls=1 2 +1 168000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt32MultiArray.py +cfn= +calls=1 2 +1 204000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64.py +cfn= +calls=1 2 +1 169999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt64MultiArray.py +cfn= +calls=1 2 +1 207000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8.py +cfn= +calls=1 2 +1 177000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_UInt8MultiArray.py +cfn= +calls=1 2 +1 204000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/__init__.py +fn= +1 3000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_ImageMarker.py +fn= +2 9453000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/__init__.py +cfn= +calls=1 1 +2 2000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/__init__.py +cfn= +calls=1 1 +2 126308000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_ImageMarker.py +cfn=ImageMarker +calls=1 13 +2 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_ImageMarker.py +fn=ImageMarker +13 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarker.py +fn= +2 319000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarker.py +cfn=InteractiveMarker +calls=1 14 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarker.py +fn=InteractiveMarker +14 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerControl.py +fn= +2 178000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerControl.py +cfn=InteractiveMarkerControl +calls=1 14 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerControl.py +fn=InteractiveMarkerControl +14 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerFeedback.py +fn= +2 168000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerFeedback.py +cfn=InteractiveMarkerFeedback +calls=1 12 +2 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerFeedback.py +fn=InteractiveMarkerFeedback +12 8000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerInit.py +fn= +2 160000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerInit.py +cfn=InteractiveMarkerInit +calls=1 14 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerInit.py +fn=InteractiveMarkerInit +14 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerPose.py +fn= +2 163000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerPose.py +cfn=InteractiveMarkerPose +calls=1 12 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerPose.py +fn=InteractiveMarkerPose +12 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerUpdate.py +fn= +2 176000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerUpdate.py +cfn=InteractiveMarkerUpdate +calls=1 14 +2 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerUpdate.py +fn=InteractiveMarkerUpdate +14 10000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_Marker.py +fn= +2 183000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_Marker.py +cfn=Marker +calls=1 13 +2 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_Marker.py +fn=Marker +13 12000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_Marker.py +fn=__init__ +140 85999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/genpy/rostime.py +cfn=__init__:298 +calls=1 298 +140 20000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Pose.py +cfn=__init__ +calls=1 38 +140 20000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/geometry_msgs/msg/_Vector3.py +cfn=__init__ +calls=1 27 +140 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_ColorRGBA.py +cfn=__init__ +calls=1 22 +140 7000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Header.py +cfn=__init__ +calls=1 32 +140 203000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MarkerArray.py +fn= +2 179000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MarkerArray.py +cfn=MarkerArray +calls=1 14 +2 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MarkerArray.py +fn=MarkerArray +14 5000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MenuEntry.py +fn= +2 135000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MenuEntry.py +cfn=MenuEntry +calls=1 10 +2 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MenuEntry.py +fn=MenuEntry +10 6000 + +fl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/__init__.py +fn= +1 158497000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_ImageMarker.py +cfn= +calls=1 2 +1 135775000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarker.py +cfn= +calls=1 2 +1 327000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerControl.py +cfn= +calls=1 2 +1 186000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerFeedback.py +cfn= +calls=1 2 +1 176000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerInit.py +cfn= +calls=1 2 +1 166000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerPose.py +cfn= +calls=1 2 +1 169000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_InteractiveMarkerUpdate.py +cfn= +calls=1 2 +1 186000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_Marker.py +cfn= +calls=1 2 +1 195000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MarkerArray.py +cfn= +calls=1 2 +1 184000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_MenuEntry.py +cfn= +calls=1 2 +1 140999 + +fl=/usr/lib/python2.7/BaseHTTPServer.py +fn= +18 80000 +cfl=/usr/lib/python2.7/BaseHTTPServer.py +cfn=HTTPServer +calls=1 102 +18 2000 +cfl=/usr/lib/python2.7/BaseHTTPServer.py +cfn=BaseHTTPRequestHandler +calls=1 114 +18 36000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__init__ +calls=1 343 +18 9000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__enter__ +calls=1 364 +18 7000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__exit__ +calls=1 380 +18 3000 + +fl=/usr/lib/python2.7/BaseHTTPServer.py +fn=HTTPServer +102 2000 + +fl=/usr/lib/python2.7/BaseHTTPServer.py +fn=BaseHTTPRequestHandler +114 32000 +cfl=~ +cfn= +calls=1 0 +114 4000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn= +88 517000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=Error +calls=1 112 +88 13000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=NoSectionError +calls=1 139 +88 1000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=DuplicateSectionError +calls=1 147 +88 1000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=NoOptionError +calls=1 155 +88 1000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=InterpolationError +calls=1 165 +88 1000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=InterpolationMissingOptionError +calls=1 174 +88 0 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=InterpolationSyntaxError +calls=1 188 +88 0 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=InterpolationDepthError +calls=1 192 +88 1000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=ParsingError +calls=1 204 +88 2000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=MissingSectionHeaderError +calls=1 217 +88 2000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=RawConfigParser +calls=1 231 +88 2851000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=_Chainmap +calls=1 558 +88 3000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=ConfigParser +calls=1 588 +88 445000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=SafeConfigParser +calls=1 686 +88 327000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=Error +112 13000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=NoSectionError +139 1000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=DuplicateSectionError +147 1000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=NoOptionError +155 1000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=InterpolationError +165 1000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=InterpolationMissingOptionError +174 0 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=InterpolationSyntaxError +188 0 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=InterpolationDepthError +192 1000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=ParsingError +204 2000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=MissingSectionHeaderError +217 2000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=RawConfigParser +231 29000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=3 192 +231 2822000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=__init__:232 +232 29999 +cfl=/usr/lib/python2.7/collections.py +cfn=__init__ +calls=2 50 +232 75000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=options +274 62000 +cfl=/usr/lib/python2.7/_abcoll.py +cfn=update +calls=5 548 +274 59999 +cfl=/usr/lib/python2.7/abc.py +cfn=__subclasscheck__ +calls=5 148 +274 14999 +cfl=/usr/lib/python2.7/collections.py +cfn=__delitem__ +calls=5 81 +274 36000 +cfl=/usr/lib/python2.7/collections.py +cfn=keys +calls=5 117 +274 32000 +cfl=/usr/lib/python2.7/collections.py +cfn=copy +calls=5 204 +274 414000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=read +285 12000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=_read +calls=1 464 +285 1867999 +cfl=~ +cfn= +calls=1 0 +285 1000 +cfl=~ +cfn= +calls=1 0 +285 1000 +cfl=~ +cfn= +calls=1 0 +285 14000 +cfl=~ +cfn= +calls=1 0 +285 63000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=_get +355 8000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=get +calls=1 590 +355 17000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=getint +358 3000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=_get +calls=1 355 +358 24999 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=optionxform +373 32000 +cfl=~ +cfn= +calls=36 0 +373 18000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=_read +464 580000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=optionxform +calls=18 373 +464 22000 +cfl=/usr/lib/python2.7/collections.py +cfn=__init__ +calls=8 50 +464 161999 +cfl=/usr/lib/python2.7/collections.py +cfn=__setitem__ +calls=52 71 +464 130999 +cfl=/usr/lib/python2.7/collections.py +cfn=values +calls=1 121 +464 21000 +cfl=/usr/lib/python2.7/collections.py +cfn=items +calls=9 125 +464 62000 +cfl=~ +cfn= +calls=26 0 +464 12000 +cfl=~ +cfn= +calls=1 0 +464 1000 +cfl=~ +cfn= +calls=26 0 +464 28000 +cfl=~ +cfn= +calls=26 0 +464 10000 +cfl=~ +cfn= +calls=18 0 +464 5000 +cfl=~ +cfn= +calls=26 0 +464 11000 +cfl=~ +cfn= +calls=44 0 +464 89000 +cfl=~ +cfn= +calls=36 0 +464 678000 +cfl=~ +cfn= +calls=18 0 +464 8000 +cfl=~ +cfn= +calls=26 0 +464 32999 +cfl=~ +cfn= +calls=53 0 +464 14999 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=_Chainmap +558 3000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=__init__:567 +567 13000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=__getitem__ +570 102000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=ConfigParser +588 7000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +588 437999 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=get +590 177000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=optionxform +calls=18 373 +590 28000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=__init__:567 +calls=18 567 +590 13000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=__getitem__ +calls=18 570 +590 102000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=_interpolate +calls=17 657 +590 28000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=_interpolate +657 28000 + +fl=/usr/lib/python2.7/ConfigParser.py +fn=SafeConfigParser +686 4000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +686 323000 + +fl=/usr/lib/python2.7/SimpleXMLRPCServer.py +fn= +97 8936999 +cfl=/usr/lib/python2.7/BaseHTTPServer.py +cfn= +calls=1 18 +97 137000 +cfl=/usr/lib/python2.7/SimpleXMLRPCServer.py +cfn=SimpleXMLRPCDispatcher +calls=1 160 +97 9000 +cfl=/usr/lib/python2.7/SimpleXMLRPCServer.py +cfn=SimpleXMLRPCRequestHandler +calls=1 424 +97 2603000 +cfl=/usr/lib/python2.7/SimpleXMLRPCServer.py +cfn=SimpleXMLRPCServer +calls=1 569 +97 3000 +cfl=/usr/lib/python2.7/SimpleXMLRPCServer.py +cfn=MultiPathXMLRPCServer +calls=1 603 +97 4000 +cfl=/usr/lib/python2.7/SimpleXMLRPCServer.py +cfn=CGIXMLRPCRequestHandler +calls=1 641 +97 16000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn= +calls=1 120 +97 186000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn= +calls=1 138 +97 46863999 + +fl=/usr/lib/python2.7/SimpleXMLRPCServer.py +fn=SimpleXMLRPCDispatcher +160 9000 + +fl=/usr/lib/python2.7/SimpleXMLRPCServer.py +fn=SimpleXMLRPCRequestHandler +424 17000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +424 2585999 + +fl=/usr/lib/python2.7/SimpleXMLRPCServer.py +fn=SimpleXMLRPCServer +569 3000 + +fl=/usr/lib/python2.7/SimpleXMLRPCServer.py +fn=MultiPathXMLRPCServer +603 4000 + +fl=/usr/lib/python2.7/SimpleXMLRPCServer.py +fn=CGIXMLRPCRequestHandler +641 16000 + +fl=/usr/lib/python2.7/SocketServer.py +fn= +120 140999 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=BaseServer +calls=1 155 +120 5000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=TCPServer +calls=1 358 +120 14000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=UDPServer +calls=1 484 +120 4000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ForkingMixIn +calls=1 510 +120 2000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ThreadingMixIn +calls=1 585 +120 2000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ForkingUDPServer +calls=1 613 +120 1000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ForkingTCPServer +calls=1 614 +120 1000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ThreadingUDPServer +calls=1 616 +120 0 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ThreadingTCPServer +calls=1 617 +120 1000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=UnixStreamServer +calls=1 621 +120 2000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=UnixDatagramServer +calls=1 624 +120 1000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ThreadingUnixStreamServer +calls=1 627 +120 1000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=ThreadingUnixDatagramServer +calls=1 629 +120 1000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=BaseRequestHandler +calls=1 631 +120 2000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=StreamRequestHandler +calls=1 677 +120 2000 +cfl=/usr/lib/python2.7/SocketServer.py +cfn=DatagramRequestHandler +calls=1 720 +120 1000 +cfl=~ +cfn= +calls=2 0 +120 3000 +cfl=~ +cfn= +calls=1 0 +120 2000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=BaseServer +155 5000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=TCPServer +358 14000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=UDPServer +484 4000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ForkingMixIn +510 2000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ThreadingMixIn +585 2000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ForkingUDPServer +613 1000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ForkingTCPServer +614 1000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ThreadingUDPServer +616 0 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ThreadingTCPServer +617 1000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=UnixStreamServer +621 2000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=UnixDatagramServer +624 1000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ThreadingUnixStreamServer +627 1000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=ThreadingUnixDatagramServer +629 1000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=BaseRequestHandler +631 2000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=StreamRequestHandler +677 2000 + +fl=/usr/lib/python2.7/SocketServer.py +fn=DatagramRequestHandler +720 1000 + +fl=/usr/lib/python2.7/StringIO.py +fn= +30 40000 +cfl=/usr/lib/python2.7/StringIO.py +cfn=StringIO +calls=1 42 +30 7000 + +fl=/usr/lib/python2.7/StringIO.py +fn=StringIO +42 7000 + +fl=/usr/lib/python2.7/UserDict.py +fn=__init__ +4 24000 +cfl=~ +cfn= +calls=4 0 +4 1000 + +fl=/usr/lib/python2.7/UserDict.py +fn=__getitem__ +35 27000 + +fl=/usr/lib/python2.7/UserDict.py +fn=get +91 74000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__getitem__ +calls=7 35 +91 16000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=11 103 +91 18999 + +fl=/usr/lib/python2.7/UserDict.py +fn=__contains__ +103 41000 + +fl=/usr/lib/python2.7/__future__.py +fn= +48 37000 +cfl=/usr/lib/python2.7/__future__.py +cfn=_Feature +calls=1 74 +48 4000 +cfl=/usr/lib/python2.7/__future__.py +cfn=__init__ +calls=7 75 +48 8000 + +fl=/usr/lib/python2.7/__future__.py +fn=_Feature +74 4000 + +fl=/usr/lib/python2.7/__future__.py +fn=__init__ +75 8000 + +fl=/usr/lib/python2.7/_abcoll.py +fn=_hasattr +24 12000 +cfl=/usr/lib/python2.7/_abcoll.py +cfn= +calls=1 26 +24 0 +cfl=~ +cfn= +calls=1 0 +24 7000 + +fl=/usr/lib/python2.7/_abcoll.py +fn= +26 4000 + +fl=/usr/lib/python2.7/_abcoll.py +fn=__subclasshook__:63 +63 7000 +cfl=/usr/lib/python2.7/_abcoll.py +cfn=_hasattr +calls=1 24 +63 18999 + +fl=/usr/lib/python2.7/_abcoll.py +fn=__subclasshook__:98 +98 10000 + +fl=/usr/lib/python2.7/_abcoll.py +fn=update +548 159000 +cfl=/usr/lib/python2.7/collections.py +cfn=__setitem__ +calls=20 71 +548 51000 +cfl=/usr/lib/python2.7/collections.py +cfn=__iter__ +calls=30 90 +548 21000 +cfl=~ +cfn= +calls=10 0 +548 163000 +cfl=~ +cfn= +calls=22 0 +548 4000 +cfl=~ +cfn= +calls=22 0 +548 11000 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=__init__:16 +16 34000 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=__enter__ +20 59999 +cfl=~ +cfn= +calls=24 0 +20 14999 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=__exit__ +26 80999 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=_commit_removals +calls=24 52 +26 37999 +cfl=~ +cfn= +calls=24 0 +26 14000 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=__init__:36 +36 540999 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=_commit_removals +52 37999 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=__iter__ +58 227000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__init__:16 +calls=24 16 +58 34000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__enter__ +calls=24 20 +58 75000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__exit__ +calls=24 26 +58 133000 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=__contains__ +70 292000 + +fl=/usr/lib/python2.7/_weakrefset.py +fn=add +83 92000 +cfl=~ +cfn= +calls=41 0 +83 14999 + +fl=/usr/lib/python2.7/abc.py +fn=abstractmethod +15 69000 + +fl=/usr/lib/python2.7/abc.py +fn=__new__ +86 901000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__init__:36 +calls=54 36 +86 464000 +cfl=/usr/lib/python2.7/abc.py +cfn= +calls=74 89 +86 638000 +cfl=~ +cfn= +calls=18 0 +86 1300999 +cfl=~ +cfn= +calls=327 0 +86 248999 +cfl=~ +cfn= +calls=56 0 +86 21000 +cfl=~ +cfn= +calls=18 0 +86 59000 + +fl=/usr/lib/python2.7/abc.py +fn= +89 237999 +cfl=~ +cfn= +calls=287 0 +89 399999 + +fl=/usr/lib/python2.7/abc.py +fn=register +105 106000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=add +calls=16 83 +105 34000 +cfl=~ +cfn= +calls=16 0 +105 9000 +cfl=~ +cfn= +calls=32 0 +105 1037000 + +fl=/usr/lib/python2.7/abc.py +fn=__instancecheck__ +128 292999 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__contains__ +calls=84 70 +128 180999 +cfl=/usr/lib/python2.7/abc.py +cfn=__subclasscheck__ +calls=3 148 +128 290000 +cfl=~ +cfn= +calls=83 0 +128 34000 + +fl=/usr/lib/python2.7/abc.py +fn=__subclasscheck__ +148 658000 +cfl=/usr/lib/python2.7/_abcoll.py +cfn=__subclasshook__:63 +calls=1 63 +148 26000 +cfl=/usr/lib/python2.7/_abcoll.py +cfn=__subclasshook__:98 +calls=3 98 +148 10000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__init__:36 +calls=20 36 +148 77000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__iter__ +calls=51 58 +148 468999 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=__contains__ +calls=52 70 +148 111000 +cfl=/usr/lib/python2.7/_weakrefset.py +cfn=add +calls=25 83 +148 73000 +cfl=~ +cfn= +calls=24 0 +148 18000 +cfl=~ +cfn= +calls=1 0 +148 0 +cfl=~ +cfn= +calls=33 0 +148 209999 +cfl=~ +cfn= +calls=22 0 +148 9000 +cfl=~ +cfn= +calls=21 0 +148 8000 + +fl=/usr/lib/python2.7/ast.py +fn= +27 343000 +cfl=/usr/lib/python2.7/ast.py +cfn=NodeVisitor +calls=1 217 +27 3000 +cfl=/usr/lib/python2.7/ast.py +cfn=NodeTransformer +calls=1 254 +27 1000 + +fl=/usr/lib/python2.7/ast.py +fn=NodeVisitor +217 3000 + +fl=/usr/lib/python2.7/ast.py +fn=NodeTransformer +254 1000 + +fl=/usr/lib/python2.7/atexit.py +fn= +6 27000 +cfl=~ +cfn= +calls=1 0 +6 12000 + +fl=/usr/lib/python2.7/atexit.py +fn=register +37 23000 +cfl=~ +cfn= +calls=4 0 +37 5000 + +fl=/usr/lib/python2.7/base64.py +fn= +3 314999 +cfl=~ +cfn= +calls=256 0 +3 75999 +cfl=~ +cfn= +calls=2 0 +3 9000 +cfl=~ +cfn= +calls=1 0 +3 8000 +cfl=~ +cfn= +calls=1 0 +3 12000 +cfl=~ +cfn= +calls=2 0 +3 22000 + +fl=/usr/lib/python2.7/cgi.py +fn= +16 3813999 +cfl=/usr/lib/python2.7/cgi.py +cfn=MiniFieldStorage +calls=1 328 +16 5000 +cfl=/usr/lib/python2.7/cgi.py +cfn=FieldStorage +calls=1 353 +16 24999 +cfl=/usr/lib/python2.7/cgi.py +cfn=FormContentDict +calls=1 807 +16 3000 +cfl=/usr/lib/python2.7/cgi.py +cfn=SvFormContentDict +calls=1 827 +16 4000 +cfl=/usr/lib/python2.7/cgi.py +cfn=InterpFormContentDict +calls=1 861 +16 2000 +cfl=/usr/lib/python2.7/cgi.py +cfn=FormContent +calls=1 889 +16 4000 +cfl=/usr/lib/python2.7/mimetools.py +cfn= +calls=1 1 +16 27149000 +cfl=/usr/lib/python2.7/urlparse.py +cfn= +calls=1 29 +16 10739000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__init__ +calls=1 343 +16 7000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__enter__ +calls=1 364 +16 5000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__exit__ +calls=1 380 +16 2000 + +fl=/usr/lib/python2.7/cgi.py +fn=MiniFieldStorage +328 5000 + +fl=/usr/lib/python2.7/cgi.py +fn=FieldStorage +353 24999 + +fl=/usr/lib/python2.7/cgi.py +fn=FormContentDict +807 3000 + +fl=/usr/lib/python2.7/cgi.py +fn=SvFormContentDict +827 4000 + +fl=/usr/lib/python2.7/cgi.py +fn=InterpFormContentDict +861 2000 + +fl=/usr/lib/python2.7/cgi.py +fn=FormContent +889 4000 + +fl=/usr/lib/python2.7/collections.py +fn= +11 3294000 +cfl=/usr/lib/python2.7/collections.py +cfn=OrderedDict +calls=1 38 +11 32999 +cfl=/usr/lib/python2.7/collections.py +cfn=Counter +calls=1 407 +11 6000 +cfl=/usr/lib/python2.7/heapq.py +cfn= +calls=1 31 +11 624000 +cfl=/usr/lib/python2.7/keyword.py +cfn= +calls=1 11 +11 24000 + +fl=/usr/lib/python2.7/collections.py +fn=OrderedDict +38 32999 + +fl=/usr/lib/python2.7/collections.py +fn=__init__ +50 244000 +cfl=/usr/lib/python2.7/_abcoll.py +cfn=update +calls=17 548 +50 349000 +cfl=/usr/lib/python2.7/abc.py +cfn=__subclasscheck__ +calls=17 148 +50 192000 +cfl=~ +cfn= +calls=17 0 +50 1000 + +fl=/usr/lib/python2.7/collections.py +fn=__setitem__ +71 181999 + +fl=/usr/lib/python2.7/collections.py +fn=__delitem__ +81 31000 +cfl=~ +cfn= +calls=5 0 +81 5000 + +fl=/usr/lib/python2.7/collections.py +fn=__iter__ +90 58000 + +fl=/usr/lib/python2.7/collections.py +fn=keys +117 18999 +cfl=/usr/lib/python2.7/collections.py +cfn=__iter__ +calls=20 90 +117 13000 + +fl=/usr/lib/python2.7/collections.py +fn=values +121 18000 +cfl=/usr/lib/python2.7/collections.py +cfn=__iter__ +calls=9 90 +121 3000 + +fl=/usr/lib/python2.7/collections.py +fn=items +125 41000 +cfl=/usr/lib/python2.7/collections.py +cfn=__iter__ +calls=35 90 +125 21000 + +fl=/usr/lib/python2.7/collections.py +fn=copy +204 27000 +cfl=/usr/lib/python2.7/collections.py +cfn=__init__ +calls=5 50 +204 387000 + +fl=/usr/lib/python2.7/collections.py +fn=namedtuple +305 10551999 +cfl=~ +cfn= +calls=63 0 +305 726000 +cfl=~ +cfn= +calls=12 0 +305 29000 +cfl=~ +cfn= +calls=12 0 +305 5000 +cfl=~ +cfn= +calls=12 0 +305 59999 +cfl=~ +cfn= +calls=63 0 +305 36000 +cfl=~ +cfn= +calls=51 0 +305 18000 +cfl=~ +cfn= +calls=12 0 +305 248000 +cfl=~ +cfn= +calls=12 0 +305 9000 +cfl=~ +cfn= +calls=63 0 +305 9000 +cfl=~ +cfn= +calls=24 0 +305 695000 +cfl=~ +cfn= +calls=24 0 +305 49999 +cfl=~ +cfn= +calls=12 0 +305 24999 +cfl=~ +cfn= +calls=51 0 +305 24999 +cfl=~ +cfn= +calls=12 0 +305 94000 +cfl=~ +cfn= +calls=12 0 +305 21000 + +fl=/usr/lib/python2.7/collections.py +fn=:349 +349 446999 +cfl=~ +cfn= +calls=466 0 +349 85999 + +fl=/usr/lib/python2.7/collections.py +fn=:373 +373 83000 +cfl=~ +cfn= +calls=51 0 +373 70999 + +fl=/usr/lib/python2.7/collections.py +fn=:375 +375 93000 +cfl=~ +cfn= +calls=51 0 +375 147000 + +fl=/usr/lib/python2.7/collections.py +fn=Counter +407 6000 + +fl=/usr/lib/python2.7/contextlib.py +fn= +1 134000 +cfl=/usr/lib/python2.7/contextlib.py +cfn=GeneratorContextManager +calls=1 9 +1 3000 +cfl=/usr/lib/python2.7/contextlib.py +cfn=contextmanager +calls=1 54 +1 56999 +cfl=/usr/lib/python2.7/contextlib.py +cfn=closing +calls=1 132 +1 2000 + +fl=/usr/lib/python2.7/contextlib.py +fn=GeneratorContextManager +9 3000 + +fl=/usr/lib/python2.7/contextlib.py +fn=contextmanager +54 35000 +cfl=/usr/lib/python2.7/functools.py +cfn=update_wrapper +calls=5 17 +54 107000 +cfl=/usr/lib/python2.7/functools.py +cfn=wraps +calls=5 39 +54 16000 + +fl=/usr/lib/python2.7/contextlib.py +fn=closing +132 2000 + +fl=/usr/lib/python2.7/copy.py +fn=copy +66 2333000 +cfl=/usr/lib/python2.7/copy.py +cfn=_copy_with_constructor +calls=1 113 +66 4000 +cfl=/usr/lib/python2.7/copy.py +cfn=_reconstruct +calls=429 306 +66 7683000 +cfl=~ +cfn= +calls=861 0 +66 1101000 +cfl=~ +cfn= +calls=429 0 +66 4382000 +cfl=~ +cfn= +calls=861 0 +66 301000 + +fl=/usr/lib/python2.7/copy.py +fn=_copy_with_constructor +113 4000 + +fl=/usr/lib/python2.7/copy.py +fn=_reconstruct +306 3836999 +cfl=/usr/lib/python2.7/copy_reg.py +cfn=__newobj__ +calls=429 92 +306 709000 +cfl=~ +cfn= +calls=429 0 +306 692999 +cfl=~ +cfn= +calls=429 0 +306 104000 +cfl=~ +cfn= +calls=1287 0 +306 728999 +cfl=~ +cfn= +calls=429 0 +306 125000 +cfl=~ +cfn= +calls=429 0 +306 1486000 + +fl=/usr/lib/python2.7/copy_reg.py +fn=pickle +14 8000 +cfl=/usr/lib/python2.7/copy_reg.py +cfn=constructor +calls=1 27 +14 3000 +cfl=~ +cfn= +calls=1 0 +14 2000 + +fl=/usr/lib/python2.7/copy_reg.py +fn=constructor +27 3000 +cfl=~ +cfn= +calls=1 0 +27 0 + +fl=/usr/lib/python2.7/copy_reg.py +fn=__newobj__ +92 466999 +cfl=~ +cfn= +calls=429 0 +92 242000 + +fl=/usr/lib/python2.7/copy_reg.py +fn=_slotnames +95 101000 +cfl=~ +cfn= +calls=14 0 +95 32000 +cfl=~ +cfn= +calls=14 0 +95 21000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn= +1 5879000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=CFUNCTYPE +calls=2 75 +1 122000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=_check_size +calls=14 144 +1 222000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=py_object +calls=1 156 +1 6000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_short +calls=1 165 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_ushort +calls=1 169 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_long +calls=1 173 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_ulong +calls=1 177 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_int +calls=1 186 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_uint +calls=1 190 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_float +calls=1 194 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_double +calls=1 198 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_longdouble +calls=1 202 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_ubyte +calls=1 223 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_byte +calls=1 230 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_char +calls=1 235 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_char_p +calls=1 240 +1 3000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_void_p +calls=1 252 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_bool +calls=1 257 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=_reset_cache +calls=1 262 +1 584000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_wchar_p +calls=1 288 +1 2000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=c_wchar +calls=1 291 +1 1000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=CDLL +calls=1 329 +1 29000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=__init__:350 +calls=1 350 +1 85999 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=PyDLL +calls=1 389 +1 2000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=LibraryLoader +calls=1 429 +1 2000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=__init__:430 +calls=2 430 +1 3000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=PYFUNCTYPE +calls=3 494 +1 150000 +cfl=/usr/lib/python2.7/ctypes/_endian.py +cfn= +calls=1 1 +1 157000 +cfl=~ +cfn=<_ctypes.set_conversion_mode> +calls=1 0 +1 5000 +cfl=~ +cfn=<_ctypes.sizeof> +calls=24 0 +1 6000 +cfl=~ +cfn=<_struct.calcsize> +calls=4 0 +1 5000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=CFUNCTYPE +75 171999 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=CFunctionType:101 +calls=3 101 +75 5000 +cfl=~ +cfn= +calls=6 0 +75 4000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=CFunctionType:101 +101 5000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=_check_size +144 188000 +cfl=~ +cfn=<_ctypes.sizeof> +calls=14 0 +144 10000 +cfl=~ +cfn=<_struct.calcsize> +calls=14 0 +144 24000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=py_object +156 6000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_short +165 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_ushort +169 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_long +173 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_ulong +177 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_int +186 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_uint +190 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_float +194 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_double +198 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_longdouble +202 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_ubyte +223 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_byte +230 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_char +235 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_char_p +240 3000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_void_p +252 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_bool +257 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=_reset_cache +262 424000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=CFUNCTYPE +calls=1 75 +262 59000 +cfl=~ +cfn=<_ctypes.POINTER> +calls=2 0 +262 99000 +cfl=~ +cfn= +calls=2 0 +262 2000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_wchar_p +288 2000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=c_wchar +291 1000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=CDLL +329 29000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=__init__:350 +350 69000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=_FuncPtr +calls=1 360 +350 2000 +cfl=~ +cfn=<_ctypes.dlopen> +calls=1 0 +350 14999 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=_FuncPtr +360 2000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=PyDLL +389 2000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=LibraryLoader +429 2000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=__init__:430 +430 3000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=PYFUNCTYPE +494 145000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn=CFunctionType:495 +calls=3 495 +494 5000 + +fl=/usr/lib/python2.7/ctypes/__init__.py +fn=CFunctionType:495 +495 5000 + +fl=/usr/lib/python2.7/ctypes/_endian.py +fn= +1 154000 +cfl=/usr/lib/python2.7/ctypes/_endian.py +cfn=_swapped_meta +calls=1 23 +1 1000 +cfl=/usr/lib/python2.7/ctypes/_endian.py +cfn=BigEndianStructure +calls=1 46 +1 2000 + +fl=/usr/lib/python2.7/ctypes/_endian.py +fn=_swapped_meta +23 1000 + +fl=/usr/lib/python2.7/ctypes/_endian.py +fn=BigEndianStructure +46 2000 + +fl=/usr/lib/python2.7/difflib.py +fn= +27 125000 +cfl=/usr/lib/python2.7/collections.py +cfn=namedtuple +calls=1 305 +27 1550000 +cfl=/usr/lib/python2.7/difflib.py +cfn=SequenceMatcher +calls=1 44 +27 6000 +cfl=/usr/lib/python2.7/difflib.py +cfn=Differ +calls=1 764 +27 4000 +cfl=/usr/lib/python2.7/difflib.py +cfn=HtmlDiff +calls=1 1670 +27 7000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +27 612000 + +fl=/usr/lib/python2.7/difflib.py +fn=SequenceMatcher +44 6000 + +fl=/usr/lib/python2.7/difflib.py +fn=Differ +764 4000 + +fl=/usr/lib/python2.7/difflib.py +fn=HtmlDiff +1670 7000 + +fl=/usr/lib/python2.7/dis.py +fn= +1 1434999 +cfl=/usr/lib/python2.7/opcode.py +cfn= +calls=1 5 +1 406000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn= +27 21696000 +cfl=/usr/lib/python2.7/atexit.py +cfn=register +calls=1 37 +27 6000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=DecompressionBombWarning +calls=1 36 +27 1000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=DecompressionBombError +calls=1 40 +27 1000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=_imaging_not_installed +calls=1 44 +27 1000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=_E +calls=1 471 +27 3000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=Image +calls=1 506 +27 435000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=ImagePointHandler +calls=1 2231 +27 2000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=ImageTransformHandler +calls=1 2236 +27 1000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn=_apply_env_variables +calls=1 2865 +27 32000 +cfl=/usr/lib/python2.7/dist-packages/PIL/ImageMode.py +cfn= +calls=1 17 +27 144000 +cfl=/usr/lib/python2.7/dist-packages/PIL/_binary.py +cfn= +calls=1 14 +27 143000 +cfl=/usr/lib/python2.7/dist-packages/PIL/_util.py +cfn= +calls=1 1 +27 238999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +27 145000 +cfl=~ +cfn= +calls=1 0 +27 2000 +cfl=~ +cfn= +calls=2 0 +27 6000 +cfl=~ +cfn= +calls=1 0 +27 12000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=DecompressionBombWarning +36 1000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=DecompressionBombError +40 1000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=_imaging_not_installed +44 1000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=_E +471 3000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=Image +506 435000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=ImagePointHandler +2231 2000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=ImageTransformHandler +2236 1000 + +fl=/usr/lib/python2.7/dist-packages/PIL/Image.py +fn=_apply_env_variables +2865 28000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=3 103 +2865 4000 + +fl=/usr/lib/python2.7/dist-packages/PIL/ImageMode.py +fn= +17 140000 +cfl=/usr/lib/python2.7/dist-packages/PIL/ImageMode.py +cfn=ModeDescriptor +calls=1 20 +17 4000 + +fl=/usr/lib/python2.7/dist-packages/PIL/ImageMode.py +fn=ModeDescriptor +20 4000 + +fl=/usr/lib/python2.7/dist-packages/PIL/__init__.py +fn= +14 620000 +cfl=/usr/lib/python2.7/dist-packages/PIL/version.py +cfn= +calls=1 2 +14 3000 + +fl=/usr/lib/python2.7/dist-packages/PIL/_binary.py +fn= +14 143000 + +fl=/usr/lib/python2.7/dist-packages/PIL/_util.py +fn= +1 237000 +cfl=/usr/lib/python2.7/dist-packages/PIL/_util.py +cfn=deferred_error +calls=1 22 +1 2000 + +fl=/usr/lib/python2.7/dist-packages/PIL/_util.py +fn=deferred_error +22 2000 + +fl=/usr/lib/python2.7/dist-packages/PIL/version.py +fn= +2 3000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/__init__.py +fn= +33 3000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn= +15 10487999 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_Operator +calls=1 74 +15 24999 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_Identifier +calls=1 97 +15 2000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_Value +calls=1 111 +15 2000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_Condition +calls=1 125 +15 2000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_BinOp +calls=1 139 +15 3000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_And +calls=1 154 +15 1000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn=_Or +calls=1 159 +15 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn= +calls=1 61 +15 78421999 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_Operator +74 24999 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_Identifier +97 2000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_Value +111 2000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_Condition +125 2000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_BinOp +139 3000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_And +154 1000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +fn=_Or +159 1000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn= +33 2838000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py +cfn= +calls=1 15 +33 88946000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=Package +calls=1 53 +33 13000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=Dependency +calls=1 319 +33 7000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=Export +calls=1 373 +33 4000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=License +calls=1 409 +33 3000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=Person +calls=1 417 +33 5000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=Url +calls=1 440 +33 2000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn=InvalidPackage +calls=1 461 +33 2000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=Package +53 13000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=Dependency +319 7000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=Export +373 4000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=License +409 3000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=Person +417 5000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=Url +440 2000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +fn=InvalidPackage +461 2000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py +fn= +33 4380999 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/package.py +cfn= +calls=1 33 +33 91820000 +cfl=/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py +cfn=_PackageParser +calls=1 100 +33 7000 +cfl=/usr/lib/python2.7/multiprocessing/__init__.py +cfn= +calls=1 44 +33 7323000 + +fl=/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py +fn=_PackageParser +100 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/__config__.py +fn= +3 17000 + +fl=/usr/lib/python2.7/dist-packages/numpy/__init__.py +fn= +106 17779000 +cfl=/usr/lib/python2.7/dist-packages/numpy/__config__.py +cfn= +calls=1 3 +106 17000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_distributor_init.py +cfn= +calls=1 10 +106 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +cfn= +calls=1 17 +106 169000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_import_tools.py +cfn= +calls=1 1 +106 346000 +cfl=/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py +cfn= +calls=1 10 +106 187951999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ctypeslib.py +cfn= +calls=1 51 +106 533000 +cfl=/usr/lib/python2.7/dist-packages/numpy/fft/__init__.py +cfn= +calls=1 1 +106 13210999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/__init__.py +cfn= +calls=1 41 +106 23718000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/__init__.py +cfn= +calls=1 15 +106 24201999 +cfl=/usr/lib/python2.7/dist-packages/numpy/random/__init__.py +cfn= +calls=1 88 +106 8250000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +106 63000 +cfl=/usr/lib/python2.7/dist-packages/numpy/version.py +cfn= +calls=1 5 +106 3000 +cfl=/usr/lib/python2.7/warnings.py +cfn=filterwarnings +calls=3 67 +106 979000 +cfl=~ +cfn= +calls=5 0 +106 29999 + +fl=/usr/lib/python2.7/dist-packages/numpy/_distributor_init.py +fn= +10 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +fn= +17 165000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +cfn=ModuleDeprecationWarning +calls=1 33 +17 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +cfn=VisibleDeprecationWarning +calls=1 45 +17 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +cfn=_NoValue +calls=1 56 +17 0 +cfl=~ +cfn= +calls=1 0 +17 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +fn=ModuleDeprecationWarning +33 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +fn=VisibleDeprecationWarning +45 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/_globals.py +fn=_NoValue +56 0 + +fl=/usr/lib/python2.7/dist-packages/numpy/_import_tools.py +fn= +1 146000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=1 91 +1 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_import_tools.py +cfn=PackageLoader +calls=1 9 +1 6000 +cfl=/usr/lib/python2.7/dist-packages/numpy/_import_tools.py +cfn=PackageLoaderDebug +calls=1 340 +1 184000 + +fl=/usr/lib/python2.7/dist-packages/numpy/_import_tools.py +fn=PackageLoader +9 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/_import_tools.py +fn=PackageLoaderDebug +340 184000 + +fl=/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py +fn= +10 4452999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py +cfn= +calls=1 1 +10 179263000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py +cfn=add_newdoc +calls=275 4519 +10 4220000 +cfl=~ +cfn= +calls=2 0 +10 16000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/__init__.py +fn= +10 2250000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn= +calls=1 7 +10 32999 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/py3k.py +cfn= +calls=1 4 +10 1349999 +cfl=~ +cfn= +calls=2 0 +10 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn= +7 32999 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=ismethod +15 54000 +cfl=~ +cfn= +calls=43 0 +15 28000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=isfunction +28 42000 +cfl=~ +cfn= +calls=43 0 +28 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=iscode +43 40000 +cfl=~ +cfn= +calls=38 0 +43 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=getargs +67 274999 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=iscode +calls=38 43 +67 48000 +cfl=~ +cfn= +calls=38 0 +67 37999 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=getargspec +98 168000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=ismethod +calls=43 15 +98 82000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=isfunction +calls=43 28 +98 54999 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=getargs +calls=38 67 +98 361000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=strseq +133 151999 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=formatargspec +142 394000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=strseq +calls=98 133 +142 151999 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=:144 +calls=7 144 +142 6000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=:145 +calls=5 145 +142 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=:146 +calls=60 146 +142 227000 +cfl=~ +cfn= +calls=78 0 +142 14000 +cfl=~ +cfn= +calls=110 0 +142 20000 +cfl=~ +cfn= +calls=38 0 +142 23000 +cfl=~ +cfn= +calls=38 0 +142 27000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=:144 +144 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=:145 +145 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +fn=:146 +146 61000 +cfl=~ +cfn= +calls=60 0 +146 166000 + +fl=/usr/lib/python2.7/dist-packages/numpy/compat/py3k.py +fn= +4 1349999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/__init__.py +fn= +1 31120000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=2 103 +1 4000 +cfl=/usr/lib/python2.7/copy_reg.py +cfn=pickle +calls=1 14 +1 13000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn= +calls=1 6 +1 29210000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/defchararray.py +cfn= +calls=1 17 +1 294999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/einsumfunc.py +cfn= +calls=1 4 +1 49999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/function_base.py +cfn= +calls=1 1 +1 29000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn= +calls=1 3 +1 1777999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/info.py +cfn= +calls=1 83 +1 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/machar.py +cfn= +calls=1 7 +1 97000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/memmap.py +cfn= +calls=1 1 +1 108000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn= +calls=1 1 +1 10092000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +cfn= +calls=1 36 +1 219999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/shape_base.py +cfn= +calls=1 1 +1 106000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/__init__.py +cfn= +calls=1 7 +1 41214999 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +1 40000 +cfl=/usr/lib/python2.7/os.py +cfn=__setitem__ +calls=2 472 +1 35000 +cfl=/usr/lib/python2.7/os.py +cfn=__delitem__ +calls=2 496 +1 29000 +cfl=~ +cfn= +calls=2 0 +1 1000 +cfl=~ +cfn= +calls=1 0 +1 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn= +6 9125000 +cfl=/usr/lib/python2.7/ctypes/__init__.py +cfn= +calls=1 1 +6 7278000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/__init__.py +cfn= +calls=1 10 +6 3635000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=dummy_ctype +calls=1 200 +6 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=_missing_ctypes +calls=1 233 +6 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=_ctypes +calls=1 240 +6 34000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=TooHardError +calls=1 671 +6 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=AxisError +calls=1 674 +6 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn= +calls=1 82 +6 6338000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=3 192 +6 2787000 +cfl=~ +cfn= +calls=2 0 +6 3000 +cfl=~ +cfn= +calls=2 0 +6 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=dummy_ctype +200 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=_getintp_ctype +210 14999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=_missing_ctypes +233 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=_ctypes +240 34000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=TooHardError +671 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=AxisError +674 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn=_ufunc_doc_signature_formatter +703 294000 +cfl=~ +cfn= +calls=51 0 +703 108000 +cfl=~ +cfn= +calls=26 0 +703 288000 +cfl=~ +cfn= +calls=26 0 +703 29000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +fn= +714 72000 +cfl=~ +cfn= +calls=52 0 +714 42000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_methods.py +fn= +5 56999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/_methods.py +fn=_any +37 6000 +cfl=~ +cfn= +calls=1 0 +37 16000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn= +5 4488000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_recursive_guard +calls=1 368 +5 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=decorating_function +calls=1 378 +5 69000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=FloatFormat +calls=1 602 +5 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=IntegerFormat +calls=1 711 +5 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=LongFloatFormat +calls=1 731 +5 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=LongComplexFormat +calls=1 761 +5 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=ComplexFormat +calls=1 772 +5 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=DatetimeFormat +calls=1 789 +5 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=TimedeltaFormat +calls=1 810 +5 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=SubArrayFormat +calls=1 837 +5 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=StructureFormat +calls=1 847 +5 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py +cfn= +calls=1 3 +5 1037999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_get_formatdict +256 29000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn= +260 11000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=__init__ +calls=1 603 +260 2333999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_get_format_function +299 40000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_get_formatdict +calls=1 256 +299 29000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn= +calls=1 260 +299 2345000 +cfl=~ +cfn= +calls=4 0 +299 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_array2string +343 48000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_get_format_function +calls=1 299 +343 2418000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_formatArray +calls=1 535 +343 214000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py +cfn=ravel +calls=1 1380 +343 40000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=asarray +calls=1 463 +343 21000 +cfl=~ +cfn= +calls=1 0 +343 0 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_recursive_guard +368 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=decorating_function +378 26000 +cfl=/usr/lib/python2.7/functools.py +cfn=update_wrapper +calls=1 17 +378 34000 +cfl=/usr/lib/python2.7/functools.py +cfn=wraps +calls=1 39 +378 9000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=wrapper +381 29999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=array2string +calls=1 399 +381 2768000 +cfl=~ +cfn= +calls=1 0 +381 0 +cfl=~ +cfn= +calls=1 0 +381 1000 +cfl=~ +cfn= +calls=1 0 +381 1000 +cfl=~ +cfn= +calls=1 0 +381 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=array2string +399 24000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_array2string +calls=1 343 +399 2741000 +cfl=~ +cfn=<_functools.reduce> +calls=1 0 +399 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_extendLine +527 10000 +cfl=~ +cfn= +calls=4 0 +527 1000 +cfl=~ +cfn= +calls=4 0 +527 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_formatArray +535 32999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_extendLine +calls=2 527 +535 14999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=__call__ +calls=2 668 +535 163000 +cfl=~ +cfn= +calls=2 0 +535 0 +cfl=~ +cfn= +calls=2 0 +535 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=FloatFormat +602 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=__init__ +603 14999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=fillFormat +calls=1 617 +603 2319000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=fillFormat +617 285000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=_digits +calls=2 702 +617 31000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py +cfn=any +calls=1 1886 +617 70000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__init__ +calls=1 3060 +617 8000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__enter__ +calls=1 3064 +617 74000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__exit__ +calls=1 3069 +617 24000 +cfl=~ +cfn= +calls=3 0 +617 2000 +cfl=~ +cfn= +calls=1 0 +617 3000 +cfl=~ +cfn= +calls=1 0 +617 1382000 +cfl=~ +cfn= +calls=2 0 +617 437999 +cfl=~ +cfn= +calls=1 0 +617 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=__call__ +668 87000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__init__ +calls=2 3060 +668 8000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__enter__ +calls=2 3064 +668 31000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__exit__ +calls=2 3069 +668 35000 +cfl=~ +cfn= +calls=4 0 +668 1000 +cfl=~ +cfn= +calls=2 0 +668 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=_digits +702 23000 +cfl=~ +cfn= +calls=4 0 +702 1000 +cfl=~ +cfn= +calls=2 0 +702 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=IntegerFormat +711 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=LongFloatFormat +731 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=LongComplexFormat +761 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=ComplexFormat +772 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=DatetimeFormat +789 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=TimedeltaFormat +810 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=SubArrayFormat +837 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +fn=StructureFormat +847 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/defchararray.py +fn= +17 198000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/defchararray.py +cfn=chararray +calls=1 1669 +17 97000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/defchararray.py +fn=chararray +1669 97000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/einsumfunc.py +fn= +4 49999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py +fn= +3 980999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_methods.py +cfn= +calls=1 5 +3 56999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py +fn=ravel +1380 18999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=asanyarray +calls=1 534 +1380 7000 +cfl=~ +cfn= +calls=1 0 +1380 7000 +cfl=~ +cfn= +calls=1 0 +1380 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py +fn=any +1886 12000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=asanyarray +calls=1 534 +1886 5000 +cfl=~ +cfn= +calls=1 0 +1886 53000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/function_base.py +fn= +1 29000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn= +3 722000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=MachArLike +calls=1 62 +3 24999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=__init__:65 +calls=6 65 +3 919999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=finfo +calls=1 305 +3 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=iinfo +calls=1 455 +3 8000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__init__ +calls=2 3060 +3 7000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__enter__ +calls=2 3064 +3 53000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__exit__ +calls=2 3069 +3 29999 +cfl=~ +cfn= +calls=1 0 +3 1000 +cfl=~ +cfn= +calls=4 0 +3 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=_fr1 +26 106000 +cfl=~ +cfn= +calls=30 0 +26 87000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=MachArLike +62 24999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=__init__:65 +65 395000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=:69 +calls=6 69 +65 42000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=:70 +calls=30 70 +65 459999 +cfl=~ +cfn= +calls=30 0 +65 10000 +cfl=~ +cfn= +calls=6 0 +65 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=:69 +69 65999 +cfl=~ +cfn= +calls=36 0 +69 196000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=:70 +70 47000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=_fr1 +calls=30 26 +70 193000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=:69 +calls=30 69 +70 219999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=finfo +305 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=iinfo +455 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=__init__:507 +507 124000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +fn=max +532 35000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/info.py +fn= +83 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/machar.py +fn= +7 94000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/machar.py +cfn=MachAr +calls=1 17 +7 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/machar.py +fn=MachAr +17 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/memmap.py +fn= +1 102000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/memmap.py +cfn=memmap +calls=1 20 +1 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/memmap.py +fn=memmap +20 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn= +1 4022999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn= +calls=1 5 +1 5618000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=ComplexWarning +calls=1 76 +1 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=extend_all +calls=3 367 +1 410000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=set_string_function +calls=2 1942 +1 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=_unspecified +calls=1 2992 +1 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=errstate +calls=1 2997 +1 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=_setdef +calls=1 3075 +1 14999 +cfl=~ +cfn= +calls=2 0 +1 3000 +cfl=~ +cfn= +calls=1 0 +1 1000 +cfl=~ +cfn= +calls=1 0 +1 1000 +cfl=~ +cfn= +calls=1 0 +1 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=ComplexWarning +76 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=extend_all +367 312000 +cfl=~ +cfn= +calls=3 0 +367 3000 +cfl=~ +cfn= +calls=248 0 +367 51000 +cfl=~ +cfn= +calls=1 0 +367 5000 +cfl=~ +cfn= +calls=124 0 +367 39000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=asarray +463 18999 +cfl=~ +cfn= +calls=1 0 +463 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=asanyarray +534 10000 +cfl=~ +cfn= +calls=2 0 +534 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=array_str +1905 22000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/arrayprint.py +cfn=wrapper +calls=1 381 +1905 2800999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=set_string_function +1942 5000 +cfl=~ +cfn= +calls=2 0 +1942 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=seterr +2667 118999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=geterr +calls=12 2767 +2667 82000 +cfl=~ +cfn= +calls=12 0 +2667 14000 +cfl=~ +cfn= +calls=12 0 +2667 35000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=geterr +2767 74000 +cfl=~ +cfn= +calls=12 0 +2767 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=_unspecified +2992 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=errstate +2997 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=__init__ +3060 27000 +cfl=~ +cfn= +calls=6 0 +3060 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=__enter__ +3064 29000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=seterr +calls=6 2667 +3064 168000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=__exit__ +3069 22000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=seterr +calls=6 2667 +3069 82000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +fn=_setdef +3075 6000 +cfl=~ +cfn= +calls=1 0 +3075 9000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn= +82 2529000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_add_types +calls=1 285 +82 186000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_add_aliases +calls=1 301 +82 794000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_add_integer_aliases +calls=1 338 +82 128999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_set_up_aliases +calls=1 379 +82 36000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_construct_char_code_lookup +calls=1 428 +82 56999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_set_array_types +calls=1 451 +82 195000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_typedict +calls=1 765 +82 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_construct_lookups +calls=1 781 +82 124000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_register_types +calls=1 957 +82 414000 +cfl=/usr/lib/python2.7/numbers.py +cfn= +calls=1 6 +82 1633000 +cfl=~ +cfn= +calls=256 0 +82 77000 +cfl=~ +cfn= +calls=67 0 +82 18000 +cfl=~ +cfn= +calls=10 0 +82 5000 +cfl=~ +cfn= +calls=24 0 +82 18999 +cfl=~ +cfn= +calls=1 0 +82 1000 +cfl=~ +cfn= +calls=67 0 +82 14000 +cfl=~ +cfn= +calls=1 0 +82 1000 +cfl=~ +cfn= +calls=1 0 +82 2000 +cfl=~ +cfn= +calls=2 0 +82 18999 +cfl=~ +cfn= +calls=3 0 +82 3000 +cfl=~ +cfn= +calls=21 0 +82 69000 +cfl=~ +cfn= +calls=1 0 +82 11000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=english_lower +127 68000 +cfl=~ +cfn= +calls=72 0 +127 32000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=english_upper +154 42999 +cfl=~ +cfn= +calls=40 0 +154 12000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=english_capitalize +181 26000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=english_upper +calls=14 154 +181 18999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_evalname +216 102000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=bitname +229 248000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=english_upper +calls=26 154 +229 36000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_evalname +calls=21 216 +229 102000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_add_types +285 108000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=english_lower +calls=36 127 +285 56000 +cfl=~ +cfn= +calls=36 0 +285 17000 +cfl=~ +cfn= +calls=1 0 +285 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_add_aliases +301 303000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=english_lower +calls=36 127 +301 44000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=english_capitalize +calls=14 181 +301 44999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=bitname +calls=26 229 +301 386000 +cfl=~ +cfn= +calls=36 0 +301 11000 +cfl=~ +cfn= +calls=3 0 +301 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_add_integer_aliases +338 121000 +cfl=~ +cfn= +calls=5 0 +338 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_set_up_aliases +379 34000 +cfl=~ +cfn= +calls=1 0 +379 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_construct_char_code_lookup +428 40000 +cfl=~ +cfn= +calls=36 0 +428 16000 +cfl=~ +cfn= +calls=1 0 +428 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_add_array_type +443 118999 +cfl=~ +cfn= +calls=15 0 +443 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_set_array_types +451 69000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +cfn=_add_array_type +calls=30 443 +451 126000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_typedict +765 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_construct_lookups +781 98000 +cfl=~ +cfn= +calls=36 0 +781 8000 +cfl=~ +cfn= +calls=26 0 +781 9000 +cfl=~ +cfn= +calls=1 0 +781 9000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/numerictypes.py +fn=_register_types +957 14000 +cfl=/usr/lib/python2.7/abc.py +cfn=register +calls=3 105 +957 399999 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +fn= +36 199999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +cfn=format_parser +calls=1 83 +36 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +cfn=record +calls=1 215 +36 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +cfn=recarray +calls=1 298 +36 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +fn=format_parser +83 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +fn=record +215 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/records.py +fn=recarray +298 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/shape_base.py +fn= +1 102000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/shape_base.py +cfn=_Recurser +calls=1 364 +1 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/core/shape_base.py +fn=_Recurser +364 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ctypeslib.py +fn= +51 327000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=_getintp_ctype +calls=1 210 +51 14999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ctypeslib.py +cfn=_ndptr +calls=1 185 +51 7000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ctypeslib.py +cfn=prep_simple +calls=12 338 +51 125000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=deprecate +calls=1 118 +51 51000 +cfl=~ +cfn=<_ctypes.sizeof> +calls=12 0 +51 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ctypeslib.py +fn=_ndptr +185 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ctypeslib.py +fn=prep_simple +338 125000 + +fl=/usr/lib/python2.7/dist-packages/numpy/fft/__init__.py +fn= +1 2941999 +cfl=/usr/lib/python2.7/dist-packages/numpy/fft/fftpack.py +cfn= +calls=1 32 +1 10202000 +cfl=/usr/lib/python2.7/dist-packages/numpy/fft/info.py +cfn= +calls=1 184 +1 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +1 56999 + +fl=/usr/lib/python2.7/dist-packages/numpy/fft/fftpack.py +fn= +32 2541000 +cfl=/usr/lib/python2.7/dist-packages/numpy/fft/helper.py +cfn= +calls=1 4 +32 7479000 +cfl=/usr/lib/python2.7/dist-packages/numpy/fft/helper.py +cfn=__init__ +calls=2 251 +32 181999 + +fl=/usr/lib/python2.7/dist-packages/numpy/fft/helper.py +fn= +4 6066999 +cfl=/usr/lib/python2.7/dist-packages/numpy/fft/helper.py +cfn=_FFTCache +calls=1 230 +4 5000 +cfl=/usr/lib/python2.7/threading.py +cfn= +calls=1 1 +4 1406999 + +fl=/usr/lib/python2.7/dist-packages/numpy/fft/helper.py +fn=_FFTCache +230 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/fft/helper.py +fn=__init__ +251 18000 +cfl=/usr/lib/python2.7/collections.py +cfn=__init__ +calls=2 50 +251 161999 +cfl=~ +cfn= +calls=2 0 +251 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/fft/info.py +fn= +184 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py +fn= +1 23402000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_version.py +cfn= +calls=1 7 +1 54000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/arraypad.py +cfn= +calls=1 5 +1 39000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/arraysetops.py +cfn= +calls=1 27 +1 31000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/arrayterator.py +cfn= +calls=1 9 +1 106000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/financial.py +cfn= +calls=1 10 +1 36000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn= +calls=1 1 +1 15224999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/info.py +cfn= +calls=1 156 +1 13000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn= +calls=1 1 +1 410999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/nanfunctions.py +cfn= +calls=1 21 +1 59000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py +cfn= +calls=1 1 +1 8633000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py +cfn= +calls=1 4 +1 14801000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/scimath.py +cfn= +calls=1 17 +1 80000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/shape_base.py +cfn= +calls=1 1 +1 63000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py +cfn= +calls=1 3 +1 116213000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +1 97000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +fn= +35 219999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +cfn=_FileOpeners +calls=1 50 +35 5000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +cfn=__init__ +calls=1 74 +35 6000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +cfn=DataSource +calls=1 154 +35 13000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +cfn=Repository +calls=1 504 +35 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +fn=_FileOpeners +50 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +fn=__init__ +74 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +fn=DataSource +154 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +fn=Repository +504 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn= +3 381999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn=LineSplitter +calls=1 155 +3 5000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn=NameValidator +calls=1 251 +3 22000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn=ConverterError +calls=1 445 +3 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn=ConverterLockError +calls=1 453 +3 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn=ConversionWarning +calls=1 461 +3 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn=StringConverter +calls=1 474 +3 338000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn=LineSplitter +155 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn=NameValidator +251 22000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn=ConverterError +445 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn=ConverterLockError +453 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn=ConversionWarning +461 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +fn=StringConverter +474 323999 +cfl=~ +cfn= +calls=1 0 +474 1000 +cfl=~ +cfn= +calls=1 0 +474 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_version.py +fn= +7 29000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_version.py +cfn=NumpyVersion +calls=1 18 +7 24999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/_version.py +fn=NumpyVersion +18 24999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/arraypad.py +fn= +5 39000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/arraysetops.py +fn= +27 31000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/arrayterator.py +fn= +9 94999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/arrayterator.py +cfn=Arrayterator +calls=1 20 +9 11000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/arrayterator.py +fn=Arrayterator +20 11000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/financial.py +fn= +10 36000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/format.py +fn= +149 65999 +cfl=~ +cfn= +calls=1 0 +149 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py +fn= +1 2142000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py +cfn=vectorize +calls=1 2527 +1 6000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/twodim_base.py +cfn= +calls=1 3 +1 125000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=deprecate +calls=1 118 +1 54000 +cfl=~ +cfn= +calls=4 0 +1 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py +fn=vectorize +2527 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py +fn=add_newdoc +4519 1450000 +cfl=~ +cfn=<__import__> +calls=275 0 +4519 1470999 +cfl=~ +cfn= +calls=477 0 +4519 417000 +cfl=~ +cfn= +calls=275 0 +4519 69000 +cfl=~ +cfn= +calls=475 0 +4519 202000 +cfl=~ +cfn= +calls=272 0 +4519 410000 +cfl=~ +cfn= +calls=272 0 +4519 200999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn= +1 7953999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py +cfn= +calls=1 1 +1 2333999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=nd_grid +calls=1 98 +1 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:159 +calls=2 159 +1 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=AxisConcatenator +calls=1 231 +1 31000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=RClass +calls=1 356 +1 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:451 +calls=1 451 +1 11000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=CClass +calls=1 456 +1 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:481 +calls=1 481 +1 7000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=ndenumerate +calls=1 486 +1 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=ndindex +calls=1 536 +1 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=IndexExpression +calls=1 614 +1 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:658 +calls=2 658 +1 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/stride_tricks.py +cfn= +calls=1 7 +1 82000 +cfl=/usr/lib/python2.7/dist-packages/numpy/matrixlib/__init__.py +cfn= +calls=1 3 +1 4784000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=nd_grid +98 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=__init__:159 +159 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=AxisConcatenator +231 31000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=__init__:241 +241 12000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=RClass +356 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=__init__:451 +451 7000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:241 +calls=1 241 +451 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=CClass +456 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=__init__:481 +481 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:241 +calls=1 241 +481 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=ndenumerate +486 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=ndindex +536 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=IndexExpression +614 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +fn=__init__:658 +658 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/info.py +fn= +156 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn= +1 103000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=NDArrayOperatorsMixin +calls=1 63 +1 308000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn=_binary_method +20 118000 +cfl=~ +cfn= +calls=20 0 +20 26000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn=_reflected_binary_method +30 21000 +cfl=~ +cfn= +calls=14 0 +30 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn=_inplace_binary_method +40 12000 +cfl=~ +cfn= +calls=13 0 +40 29999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn=_numeric_methods +48 35000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_binary_method +calls=13 20 +48 32999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_reflected_binary_method +calls=13 30 +48 23000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_inplace_binary_method +calls=13 40 +48 42000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn=_unary_method +55 7000 +cfl=~ +cfn= +calls=4 0 +55 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +fn=NDArrayOperatorsMixin +63 54000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_binary_method +calls=7 20 +63 111000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_reflected_binary_method +calls=1 30 +63 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_numeric_methods +calls=13 48 +63 133000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/mixins.py +cfn=_unary_method +calls=4 55 +63 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/nanfunctions.py +fn= +21 59000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py +fn= +1 7548000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_datasource.py +cfn= +calls=1 35 +1 248000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/_iotools.py +cfn= +calls=1 3 +1 750999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/format.py +cfn= +calls=1 149 +1 67000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py +cfn=BagObj +calls=1 40 +1 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py +cfn=NpzFile +calls=1 104 +1 9000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py +fn=BagObj +40 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py +fn=NpzFile +104 9000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py +fn= +4 942999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py +cfn=RankWarning +calls=1 22 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py +cfn=poly1d +calls=1 939 +4 53000 +cfl=/usr/lib/python2.7/dist-packages/numpy/linalg/__init__.py +cfn= +calls=1 45 +4 12922000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +4 866999 +cfl=/usr/lib/python2.7/warnings.py +cfn=simplefilter +calls=1 96 +4 14999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py +fn=RankWarning +22 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py +fn=poly1d +939 49000 +cfl=~ +cfn= +calls=2 0 +939 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/scimath.py +fn= +17 80000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/shape_base.py +fn= +1 63000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/stride_tricks.py +fn= +7 79000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/stride_tricks.py +cfn=DummyArray +calls=1 15 +7 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/stride_tricks.py +fn=DummyArray +15 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/twodim_base.py +fn= +3 70000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=__init__:507 +calls=3 507 +3 54999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py +fn= +3 1651000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/__init__.py +cfn= +calls=1 1 +3 114453000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/ufunclike.py +cfn= +calls=1 5 +3 109000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/ufunclike.py +fn= +5 27000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/ufunclike.py +cfn=_deprecate_out_named_y +calls=3 14 +5 82000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/ufunclike.py +fn=_deprecate_out_named_y +14 18999 +cfl=/usr/lib/python2.7/functools.py +cfn=update_wrapper +calls=3 17 +14 44999 +cfl=/usr/lib/python2.7/functools.py +cfn=wraps +calls=3 39 +14 18000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn= +1 199999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=_Deprecate +calls=1 57 +1 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=SafeEval +calls=1 997 +1 13000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +1 848999 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn=_set_function_name +52 6000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn=_Deprecate +57 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn=__init__ +69 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn=__call__ +74 69000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=_set_function_name +calls=3 52 +74 6000 +cfl=~ +cfn= +calls=3 0 +74 9000 +cfl=~ +cfn= +calls=3 0 +74 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn=deprecate +118 42999 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=__init__ +calls=3 69 +118 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=__call__ +calls=2 74 +118 62000 + +fl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +fn=SafeEval +997 13000 + +fl=/usr/lib/python2.7/dist-packages/numpy/linalg/__init__.py +fn= +45 4027000 +cfl=/usr/lib/python2.7/dist-packages/numpy/linalg/info.py +cfn= +calls=1 34 +45 9000 +cfl=/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py +cfn= +calls=1 10 +45 8816000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +45 70000 + +fl=/usr/lib/python2.7/dist-packages/numpy/linalg/info.py +fn= +34 9000 + +fl=/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py +fn= +10 8711000 +cfl=/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py +cfn=LinAlgError +calls=1 43 +10 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py +cfn=_determine_error_states +calls=1 76 +10 101000 + +fl=/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py +fn=LinAlgError +43 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py +fn=_determine_error_states +76 32999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__init__ +calls=1 3060 +76 9000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__enter__ +calls=1 3064 +76 39000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=__exit__ +calls=1 3069 +76 14999 +cfl=~ +cfn= +calls=2 0 +76 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/__init__.py +fn= +41 17410000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn= +calls=1 21 +41 5437000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn= +calls=1 10 +41 799000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +41 72000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn= +21 1421000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=MaskedArrayFutureWarning +calls=1 93 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=doc_note +calls=2 124 +21 27000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=MAError +calls=1 160 +21 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=MaskError +calls=1 168 +21 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_DomainCheckInterval +calls=1 826 +21 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:835 +calls=3 835 +21 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_DomainTan +calls=1 851 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:859 +calls=1 859 +21 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_DomainSafeDivide +calls=1 869 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:875 +calls=6 875 +21 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_DomainGreater +calls=1 890 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:896 +calls=3 896 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_DomainGreaterEqual +calls=1 906 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:912 +calls=2 912 +21 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_MaskedUnaryOperation +calls=1 922 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:940 +calls=27 940 +21 823000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_MaskedBinaryOperation +calls=1 1001 +21 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:1021 +calls=18 1021 +21 647999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_DomainedBinaryOperation +calls=1 1153 +21 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:1174 +calls=6 1174 +21 206000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_MaskedPrintOption +calls=1 2400 +21 16000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:2406 +calls=1 2406 +21 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=MaskedIterator +calls=1 2617 +21 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=MaskedArray +calls=1 2731 +21 219999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=mvoid +calls=1 6046 +21 16000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=MaskedConstant +calls=1 6248 +21 39000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__new__ +calls=1 6255 +21 16000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_extrema_operation +calls=1 6361 +21 5000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:6370 +calls=2 6370 +21 89999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_frommethod +calls=1 6482 +21 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:6493 +calls=26 6493 +21 1540999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_convert2ma +calls=1 7960 +21 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__init__:7973 +calls=8 7973 +21 305000 +cfl=~ +cfn= +calls=4 0 +21 12000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=MaskedArrayFutureWarning +93 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=doc_note +124 40000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=get_object_signature +143 159000 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=getargspec +calls=43 98 +143 665999 +cfl=/usr/lib/python2.7/dist-packages/numpy/compat/_inspect.py +cfn=formatargspec +calls=38 142 +143 864000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=MAError +160 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=MaskError +168 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_DomainCheckInterval +826 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:835 +835 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_DomainTan +851 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:859 +859 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_DomainSafeDivide +869 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:875 +875 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_DomainGreater +890 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:896 +896 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_DomainGreaterEqual +906 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:912 +912 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_MaskedUnaryOperation +922 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:940 +940 173000 +cfl=~ +cfn= +calls=54 0 +940 650000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_MaskedBinaryOperation +1001 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:1021 +1021 103000 +cfl=~ +cfn= +calls=36 0 +1021 545000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_DomainedBinaryOperation +1153 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:1174 +1174 42000 +cfl=~ +cfn= +calls=12 0 +1174 164000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_MaskedPrintOption +2400 16000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:2406 +2406 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_arraymethod +2569 32999 +cfl=~ +cfn= +calls=9 0 +2569 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=MaskedIterator +2617 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=MaskedArray +2731 177000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=_arraymethod +calls=9 2569 +2731 42999 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=mvoid +6046 16000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=MaskedConstant +6248 24999 +cfl=~ +cfn= +calls=2 0 +6248 14000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__new__ +6255 8000 +cfl=~ +cfn= +calls=1 0 +6255 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__array_finalize__ +6258 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_extrema_operation +6361 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:6370 +6370 37999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=_ufunc_doc_signature_formatter +calls=2 703 +6370 52000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_frommethod +6482 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:6493 +6493 69000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=getdoc:6498 +calls=26 6498 +6493 1472000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=getdoc:6498 +6498 200999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=get_object_signature +calls=26 143 +6498 1227000 +cfl=~ +cfn= +calls=52 0 +6498 44000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=_convert2ma +7960 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=__init__:7973 +7973 24999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=getdoc:7978 +calls=8 7978 +7973 272000 +cfl=~ +cfn= +calls=8 0 +7973 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +fn=getdoc:7978 +7978 42000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=get_object_signature +calls=8 143 +7978 177000 +cfl=~ +cfn= +calls=8 0 +7978 53000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn= +10 361000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=doc_note +calls=2 124 +10 13000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=_fromnxfunction +calls=1 218 +10 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=__init__:238 +calls=9 238 +10 390999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=_fromnxfunction_single +calls=1 273 +10 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=_fromnxfunction_seq +calls=1 291 +10 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=_fromnxfunction_args +calls=1 304 +10 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=_fromnxfunction_allargs +calls=1 329 +10 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=MAxisConcatenator +calls=1 1453 +10 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=mr_class +calls=1 1478 +10 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=__init__:1494 +calls=1 1494 +10 13000 +cfl=~ +cfn= +calls=1 0 +10 8000 +cfl=~ +cfn= +calls=1 0 +10 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=_fromnxfunction +218 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=__init__:238 +238 22000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +cfn=getdoc +calls=9 242 +238 368999 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=getdoc +242 42999 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=get_object_signature +calls=9 143 +242 285000 +cfl=~ +cfn= +calls=18 0 +242 21000 +cfl=~ +cfn= +calls=9 0 +242 20000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=_fromnxfunction_single +273 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=_fromnxfunction_seq +291 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=_fromnxfunction_args +304 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=_fromnxfunction_allargs +329 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=MAxisConcatenator +1453 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=mr_class +1478 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/ma/extras.py +fn=__init__:1494 +1494 8000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py +cfn=__init__:241 +calls=1 241 +1494 5000 + +fl=/usr/lib/python2.7/dist-packages/numpy/matrixlib/__init__.py +fn= +3 2317999 +cfl=/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py +cfn= +calls=1 1 +3 2382999 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +3 83000 + +fl=/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py +fn= +1 1997000 +cfl=/usr/lib/python2.7/ast.py +cfn= +calls=1 27 +1 347000 +cfl=/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py +cfn=matrix +calls=1 174 +1 39000 + +fl=/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py +fn=matrix +174 39000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/__init__.py +fn= +15 17613999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/chebyshev.py +cfn= +calls=1 87 +15 583000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite.py +cfn= +calls=1 59 +15 372999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite_e.py +cfn= +calls=1 59 +15 359000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/laguerre.py +cfn= +calls=1 59 +15 332999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/legendre.py +cfn= +calls=1 83 +15 383000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polynomial.py +cfn= +calls=1 56 +15 4487000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +15 70000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/_polybase.py +fn= +8 59000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +8 314999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/_polybase.py +cfn=ABCPolyBase +calls=1 19 +8 75999 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/_polybase.py +fn=ABCPolyBase +19 59000 +cfl=/usr/lib/python2.7/abc.py +cfn=abstractmethod +calls=12 15 +19 17000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/chebyshev.py +fn= +87 99999 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +87 412999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/chebyshev.py +cfn=Chebyshev +calls=1 2036 +87 31000 +cfl=~ +cfn= +calls=4 0 +87 39000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/chebyshev.py +fn=Chebyshev +2036 18999 +cfl=~ +cfn= +calls=2 0 +2036 12000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite.py +fn= +59 101000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +59 206000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite.py +cfn=Hermite +calls=1 1810 +59 28000 +cfl=~ +cfn= +calls=4 0 +59 37999 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite.py +fn=Hermite +1810 18000 +cfl=~ +cfn= +calls=2 0 +1810 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite_e.py +fn= +59 77000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +59 209999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite_e.py +cfn=HermiteE +calls=1 1807 +59 28000 +cfl=~ +cfn= +calls=4 0 +59 44000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/hermite_e.py +fn=HermiteE +1807 18000 +cfl=~ +cfn= +calls=2 0 +1807 10000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/laguerre.py +fn= +59 90999 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +59 183000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/laguerre.py +cfn=Laguerre +calls=1 1760 +59 24999 +cfl=~ +cfn= +calls=4 0 +59 34000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/laguerre.py +fn=Laguerre +1760 17000 +cfl=~ +cfn= +calls=2 0 +1760 8000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/legendre.py +fn= +83 89999 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +83 214000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/legendre.py +cfn=Legendre +calls=1 1790 +83 29999 +cfl=~ +cfn= +calls=4 0 +83 49000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/legendre.py +fn=Legendre +1790 18999 +cfl=~ +cfn= +calls=2 0 +1790 11000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polynomial.py +fn= +56 3532000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +56 160000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/_polybase.py +cfn= +calls=1 8 +56 450000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polynomial.py +cfn=Polynomial +calls=1 1601 +56 24000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +cfn= +calls=1 45 +56 278000 +cfl=~ +cfn= +calls=4 0 +56 42999 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polynomial.py +fn=Polynomial +1601 12000 +cfl=~ +cfn= +calls=2 0 +1601 12000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +fn= +45 272999 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +cfn=RankWarning +calls=1 58 +45 2000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +cfn=PolyError +calls=1 62 +45 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +cfn=PolyDomainError +calls=1 66 +45 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +cfn=PolyBase +calls=1 79 +45 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +fn=RankWarning +58 2000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +fn=PolyError +62 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +fn=PolyDomainError +66 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/polynomial/polyutils.py +fn=PolyBase +79 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/random/__init__.py +fn= +88 7110000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=__init__:507 +calls=2 507 +88 69000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/getlimits.py +cfn=max +calls=2 532 +88 35000 +cfl=/usr/lib/python2.7/dist-packages/numpy/random/info.py +cfn= +calls=1 86 +88 11000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=2 518 +88 79000 +cfl=/usr/lib/python2.7/warnings.py +cfn=filterwarnings +calls=1 67 +88 922000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__init__ +calls=1 343 +88 8000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__enter__ +calls=1 364 +88 8000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__exit__ +calls=1 380 +88 5000 +cfl=~ +cfn= +calls=1 0 +88 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/random/info.py +fn= +86 11000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/__init__.py +fn= +7 4012000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/decorators.py +cfn= +calls=1 15 +7 18363000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn= +calls=1 6 +7 140000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=_numpy_tester +calls=1 518 +7 69000 +cfl=/usr/lib/python2.7/unittest/__init__.py +cfn= +calls=1 45 +7 18631000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/decorators.py +fn= +15 3466000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn= +calls=1 4 +15 14896999 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +fn= +6 125000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=NoseTester +calls=1 110 +6 14999 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +fn=NoseTester +110 14999 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +fn=__init__ +152 238999 +cfl=/usr/lib/python2.7/posixpath.py +cfn=dirname +calls=19 120 +152 230999 +cfl=~ +cfn= +calls=38 0 +152 17000 +cfl=~ +cfn= +calls=19 0 +152 26000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +fn=_numpy_tester +518 169999 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/nosetester.py +cfn=__init__ +calls=19 152 +518 513000 +cfl=~ +cfn= +calls=19 0 +518 17000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn= +4 10114999 +cfl=/usr/lib/python2.7/contextlib.py +cfn= +calls=1 1 +4 196000 +cfl=/usr/lib/python2.7/contextlib.py +cfn=contextmanager +calls=4 54 +4 101000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn= +calls=1 1 +4 1065000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=__call__ +calls=1 74 +4 29000 +cfl=/usr/lib/python2.7/dist-packages/numpy/lib/utils.py +cfn=deprecate +calls=1 118 +4 10000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn=KnownFailureException +calls=1 41 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn=WarningMessage +calls=1 1589 +4 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn=WarningManager +calls=1 1622 +4 3000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn=IgnoreException +calls=1 1849 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn=clear_and_catch_warnings +calls=1 1890 +4 4000 +cfl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +cfn=suppress_warnings +calls=1 1955 +4 16000 +cfl=/usr/lib/python2.7/shutil.py +cfn= +calls=1 5 +4 3343999 +cfl=~ +cfn= +calls=1 0 +4 2000 +cfl=~ +cfn= +calls=2 0 +4 7000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn=KnownFailureException +41 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn=WarningMessage +1589 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn=WarningManager +1622 3000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn=IgnoreException +1849 1000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn=clear_and_catch_warnings +1890 4000 + +fl=/usr/lib/python2.7/dist-packages/numpy/testing/utils.py +fn=suppress_warnings +1955 16000 + +fl=/usr/lib/python2.7/dist-packages/numpy/version.py +fn= +5 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn= +61 3913000 +cfl=/usr/lib/python2.7/abc.py +cfn=register +calls=1 105 +61 178000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:160 +calls=1 160 +61 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_Constants +calls=1 172 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseBaseException +calls=1 182 +61 10000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseException +calls=1 238 +61 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseFatalException +calls=1 259 +61 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseSyntaxException +calls=1 264 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=RecursiveGrammarException +calls=1 283 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ParseResultsWithOffset +calls=1 291 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseResults +calls=1 301 +61 42000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParserElement +calls=1 1080 +61 181999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=3 1144 +61 146000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setName +calls=19 1167 +61 97000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setResultsName:1181 +calls=2 1181 +61 236000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setParseAction +calls=3 1227 +61 10121000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__add__ +calls=15 1799 +61 915999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__or__ +calls=8 1926 +61 509000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__invert__ +calls=2 1998 +61 68000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:2030 +calls=1 2030 +61 0 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Token +calls=1 2342 +61 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Empty +calls=1 2350 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2354 +calls=1 2354 +61 3130999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=NoMatch +calls=1 2361 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Literal +calls=1 2376 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2390 +calls=3 2390 +61 72000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Keyword +calls=1 2417 +61 199999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=CaselessLiteral +calls=1 2482 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=CaselessKeyword +calls=1 2505 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=CloseMatch +calls=1 2523 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Word +calls=1 2584 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2631 +calls=5 2631 +61 3780000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Regex +calls=1 2743 +61 323999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2757 +calls=14 2757 +61 6780000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=QuotedString +calls=1 2816 +61 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=CharsNotIn +calls=1 2953 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=White +calls=1 3024 +61 12000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_PositionToken +calls=1 3075 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=GoToColumn +calls=1 3082 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=LineStart +calls=1 3108 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3129 +calls=1 3129 +61 34000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=LineEnd +calls=1 3138 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3142 +calls=2 3142 +61 61000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=StringStart +calls=1 3158 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3162 +calls=1 3162 +61 20000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=StringEnd +calls=1 3173 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3177 +calls=1 3177 +61 18999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=WordStart +calls=1 3191 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=WordEnd +calls=1 3211 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseExpression +calls=1 3234 +61 8000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=And +calls=1 3346 +61 44999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Or +calls=1 3422 +61 5000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=MatchFirst +calls=1 3501 +61 5000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Each +calls=1 3569 +61 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ParseElementEnhance +calls=1 3693 +61 5000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3740 +calls=1 3740 +61 208000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=FollowedBy +calls=1 3770 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=NotAny +calls=1 3796 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_MultipleMatch +calls=1 3828 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3829 +calls=2 3829 +61 73000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=OneOrMore +calls=1 3866 +61 7000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=ZeroOrMore +calls=1 3901 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_NullToken +calls=1 3932 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Optional +calls=1 3940 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3975 +calls=3 3975 +61 106000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=SkipTo +calls=1 4004 +61 7000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Forward +calls=1 4119 +61 6000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ForwardNoRecurse +calls=1 4200 +61 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=TokenConverter +calls=1 4204 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=3 4208 +61 158000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Combine +calls=1 4212 +61 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4229 +calls=7 4229 +61 4138999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Group +calls=1 4256 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4270 +calls=2 4270 +61 46000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Dict +calls=1 4277 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=Suppress +calls=1 4342 +61 2000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=OnlyOnce +calls=1 4368 +61 9000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=delimitedList +calls=1 4428 +61 227999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=srange +calls=2 4741 +61 4116000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=tokenMap +calls=2 4803 +61 11000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=makeHTMLTags +calls=1 4882 +61 5188000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=pyparsing_common +calls=1 5377 +61 32958999 +cfl=~ +cfn= +calls=1 0 +61 1000 +cfl=~ +cfn= +calls=11 0 +61 16000 +cfl=~ +cfn= +calls=11 0 +61 4000 +cfl=~ +cfn= +calls=2 0 +61 109000 +cfl=~ +cfn= +calls=1 0 +61 2000 +cfl=~ +cfn= +calls=2 0 +61 18999 +cfl=~ +cfn= +calls=1 0 +61 4000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_ustr +131 643999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:2131 +calls=15 2131 +131 10000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:2720 +calls=28 2720 +131 270000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:2804 +calls=46 2804 +131 390000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:3412 +calls=13 3412 +131 488000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:3554 +calls=15 3554 +131 428000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:3759 +calls=9 3759 +131 85999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:3819 +calls=9 3819 +131 70000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:3892 +calls=1 3892 +131 13000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:3995 +calls=9 3995 +131 113000 +cfl=~ +cfn= +calls=188 0 +131 147000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:160 +160 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_Constants +172 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:180 +180 59000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseBaseException +182 10000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:186 +186 148000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseException +238 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseFatalException +259 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseSyntaxException +264 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=RecursiveGrammarException +283 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_ParseResultsWithOffset +291 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:292 +292 4000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__getitem__:294 +294 6000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseResults +301 42000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__new__ +340 128999 +cfl=~ +cfn= +calls=44 0 +340 14000 +cfl=~ +cfn= +calls=82 0 +340 49999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:349 +349 367000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:292 +calls=2 292 +349 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__new__ +calls=2 340 +349 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:349 +calls=2 349 +349 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:388 +calls=2 388 +349 12000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__setitem__ +calls=2 397 +349 24000 +cfl=~ +cfn= +calls=88 0 +349 49999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__getitem__:388 +388 48000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:294 +calls=4 294 +388 0 +cfl=~ +cfn= +calls=24 0 +388 12000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__setitem__ +397 31000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:294 +calls=4 294 +397 3000 +cfl=~ +cfn= +calls=8 0 +397 4000 +cfl=~ +cfn= +calls=4 0 +397 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__bool__ +435 14000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__iter__ +437 4000 +cfl=~ +cfn= +calls=2 0 +437 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=haskeys +483 10000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__getattr__ +621 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:388 +calls=2 388 +621 11000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__iadd__ +640 74000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:292 +calls=2 292 +640 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:294 +calls=8 294 +640 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__setitem__ +calls=2 397 +640 14999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:643 +calls=2 643 +640 2000 +cfl=~ +cfn= +calls=2 0 +640 1000 +cfl=~ +cfn= +calls=2 0 +640 1000 +cfl=~ +cfn= +calls=2 0 +640 2000 +cfl=~ +cfn= +calls=12 0 +640 13000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:643 +643 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_trim_arity +1016 272000 +cfl=/usr/lib/python2.7/traceback.py +cfn=extract_stack +calls=15 281 +1016 10839000 +cfl=~ +cfn= +calls=30 0 +1016 24000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=wrapper +1046 32000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:4735 +calls=12 4735 +1046 126000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParserElement +1080 148000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_UnboundedCache +calls=1 1433 +1080 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_FifoCache +calls=1 1456 +1080 1000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=1 114 +1080 32000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:1121 +1121 4663000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=copy:1144 +1144 1204000 +cfl=/usr/lib/python2.7/copy.py +cfn=copy +calls=429 66 +1144 15695999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=setName +1167 136000 +cfl=~ +cfn= +calls=45 0 +1167 111000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=setResultsName:1181 +1181 24000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=5 1144 +1181 488999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:3341 +calls=1 3341 +1181 392999 +cfl=~ +cfn= +calls=6 0 +1181 6000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=setParseAction +1227 99999 +cfl=~ +cfn= +calls=14 0 +1227 11139000 +cfl=~ +cfn= +calls=14 0 +1227 5000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=addParseAction +1265 14999 +cfl=~ +cfn= +calls=2 0 +1265 94999 +cfl=~ +cfn= +calls=2 0 +1265 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=addCondition +1275 12000 +cfl=~ +cfn= +calls=1 0 +1275 1000 +cfl=~ +cfn= +calls=3 0 +1275 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=preParse +1328 122999 +cfl=~ +cfn= +calls=64 0 +1328 20000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=postParse:1343 +1343 14999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_parseNoCache +1347 824000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__new__ +calls=68 340 +1347 148000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:349 +calls=68 349 +1347 280000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=wrapper +calls=12 1046 +1347 158000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=preParse +calls=64 1328 +1347 143000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=postParse:1343 +calls=46 1343 +1347 14999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:2409 +calls=12 2409 +1347 47000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:2685 +calls=20 2685 +1347 155000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:2791 +calls=24 2791 +1347 567000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:3375 +calls=10 3375 +1347 2920000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:3525 +calls=20 3525 +1347 2268000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:3715 +calls=16 3715 +1347 2431999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:3837 +calls=2 3837 +1347 2397000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseImpl:3981 +calls=2 3981 +1347 42999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=postParse:4274 +calls=6 4274 +1347 5000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=postParse:4361 +calls=4 4361 +1347 1000 +cfl=~ +cfn= +calls=64 0 +1347 6000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_UnboundedCache +1433 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_FifoCache +1456 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=resetCache +1545 16000 +cfl=~ +cfn= +calls=2 0 +1545 0 +cfl=~ +cfn= +calls=2 0 +1545 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseString +1586 26000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_parseNoCache +calls=2 1347 +1586 2954000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=resetCache +calls=2 1545 +1586 18000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3297 +calls=1 3297 +1586 812000 +cfl=~ +cfn= +calls=2 0 +1586 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__add__ +1799 237000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2390 +calls=10 2390 +1799 245000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3368 +calls=53 3368 +1799 2672000 +cfl=~ +cfn= +calls=106 0 +1799 69000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__radd__ +1819 24999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__add__ +calls=4 1799 +1819 169999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2390 +calls=4 2390 +1819 99999 +cfl=~ +cfn= +calls=8 0 +1819 7000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__mul__ +1855 24999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=makeOptionalList +calls=2 1904 +1855 1269999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3368 +calls=1 3368 +1855 36000 +cfl=~ +cfn= +calls=11 0 +1855 4000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=makeOptionalList +1904 63000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__add__ +calls=10 1799 +1904 914000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=makeOptionalList +calls=10 1904 +1904 1122000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3975 +calls=12 3975 +1904 292999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__or__ +1926 80999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3518 +calls=16 3518 +1926 835999 +cfl=~ +cfn= +calls=32 0 +1926 21000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__invert__ +1998 14999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3807 +calls=4 3807 +1998 118999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__call__ +2004 9000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=2 1144 +2004 116000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setResultsName:1181 +calls=1 1181 +2004 98000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=suppress +2023 10000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=3 4208 +2023 65999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=leaveWhitespace:2030 +2030 46000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=setWhitespaceChars +2039 109999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:2131 +2131 126000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=streamline:2137 +2137 56999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Token +2342 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:2346 +2346 180999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:1121 +calls=73 1121 +2346 3660999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Empty +2350 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:2354 +2354 16000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2346 +calls=1 2346 +2354 3114999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=NoMatch +2361 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Literal +2376 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:2390 +2390 367000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=30 131 +2390 88000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2346 +calls=30 2346 +2390 257999 +cfl=~ +cfn= +calls=30 0 +2390 11000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:2409 +2409 32999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:186 +calls=4 186 +2409 14000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Keyword +2417 199999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=CaselessLiteral +2482 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=CaselessKeyword +2505 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=CloseMatch +2523 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Word +2584 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:2631 +2631 597000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=11 131 +2631 346000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2346 +calls=11 2346 +2631 127000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_escapeRegexRangeChars +calls=11 4543 +2631 165000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=8 192 +2631 8201999 +cfl=~ +cfn= +calls=3 0 +2631 1000 +cfl=~ +cfn= +calls=3 0 +2631 248000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:2634 +2634 134000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:2685 +2685 106000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:186 +calls=20 186 +2685 37999 +cfl=~ +cfn= +calls=12 0 +2685 1000 +cfl=~ +cfn= +calls=12 0 +2685 10000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:2720 +2720 181999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:2131 +calls=28 2131 +2720 49000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=charsAsStr +calls=15 2729 +2720 39000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=charsAsStr +2729 37000 +cfl=~ +cfn= +calls=15 0 +2729 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Regex +2743 8000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +2743 316000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:2757 +2757 367000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=24 131 +2757 506999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2346 +calls=24 2346 +2757 243000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=24 192 +2757 17098000 +cfl=~ +cfn= +calls=24 0 +2757 18000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:2791 +2791 136000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:186 +calls=12 186 +2791 96000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__new__ +calls=12 340 +2791 41000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:349 +calls=12 349 +2791 179999 +cfl=~ +cfn= +calls=12 0 +2791 7000 +cfl=~ +cfn= +calls=12 0 +2791 6000 +cfl=~ +cfn= +calls=12 0 +2791 21000 +cfl=~ +cfn= +calls=24 0 +2791 80000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:2804 +2804 294000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:2131 +calls=46 2131 +2804 56000 +cfl=~ +cfn= +calls=24 0 +2804 40000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=QuotedString +2816 4000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=CharsNotIn +2953 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=White +3024 12000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3039 +3039 21000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setWhitespaceChars +calls=1 2039 +3039 1000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2346 +calls=1 2346 +3039 17000 +cfl=~ +cfn= +calls=2 0 +3039 23000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3042 +3042 6000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3044 +3044 7000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_PositionToken +3075 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3076 +3076 31000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2346 +calls=6 2346 +3076 82000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=GoToColumn +3082 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=LineStart +3108 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3129 +3129 8000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3076 +calls=1 3076 +3129 26000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=LineEnd +3138 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3142 +3142 23000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setWhitespaceChars +calls=3 2039 +3142 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3076 +calls=3 3076 +3142 54000 +cfl=~ +cfn= +calls=3 0 +3142 8000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=StringStart +3158 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3162 +3162 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3076 +calls=1 3076 +3162 17000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=StringEnd +3173 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3177 +3177 3000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3076 +calls=1 3076 +3177 16000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=WordStart +3191 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=WordEnd +3211 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseExpression +3234 8000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3238 +3238 1292999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:1121 +calls=70 1121 +3238 513000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3248 +calls=70 3248 +3238 49000 +cfl=~ +cfn= +calls=70 0 +3238 216000 +cfl=~ +cfn= +calls=210 0 +3238 705000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3248 +3248 131999 +cfl=~ +cfn= +calls=70 0 +3248 61000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=leaveWhitespace:3266 +3266 682000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=89 1144 +3266 3235999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:2030 +calls=68 2030 +3266 42000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:3266 +calls=32 3266 +3266 9649999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:3341 +calls=32 3341 +3266 6318000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:3721 +calls=21 3721 +3266 6660000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=streamline:3297 +3297 266000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=20 131 +3297 935000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:2137 +calls=43 2137 +3297 35000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3297 +calls=13 3297 +3297 1001999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3740 +calls=10 3740 +3297 761000 +cfl=~ +cfn= +calls=36 0 +3297 23000 +cfl=~ +cfn= +calls=20 0 +3297 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=setResultsName:3331 +3331 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setResultsName:1181 +calls=1 1181 +3331 397000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=copy:3341 +3341 765000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=321 1144 +3341 12367999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:3341 +calls=62 3341 +3341 7033999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=And +3346 44000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ErrorStop +calls=1 3362 +3346 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_ErrorStop +3362 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3368 +3368 428999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setWhitespaceChars +calls=54 2039 +3368 51000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3238 +calls=54 3238 +3368 2120000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3370 +calls=48 3370 +3368 16000 +cfl=~ +cfn= +calls=54 0 +3368 92000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3370 +3370 64000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:3375 +3375 128999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__bool__ +calls=14 435 +3375 10000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=haskeys +calls=6 483 +3375 10000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__iadd__ +calls=8 640 +3375 94999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_parseNoCache +calls=26 1347 +3375 2774999 +cfl=~ +cfn= +calls=16 0 +3375 14999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:3412 +3412 59000 +cfl=~ +cfn= +calls=13 0 +3412 22000 +cfl=~ +cfn= +calls=11 0 +3412 410000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3417 +3417 44000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=30 131 +3417 298000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Or +3422 5000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=MatchFirst +3501 5000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3518 +3518 118000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3238 +calls=16 3238 +3518 656000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3521 +calls=9 3521 +3518 4000 +cfl=~ +cfn= +calls=16 0 +3518 58000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3521 +3521 27000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:3525 +3525 224000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_parseNoCache +calls=52 1347 +3525 2172000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:3554 +3554 56000 +cfl=~ +cfn= +calls=15 0 +3554 26000 +cfl=~ +cfn= +calls=11 0 +3554 346000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:3559 +3559 59999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=39 131 +3559 222000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Each +3569 4000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ParseElementEnhance +3693 5000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3697 +3697 453000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:1121 +calls=58 1121 +3697 488999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setWhitespaceChars +calls=58 2039 +3697 54000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2390 +calls=11 2390 +3697 252999 +cfl=~ +cfn= +calls=58 0 +3697 52000 +cfl=~ +cfn= +calls=11 0 +3697 9000 +cfl=~ +cfn= +calls=58 0 +3697 21000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:3715 +3715 47000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_parseNoCache +calls=16 1347 +3715 2427000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=leaveWhitespace:3721 +3721 133000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=7 1144 +3721 406000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:2030 +calls=5 2030 +3721 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:3266 +calls=26 3266 +3721 13479000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:3341 +calls=26 3341 +3721 6422000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:3721 +calls=2 3721 +3721 1798000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=streamline:3740 +3740 61000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:2137 +calls=22 2137 +3740 22000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3297 +calls=5 3297 +3740 975000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3740 +calls=3 3740 +3740 993000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:3759 +3759 49000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=3 131 +3759 26000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__str__:2131 +calls=9 2131 +3759 11000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=FollowedBy +3770 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=NotAny +3796 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3807 +3807 18000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=4 131 +3807 18000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3697 +calls=4 3697 +3807 83000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:3819 +3819 40000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=4 131 +3819 18000 +cfl=~ +cfn= +calls=9 0 +3819 12000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_MultipleMatch +3828 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3829 +3829 54000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3697 +calls=6 3697 +3829 122999 +cfl=~ +cfn= +calls=6 0 +3829 6000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:3837 +3837 37000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__bool__ +calls=4 435 +3837 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__iadd__ +calls=4 640 +3837 17000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_parseNoCache +calls=8 1347 +3837 2339000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=OneOrMore +3866 7000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:3892 +3892 5000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=1 131 +3892 6000 +cfl=~ +cfn= +calls=1 0 +3892 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=ZeroOrMore +3901 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3913 +3913 12000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3829 +calls=3 3829 +3913 77000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_NullToken +3932 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Optional +3940 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:3975 +3975 207000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3697 +calls=23 3697 +3975 446000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=parseImpl:3981 +3981 17000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_parseNoCache +calls=2 1347 +3981 26000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__str__:3995 +3995 24000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=5 131 +3995 75000 +cfl=~ +cfn= +calls=9 0 +3995 14000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=SkipTo +4004 7000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Forward +4119 6000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_ForwardNoRecurse +4200 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=TokenConverter +4204 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:4208 +4208 70999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3697 +calls=25 3697 +4208 678999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Combine +4212 3000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:4229 +4229 90999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=leaveWhitespace:3721 +calls=10 3721 +4229 17242999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=10 4208 +4229 202000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Group +4256 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:4270 +4270 9000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=3 4208 +4270 64999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=postParse:4274 +4274 5000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Dict +4277 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=__init__:4313 +4313 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=1 4208 +4313 23000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=Suppress +4342 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=postParse:4361 +4361 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=OnlyOnce +4368 9000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=delimitedList +4428 37999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=6 131 +4428 94999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setName +calls=2 1167 +4428 12000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__add__ +calls=4 1799 +4428 161999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3913 +calls=2 3913 +4428 49999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=2 4208 +4428 89000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_escapeRegexRangeChars +4543 96000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_ustr +calls=11 131 +4543 28000 +cfl=~ +cfn= +calls=66 0 +4543 41000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:4735 +4735 79000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:388 +calls=12 388 +4735 22000 +cfl=~ +cfn= +calls=12 0 +4735 13000 +cfl=~ +cfn= +calls=12 0 +4735 12000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=srange +4741 32999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__iter__ +calls=2 437 +4741 6000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getattr__ +calls=2 621 +4741 14000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=parseString +calls=2 1586 +4741 3813000 +cfl=~ +cfn= +calls=2 0 +4741 250000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:4759 +4759 67000 +cfl=~ +cfn= +calls=93 0 +4759 42999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:4759 +4759 37999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__getitem__:388 +calls=8 388 +4759 14999 +cfl=~ +cfn= +calls=6 0 +4759 5000 +cfl=~ +cfn= +calls=4 0 +4759 164000 +cfl=~ +cfn= +calls=8 0 +4759 2000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:4761 +4761 12000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:4759 +calls=6 4759 +4761 224000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=tokenMap +4803 29000 +cfl=~ +cfn= +calls=14 0 +4803 8000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=_makeTags +4853 143000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=1 1144 +4853 92000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setName +calls=2 1167 +4853 9000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setResultsName:1181 +calls=2 1181 +4853 180999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setParseAction +calls=3 1227 +4853 352000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__add__ +calls=8 1799 +4853 385000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__or__ +calls=1 1926 +4853 72000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__call__ +calls=1 2004 +4853 102000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2390 +calls=1 2390 +4853 23000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2631 +calls=2 2631 +4853 2497000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setResultsName:3331 +calls=1 3331 +4853 401000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3913 +calls=1 3913 +4853 39000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3975 +calls=2 3975 +4853 75999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4208 +calls=3 4208 +4853 147000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4229 +calls=1 4229 +4853 522000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4270 +calls=1 4270 +4853 28000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4313 +calls=1 4313 +4853 27000 +cfl=~ +cfn= +calls=1 0 +4853 1000 +cfl=~ +cfn= +calls=3 0 +4853 80999 +cfl=~ +cfn= +calls=2 0 +4853 1000 +cfl=~ +cfn= +calls=2 0 +4853 4000 +cfl=~ +cfn= +calls=2 0 +4853 1000 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=:4868 +4868 37999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=makeHTMLTags +4882 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_makeTags +calls=1 4853 +4882 5183999 + +fl=/usr/lib/python2.7/dist-packages/pyparsing.py +fn=pyparsing_common +5377 314999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=copy:1144 +calls=1 1144 +5377 47000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setName +calls=22 1167 +5377 128999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=setParseAction +calls=8 1227 +5377 771000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=addParseAction +calls=2 1265 +5377 112000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=addCondition +calls=1 1275 +5377 14000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__add__ +calls=12 1799 +5377 676000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__radd__ +calls=4 1819 +5377 301999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__mul__ +calls=3 1855 +5377 1335000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__or__ +calls=7 1926 +5377 357000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__invert__ +calls=2 1998 +5377 65999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__call__ +calls=2 2004 +5377 121000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=suppress +calls=3 2023 +5377 75999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2390 +calls=1 2390 +5377 31000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2631 +calls=4 2631 +5377 3408999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:2757 +calls=10 2757 +5377 11453000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3039 +calls=1 3039 +5377 62000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3142 +calls=1 3142 +5377 28000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3297 +calls=1 3297 +5377 113999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=streamline:3740 +calls=1 3740 +5377 210999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3829 +calls=1 3829 +5377 32999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:3975 +calls=6 3975 +5377 178000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=__init__:4229 +calls=2 4229 +5377 12875000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=delimitedList +calls=1 4428 +5377 218000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=tokenMap +calls=5 4803 +5377 26000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/__init__.py +fn= +35 5084000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/common.py +cfn= +calls=1 35 +35 106000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn= +calls=1 35 +35 143000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn= +calls=1 36 +35 19228000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn= +calls=1 33 +35 17096000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/common.py +fn= +35 102000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/common.py +cfn=ResourceNotFound +calls=1 43 +35 4000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/common.py +fn=ResourceNotFound +43 4000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn= +35 143000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=get_ros_paths +83 26000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_ros_root +calls=2 96 +83 143000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_ros_package_path +calls=2 110 +83 20000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=_compute_package_paths +calls=2 179 +83 24999 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=get_ros_root +96 42999 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=2 91 +96 29999 +cfl=/usr/lib/python2.7/posixpath.py +cfn=normpath +calls=2 336 +96 70000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=get_ros_package_path +110 6000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=2 91 +110 14000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=get_ros_home +120 14000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=2 103 +120 2000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=2 61 +120 14000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=expanduser +calls=2 251 +120 37999 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=get_log_dir +139 17000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=1 103 +139 2000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_ros_home +calls=1 120 +139 47000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=1 61 +139 4000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=_compute_package_paths +179 18999 +cfl=~ +cfn= +calls=2 0 +179 0 +cfl=~ +cfn= +calls=2 0 +179 1000 +cfl=~ +cfn= +calls=2 0 +179 3000 +cfl=~ +cfn= +calls=4 0 +179 2000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +fn=get_etc_ros_dir +213 5000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__getitem__ +calls=1 35 +213 1000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=1 103 +213 1000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn= +36 5736000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn=InvalidManifest +calls=1 54 +36 1000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn=Export +calls=1 182 +36 2000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn=Platform +calls=1 208 +36 11000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn=Depend +calls=1 252 +36 4000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn=RosDep +calls=1 295 +36 2000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +cfn=Manifest +calls=1 312 +36 5000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn= +calls=1 15 +36 2637000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn= +calls=1 16 +36 10830000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn=InvalidManifest +54 1000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn=Export +182 2000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn=Platform +208 11000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn=Depend +252 4000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn=RosDep +295 2000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/manifest.py +fn=Manifest +312 5000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn= +33 2580000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=ManifestManager +calls=1 106 +33 26000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=RosPack +calls=1 310 +33 5000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=RosStack +calls=1 395 +33 4000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/stack.py +cfn= +calls=1 35 +33 314000 +cfl=/usr/lib/python2.7/xml/etree/__init__.py +cfn= +calls=1 1 +33 1000 +cfl=/usr/lib/python2.7/xml/etree/cElementTree.py +cfn= +calls=1 3 +33 14164000 +cfl=~ +cfn= +calls=1 0 +33 2000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=list_by_path +49 9767999 +cfl=/usr/lib/python2.7/os.py +cfn=walk +calls=305 209 +49 217721000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=284 61 +49 1132000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=abspath +calls=3 365 +49 94000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=__init__ +calls=284 607 +49 174242999 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=find +calls=284 694 +49 11649999 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=findtext +calls=249 718 +49 1006000 +cfl=~ +cfn= +calls=249 0 +49 136000 +cfl=~ +cfn= +calls=2 0 +49 3000 +cfl=~ +cfn= +calls=249 0 +49 289000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=ManifestManager +106 26000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=__init__:115 +115 24999 +cfl=/usr/lib/python2.7/dist-packages/rospkg/environment.py +cfn=get_ros_paths +calls=2 83 +115 214000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=_update_location_cache +173 58000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=list_by_path +calls=3 49 +173 416041999 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=get_path +199 7000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=_update_location_cache +calls=1 173 +199 416099999 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=RosPack +310 5000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=__init__:330 +330 18999 +cfl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +cfn=__init__:115 +calls=2 115 +330 238999 + +fl=/usr/lib/python2.7/dist-packages/rospkg/rospack.py +fn=RosStack +395 4000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/stack.py +fn= +35 310999 +cfl=/usr/lib/python2.7/dist-packages/rospkg/stack.py +cfn=InvalidStack +calls=1 51 +35 1000 +cfl=/usr/lib/python2.7/dist-packages/rospkg/stack.py +cfn=Stack +calls=1 137 +35 2000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/stack.py +fn=InvalidStack +51 1000 + +fl=/usr/lib/python2.7/dist-packages/rospkg/stack.py +fn=Stack +137 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +fn= +2 8050999 +cfl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +cfn=YAMLObjectMetaclass +calls=1 276 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +cfn=__init__ +calls=1 280 +2 13000 +cfl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +cfn=YAMLObject +calls=1 286 +2 9000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn= +calls=1 2 +2 5334999 +cfl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +cfn= +calls=1 2 +2 5731000 +cfl=/usr/lib/python2.7/dist-packages/yaml/error.py +cfn= +calls=1 2 +2 238999 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn= +calls=1 4 +2 492999 +cfl=/usr/lib/python2.7/dist-packages/yaml/loader.py +cfn= +calls=1 2 +2 267554000 +cfl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +cfn= +calls=1 2 +2 210999 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn= +calls=1 2 +2 713000 + +fl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +fn=YAMLObjectMetaclass +276 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +fn=__init__ +280 13000 + +fl=/usr/lib/python2.7/dist-packages/yaml/__init__.py +fn=YAMLObject +286 9000 + +fl=/usr/lib/python2.7/dist-packages/yaml/composer.py +fn= +2 155000 +cfl=/usr/lib/python2.7/dist-packages/yaml/composer.py +cfn=ComposerError +calls=1 8 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/composer.py +cfn=Composer +calls=1 11 +2 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/composer.py +fn=ComposerError +8 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/composer.py +fn=Composer +11 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn= +2 768999 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=ConstructorError +calls=1 12 +2 4000 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=BaseConstructor +calls=1 15 +2 13000 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=add_constructor +calls=24 149 +2 47000 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=add_multi_constructor +calls=5 155 +2 10000 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=SafeConstructor +calls=1 161 +2 5314999 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=Constructor +calls=1 467 +2 14999 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=ConstructorError +12 4000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=BaseConstructor +15 13000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=add_constructor +149 44000 +cfl=~ +cfn= +calls=2 0 +149 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=add_multi_constructor +155 9000 +cfl=~ +cfn= +calls=1 0 +155 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=SafeConstructor +161 40000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +161 5275000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=Constructor +467 14000 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn=classobj +calls=1 532 +467 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +fn=classobj +532 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn= +2 5323000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn=CBaseLoader +calls=1 14 +2 3000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn=CSafeLoader +calls=1 21 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn=CLoader +calls=1 28 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn=CBaseDumper +calls=1 35 +2 3000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn=CSafeDumper +calls=1 52 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +cfn=CDumper +calls=1 69 +2 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn=CBaseLoader +14 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn=CSafeLoader +21 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn=CLoader +28 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn=CBaseDumper +35 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn=CSafeDumper +52 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/cyaml.py +fn=CDumper +69 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +fn= +2 4639000 +cfl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +cfn=BaseDumper +calls=1 9 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +cfn=SafeDumper +calls=1 27 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +cfn=Dumper +calls=1 45 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +cfn= +calls=1 9 +2 323000 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn= +calls=1 2 +2 607000 +cfl=/usr/lib/python2.7/dist-packages/yaml/serializer.py +cfn= +calls=1 2 +2 156000 + +fl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +fn=BaseDumper +9 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +fn=SafeDumper +27 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/dumper.py +fn=Dumper +45 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +fn= +9 269000 +cfl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +cfn=EmitterError +calls=1 18 +9 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +cfn=ScalarAnalysis +calls=1 21 +9 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +cfn=Emitter +calls=1 35 +9 49999 + +fl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +fn=EmitterError +18 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +fn=ScalarAnalysis +21 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/emitter.py +fn=Emitter +35 49999 + +fl=/usr/lib/python2.7/dist-packages/yaml/error.py +fn= +2 232000 +cfl=/usr/lib/python2.7/dist-packages/yaml/error.py +cfn=Mark +calls=1 4 +2 4000 +cfl=/usr/lib/python2.7/dist-packages/yaml/error.py +cfn=YAMLError +calls=1 45 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/error.py +cfn=MarkedYAMLError +calls=1 48 +2 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/error.py +fn=Mark +4 4000 + +fl=/usr/lib/python2.7/dist-packages/yaml/error.py +fn=YAMLError +45 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/error.py +fn=MarkedYAMLError +48 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn= +4 477999 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=Event +calls=1 4 +4 3000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=NodeEvent +calls=1 15 +4 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=CollectionStartEvent +calls=1 21 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=CollectionEndEvent +calls=1 31 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=StreamStartEvent +calls=1 36 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=StreamEndEvent +calls=1 42 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=DocumentStartEvent +calls=1 45 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=DocumentEndEvent +calls=1 54 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=AliasEvent +calls=1 61 +4 0 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=ScalarEvent +calls=1 64 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=SequenceStartEvent +calls=1 75 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=SequenceEndEvent +calls=1 78 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=MappingStartEvent +calls=1 81 +4 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/events.py +cfn=MappingEndEvent +calls=1 84 +4 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=Event +4 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=NodeEvent +15 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=CollectionStartEvent +21 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=CollectionEndEvent +31 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=StreamStartEvent +36 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=StreamEndEvent +42 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=DocumentStartEvent +45 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=DocumentEndEvent +54 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=AliasEvent +61 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=ScalarEvent +64 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=SequenceStartEvent +75 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=SequenceEndEvent +78 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=MappingStartEvent +81 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/events.py +fn=MappingEndEvent +84 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/loader.py +fn= +2 15744999 +cfl=/usr/lib/python2.7/dist-packages/yaml/composer.py +cfn= +calls=1 2 +2 159000 +cfl=/usr/lib/python2.7/dist-packages/yaml/constructor.py +cfn= +calls=1 2 +2 6173000 +cfl=/usr/lib/python2.7/dist-packages/yaml/loader.py +cfn=BaseLoader +calls=1 11 +2 3000 +cfl=/usr/lib/python2.7/dist-packages/yaml/loader.py +cfn=SafeLoader +calls=1 21 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/loader.py +cfn=Loader +calls=1 31 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/parser.py +cfn= +calls=1 62 +2 227000 +cfl=/usr/lib/python2.7/dist-packages/yaml/reader.py +cfn= +calls=1 18 +2 229075000 +cfl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +cfn= +calls=1 2 +2 15845999 +cfl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +cfn= +calls=1 27 +2 323999 + +fl=/usr/lib/python2.7/dist-packages/yaml/loader.py +fn=BaseLoader +11 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/loader.py +fn=SafeLoader +21 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/loader.py +fn=Loader +31 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +fn= +2 204000 +cfl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +cfn=Node +calls=1 2 +2 3000 +cfl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +cfn=ScalarNode +calls=1 25 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +cfn=CollectionNode +calls=1 35 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +cfn=SequenceNode +calls=1 44 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +cfn=MappingNode +calls=1 47 +2 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +fn=Node +2 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +fn=ScalarNode +25 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +fn=CollectionNode +35 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +fn=SequenceNode +44 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/nodes.py +fn=MappingNode +47 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/parser.py +fn= +62 197000 +cfl=/usr/lib/python2.7/dist-packages/yaml/parser.py +cfn=ParserError +calls=1 69 +62 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/parser.py +cfn=Parser +calls=1 72 +62 29000 + +fl=/usr/lib/python2.7/dist-packages/yaml/parser.py +fn=ParserError +69 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/parser.py +fn=Parser +72 29000 + +fl=/usr/lib/python2.7/dist-packages/yaml/reader.py +fn= +18 1269000 +cfl=/usr/lib/python2.7/dist-packages/yaml/reader.py +cfn=ReaderError +calls=1 26 +18 16000 +cfl=/usr/lib/python2.7/dist-packages/yaml/reader.py +cfn=Reader +calls=1 47 +18 227790000 + +fl=/usr/lib/python2.7/dist-packages/yaml/reader.py +fn=ReaderError +26 16000 + +fl=/usr/lib/python2.7/dist-packages/yaml/reader.py +fn=Reader +47 24999 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +47 227765000 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn= +2 485000 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn=RepresenterError +calls=1 12 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn=BaseRepresenter +calls=1 15 +2 12000 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn=add_representer +calls=24 74 +2 39000 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn=add_multi_representer +calls=2 80 +2 5000 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn=SafeRepresenter +calls=1 139 +2 59999 +cfl=/usr/lib/python2.7/dist-packages/yaml/representer.py +cfn=Representer +calls=1 293 +2 4000 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn=RepresenterError +12 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn=BaseRepresenter +15 12000 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn=add_representer +74 36000 +cfl=~ +cfn= +calls=2 0 +74 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn=add_multi_representer +80 5000 +cfl=~ +cfn= +calls=1 0 +80 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn=SafeRepresenter +139 31000 +cfl=~ +cfn= +calls=4 0 +139 29000 + +fl=/usr/lib/python2.7/dist-packages/yaml/representer.py +fn=Representer +293 4000 + +fl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +fn= +2 283999 +cfl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +cfn=ResolverError +calls=1 9 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +cfn=BaseResolver +calls=1 12 +2 26000 +cfl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +cfn=add_implicit_resolver +calls=8 25 +2 141999 +cfl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +cfn=Resolver +calls=1 167 +2 0 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=8 192 +2 15392999 + +fl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +fn=ResolverError +9 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +fn=BaseResolver +12 26000 + +fl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +fn=add_implicit_resolver +25 97000 +cfl=~ +cfn= +calls=54 0 +25 20000 +cfl=~ +cfn= +calls=54 0 +25 24999 + +fl=/usr/lib/python2.7/dist-packages/yaml/resolver.py +fn=Resolver +167 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +fn= +27 277000 +cfl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +cfn=ScannerError +calls=1 32 +27 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +cfn=SimpleKey +calls=1 35 +27 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +cfn=Scanner +calls=1 46 +27 42999 + +fl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +fn=ScannerError +32 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +fn=SimpleKey +35 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/scanner.py +fn=Scanner +46 42999 + +fl=/usr/lib/python2.7/dist-packages/yaml/serializer.py +fn= +2 151999 +cfl=/usr/lib/python2.7/dist-packages/yaml/serializer.py +cfn=SerializerError +calls=1 8 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/serializer.py +cfn=Serializer +calls=1 11 +2 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/serializer.py +fn=SerializerError +8 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/serializer.py +fn=Serializer +11 3000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn= +2 692999 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=Token +calls=1 2 +2 2000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=DirectiveToken +calls=1 17 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=DocumentStartToken +calls=1 25 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=DocumentEndToken +calls=1 28 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=StreamStartToken +calls=1 31 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=StreamEndToken +calls=1 39 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=BlockSequenceStartToken +calls=1 42 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=BlockMappingStartToken +calls=1 45 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=BlockEndToken +calls=1 48 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=FlowSequenceStartToken +calls=1 51 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=FlowMappingStartToken +calls=1 54 +2 0 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=FlowSequenceEndToken +calls=1 57 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=FlowMappingEndToken +calls=1 60 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=KeyToken +calls=1 63 +2 0 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=ValueToken +calls=1 66 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=BlockEntryToken +calls=1 69 +2 0 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=FlowEntryToken +calls=1 72 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=AliasToken +calls=1 75 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=AnchorToken +calls=1 82 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=TagToken +calls=1 89 +2 1000 +cfl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +cfn=ScalarToken +calls=1 96 +2 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=Token +2 2000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=DirectiveToken +17 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=DocumentStartToken +25 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=DocumentEndToken +28 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=StreamStartToken +31 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=StreamEndToken +39 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=BlockSequenceStartToken +42 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=BlockMappingStartToken +45 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=BlockEndToken +48 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=FlowSequenceStartToken +51 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=FlowMappingStartToken +54 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=FlowSequenceEndToken +57 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=FlowMappingEndToken +60 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=KeyToken +63 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=ValueToken +66 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=BlockEntryToken +69 0 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=FlowEntryToken +72 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=AliasToken +75 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=AnchorToken +82 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=TagToken +89 1000 + +fl=/usr/lib/python2.7/dist-packages/yaml/tokens.py +fn=ScalarToken +96 2000 + +fl=/usr/lib/python2.7/fnmatch.py +fn= +11 18000 + +fl=/usr/lib/python2.7/functools.py +fn=update_wrapper +17 150000 +cfl=~ +cfn= +calls=65 0 +17 52000 +cfl=~ +cfn= +calls=13 0 +17 27000 +cfl=~ +cfn= +calls=39 0 +17 34000 + +fl=/usr/lib/python2.7/functools.py +fn=wraps +39 59000 + +fl=/usr/lib/python2.7/genericpath.py +fn=exists +23 14999 +cfl=~ +cfn= +calls=3 0 +23 109000 + +fl=/usr/lib/python2.7/genericpath.py +fn=isfile +34 54000 +cfl=/usr/lib/python2.7/stat.py +cfn=S_ISREG +calls=3 49 +34 11000 +cfl=~ +cfn= +calls=7 0 +34 1545999 + +fl=/usr/lib/python2.7/genericpath.py +fn=isdir +46 3849000 +cfl=/usr/lib/python2.7/stat.py +cfn=S_ISDIR +calls=1378 40 +46 2555999 +cfl=~ +cfn= +calls=1378 0 +46 168650000 + +fl=/usr/lib/python2.7/genericpath.py +fn=_splitext +93 36000 +cfl=~ +cfn= +calls=12 0 +93 6000 + +fl=/usr/lib/python2.7/gzip.py +fn= +4 59000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +4 227000 +cfl=/usr/lib/python2.7/gzip.py +cfn=GzipFile +calls=1 36 +4 32000 + +fl=/usr/lib/python2.7/gzip.py +fn=GzipFile +36 32000 + +fl=/usr/lib/python2.7/hashlib.py +fn= +56 9562000 +cfl=/usr/lib/python2.7/hashlib.py +cfn=__get_openssl_constructor +calls=6 100 +56 394000 +cfl=~ +cfn= +calls=6 0 +56 2000 +cfl=~ +cfn= +calls=1 0 +56 6000 + +fl=/usr/lib/python2.7/hashlib.py +fn=__get_openssl_constructor +100 31000 +cfl=~ +cfn=<_hashlib.openssl_md5> +calls=1 0 +100 327000 +cfl=~ +cfn=<_hashlib.openssl_sha1> +calls=1 0 +100 12000 +cfl=~ +cfn=<_hashlib.openssl_sha224> +calls=1 0 +100 5000 +cfl=~ +cfn=<_hashlib.openssl_sha256> +calls=1 0 +100 3000 +cfl=~ +cfn=<_hashlib.openssl_sha384> +calls=1 0 +100 3000 +cfl=~ +cfn=<_hashlib.openssl_sha512> +calls=1 0 +100 3000 +cfl=~ +cfn= +calls=6 0 +100 10000 + +fl=/usr/lib/python2.7/heapq.py +fn= +31 624000 + +fl=/usr/lib/python2.7/httplib.py +fn= +67 6610000 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTPMessage +calls=1 269 +67 5000 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTPResponse +calls=1 368 +67 12000 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTPConnection +calls=1 724 +67 44999 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTP +calls=1 1195 +67 9000 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTPSConnection +calls=1 1291 +67 5000 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTPS +calls=1 1324 +67 3000 +cfl=/usr/lib/python2.7/httplib.py +cfn=HTTPException +calls=1 1358 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=NotConnected +calls=1 1363 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=InvalidURL +calls=1 1366 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=UnknownProtocol +calls=1 1369 +67 2000 +cfl=/usr/lib/python2.7/httplib.py +cfn=UnknownTransferEncoding +calls=1 1374 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=UnimplementedFileMode +calls=1 1377 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=IncompleteRead +calls=1 1380 +67 4000 +cfl=/usr/lib/python2.7/httplib.py +cfn=ImproperConnectionState +calls=1 1394 +67 2000 +cfl=/usr/lib/python2.7/httplib.py +cfn=CannotSendRequest +calls=1 1397 +67 2000 +cfl=/usr/lib/python2.7/httplib.py +cfn=CannotSendHeader +calls=1 1400 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=ResponseNotReady +calls=1 1403 +67 1000 +cfl=/usr/lib/python2.7/httplib.py +cfn=BadStatusLine +calls=1 1406 +67 2000 +cfl=/usr/lib/python2.7/httplib.py +cfn=LineTooLong +calls=1 1413 +67 2000 +cfl=/usr/lib/python2.7/httplib.py +cfn=LineAndFileWrapper +calls=1 1421 +67 554000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=4 192 +67 2777000 +cfl=/usr/lib/python2.7/ssl.py +cfn= +calls=1 89 +67 6650000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__init__ +calls=1 343 +67 18999 +cfl=/usr/lib/python2.7/warnings.py +cfn=__enter__ +calls=1 364 +67 14000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__exit__ +calls=1 380 +67 5000 +cfl=~ +cfn= +calls=1 0 +67 2000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTPMessage +269 5000 + +fl=/usr/lib/python2.7/httplib.py +fn=addheader +271 34000 +cfl=~ +cfn= +calls=20 0 +271 11000 + +fl=/usr/lib/python2.7/httplib.py +fn=readheaders +285 347000 +cfl=/usr/lib/python2.7/httplib.py +cfn=addheader +calls=20 271 +285 44999 +cfl=/usr/lib/python2.7/rfc822.py +cfn=isheader +calls=20 202 +285 85999 +cfl=/usr/lib/python2.7/rfc822.py +cfn=islast +calls=25 214 +285 31000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=iscomment +calls=25 224 +285 21000 +cfl=/usr/lib/python2.7/socket.py +cfn=readline +calls=25 410 +285 330999 +cfl=~ +cfn= +calls=5 0 +285 20000 +cfl=~ +cfn= +calls=70 0 +285 13000 +cfl=~ +cfn= +calls=20 0 +285 4000 +cfl=~ +cfn= +calls=5 0 +285 4000 +cfl=~ +cfn= +calls=20 0 +285 10000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTPResponse +368 12000 + +fl=/usr/lib/python2.7/httplib.py +fn=__init__ +378 39000 +cfl=/usr/lib/python2.7/socket.py +cfn=makefile +calls=5 216 +378 99000 + +fl=/usr/lib/python2.7/httplib.py +fn=_read_status +406 114999 +cfl=/usr/lib/python2.7/socket.py +cfn=readline +calls=5 410 +406 6637000 +cfl=~ +cfn= +calls=5 0 +406 1000 +cfl=~ +cfn= +calls=5 0 +406 12000 +cfl=~ +cfn= +calls=5 0 +406 5000 + +fl=/usr/lib/python2.7/httplib.py +fn=begin +445 179000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_read_status +calls=5 406 +445 6770000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_check_close +calls=5 531 +445 42999 +cfl=/usr/lib/python2.7/mimetools.py +cfn=__init__ +calls=5 24 +445 1169000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=getheader +calls=10 290 +445 24999 +cfl=~ +cfn= +calls=5 0 +445 3000 +cfl=~ +cfn= +calls=5 0 +445 3000 + +fl=/usr/lib/python2.7/httplib.py +fn=_check_close +531 18999 +cfl=/usr/lib/python2.7/rfc822.py +cfn=getheader +calls=10 290 +531 24000 + +fl=/usr/lib/python2.7/httplib.py +fn=close +561 16000 +cfl=/usr/lib/python2.7/socket.py +cfn=close +calls=5 280 +561 32000 + +fl=/usr/lib/python2.7/httplib.py +fn=isclosed +567 5000 + +fl=/usr/lib/python2.7/httplib.py +fn=read +578 78000 +cfl=/usr/lib/python2.7/httplib.py +cfn=close +calls=5 561 +578 48000 +cfl=/usr/lib/python2.7/socket.py +cfn=__del__ +calls=5 289 +578 12000 +cfl=/usr/lib/python2.7/socket.py +cfn=read +calls=5 340 +578 84999 +cfl=~ +cfn= +calls=5 0 +578 0 + +fl=/usr/lib/python2.7/httplib.py +fn=getheader +712 12000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=getheader +calls=5 290 +712 13000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTPConnection +724 44999 + +fl=/usr/lib/python2.7/httplib.py +fn=send +856 46000 +cfl=/usr/lib/python2.7/socket.py +cfn=meth +calls=5 227 +856 799000 +cfl=~ +cfn= +calls=5 0 +856 14000 + +fl=/usr/lib/python2.7/httplib.py +fn=_output +876 37999 +cfl=~ +cfn= +calls=30 0 +876 8000 + +fl=/usr/lib/python2.7/httplib.py +fn=_send_output +883 51000 +cfl=/usr/lib/python2.7/httplib.py +cfn=send +calls=5 856 +883 859000 +cfl=~ +cfn= +calls=5 0 +883 2000 +cfl=~ +cfn= +calls=5 0 +883 4000 +cfl=~ +cfn= +calls=5 0 +883 6000 + +fl=/usr/lib/python2.7/httplib.py +fn=putrequest +904 270000 +cfl=/usr/lib/python2.7/httplib.py +cfn=isclosed +calls=5 567 +904 5000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_output +calls=5 876 +904 13000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_encode_request +calls=5 1025 +904 4000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_validate_method +calls=5 1029 +904 42999 +cfl=/usr/lib/python2.7/httplib.py +cfn=_validate_path +calls=5 1040 +904 16000 +cfl=/usr/lib/python2.7/httplib.py +cfn=putheader +calls=5 1062 +904 102000 +cfl=~ +cfn= +calls=5 0 +904 44000 +cfl=~ +cfn= +calls=5 0 +904 6000 +cfl=~ +cfn= +calls=5 0 +904 6000 + +fl=/usr/lib/python2.7/httplib.py +fn=_encode_request +1025 4000 + +fl=/usr/lib/python2.7/httplib.py +fn=_validate_method +1029 21000 +cfl=~ +cfn= +calls=5 0 +1029 22000 + +fl=/usr/lib/python2.7/httplib.py +fn=_validate_path +1040 10000 +cfl=~ +cfn= +calls=5 0 +1040 6000 + +fl=/usr/lib/python2.7/httplib.py +fn=putheader +1062 186000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_output +calls=25 876 +1062 32999 +cfl=~ +cfn= +calls=25 0 +1062 7000 +cfl=~ +cfn= +calls=25 0 +1062 64999 +cfl=~ +cfn= +calls=25 0 +1062 24999 + +fl=/usr/lib/python2.7/httplib.py +fn=endheaders +1082 23000 +cfl=/usr/lib/python2.7/httplib.py +cfn=_send_output +calls=5 883 +1082 922000 + +fl=/usr/lib/python2.7/httplib.py +fn=getresponse +1141 89999 +cfl=/usr/lib/python2.7/httplib.py +cfn=__init__ +calls=5 378 +1141 138000 +cfl=/usr/lib/python2.7/httplib.py +cfn=begin +calls=5 445 +1141 8192000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTP +1195 9000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTPSConnection +1291 5000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTPS +1324 3000 + +fl=/usr/lib/python2.7/httplib.py +fn=HTTPException +1358 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=NotConnected +1363 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=InvalidURL +1366 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=UnknownProtocol +1369 2000 + +fl=/usr/lib/python2.7/httplib.py +fn=UnknownTransferEncoding +1374 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=UnimplementedFileMode +1377 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=IncompleteRead +1380 4000 + +fl=/usr/lib/python2.7/httplib.py +fn=ImproperConnectionState +1394 2000 + +fl=/usr/lib/python2.7/httplib.py +fn=CannotSendRequest +1397 2000 + +fl=/usr/lib/python2.7/httplib.py +fn=CannotSendHeader +1400 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=ResponseNotReady +1403 1000 + +fl=/usr/lib/python2.7/httplib.py +fn=BadStatusLine +1406 2000 + +fl=/usr/lib/python2.7/httplib.py +fn=LineTooLong +1413 2000 + +fl=/usr/lib/python2.7/httplib.py +fn=LineAndFileWrapper +1421 554000 + +fl=/usr/lib/python2.7/importlib/__init__.py +fn= +1 134000 + +fl=/usr/lib/python2.7/importlib/__init__.py +fn=import_module +20 18000 +cfl=~ +cfn=<__import__> +calls=1 0 +20 1783262999 +cfl=~ +cfn= +calls=1 0 +20 0 + +fl=/usr/lib/python2.7/inspect.py +fn= +25 1811000 +cfl=/usr/lib/python2.7/collections.py +cfn=namedtuple +calls=6 305 +25 6007999 +cfl=/usr/lib/python2.7/dis.py +cfn= +calls=1 1 +25 1841000 +cfl=/usr/lib/python2.7/inspect.py +cfn=EndOfBlock +calls=1 629 +25 0 +cfl=/usr/lib/python2.7/inspect.py +cfn=BlockFinder +calls=1 631 +25 3000 +cfl=~ +cfn= +calls=3 0 +25 3000 + +fl=/usr/lib/python2.7/inspect.py +fn=EndOfBlock +629 0 + +fl=/usr/lib/python2.7/inspect.py +fn=BlockFinder +631 3000 + +fl=/usr/lib/python2.7/io.py +fn= +34 892999 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=4 86 +34 388000 +cfl=/usr/lib/python2.7/abc.py +cfn=register +calls=8 105 +34 397000 +cfl=/usr/lib/python2.7/io.py +cfn=IOBase +calls=1 69 +34 9000 +cfl=/usr/lib/python2.7/io.py +cfn=RawIOBase +calls=1 73 +34 1000 +cfl=/usr/lib/python2.7/io.py +cfn=BufferedIOBase +calls=1 76 +34 2000 +cfl=/usr/lib/python2.7/io.py +cfn=TextIOBase +calls=1 79 +34 2000 + +fl=/usr/lib/python2.7/io.py +fn=IOBase +69 9000 + +fl=/usr/lib/python2.7/io.py +fn=RawIOBase +73 1000 + +fl=/usr/lib/python2.7/io.py +fn=BufferedIOBase +76 2000 + +fl=/usr/lib/python2.7/io.py +fn=TextIOBase +79 2000 + +fl=/usr/lib/python2.7/json/__init__.py +fn= +99 2571000 +cfl=/usr/lib/python2.7/json/decoder.py +cfn= +calls=1 2 +99 7721000 +cfl=/usr/lib/python2.7/json/decoder.py +cfn=__init__ +calls=1 302 +99 22000 +cfl=/usr/lib/python2.7/json/encoder.py +cfn= +calls=1 2 +99 1535000 +cfl=/usr/lib/python2.7/json/encoder.py +cfn=__init__ +calls=1 101 +99 9000 + +fl=/usr/lib/python2.7/json/decoder.py +fn= +2 1302000 +cfl=/usr/lib/python2.7/json/decoder.py +cfn=_floatconstants +calls=1 17 +2 18000 +cfl=/usr/lib/python2.7/json/decoder.py +cfn=JSONDecoder +calls=1 272 +2 6000 +cfl=/usr/lib/python2.7/json/scanner.py +cfn= +calls=1 2 +2 5588000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=2 192 +2 807000 + +fl=/usr/lib/python2.7/json/decoder.py +fn=_floatconstants +17 10000 +cfl=~ +cfn=<_struct.unpack> +calls=2 0 +17 8000 + +fl=/usr/lib/python2.7/json/decoder.py +fn=JSONDecoder +272 6000 + +fl=/usr/lib/python2.7/json/decoder.py +fn=__init__ +302 22000 + +fl=/usr/lib/python2.7/json/encoder.py +fn= +2 263999 +cfl=/usr/lib/python2.7/json/encoder.py +cfn=JSONEncoder +calls=1 70 +2 8000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=3 192 +2 1210000 +cfl=~ +cfn= +calls=32 0 +2 10000 +cfl=~ +cfn= +calls=32 0 +2 29000 +cfl=~ +cfn= +calls=32 0 +2 13000 +cfl=~ +cfn= +calls=1 0 +2 1000 + +fl=/usr/lib/python2.7/json/encoder.py +fn=JSONEncoder +70 8000 + +fl=/usr/lib/python2.7/json/encoder.py +fn=__init__ +101 9000 + +fl=/usr/lib/python2.7/json/scanner.py +fn= +2 4093999 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +2 1494000 + +fl=/usr/lib/python2.7/keyword.py +fn= +11 24000 + +fl=/usr/lib/python2.7/lib-tk/Tkconstants.py +fn= +4 13000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn= +31 81328000 +cfl=/usr/lib/python2.7/lib-tk/Tkconstants.py +cfn= +calls=1 4 +31 13000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Event +calls=1 155 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Variable +calls=1 227 +31 9000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=StringVar +calls=1 334 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=IntVar +calls=1 356 +31 3000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=DoubleVar +calls=1 381 +31 3000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=BooleanVar +calls=1 400 +31 4000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Misc +calls=1 436 +31 136000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=CallWrapper +calls=1 1537 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=XView +calls=1 1557 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=YView +calls=1 1578 +31 8000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Wm +calls=1 1599 +31 31000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Tk +calls=1 1804 +31 10000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Pack +calls=1 1932 +31 6000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Place +calls=1 1971 +31 4000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Grid +calls=1 2015 +31 10000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=BaseWidget +calls=1 2062 +31 4000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Widget +calls=1 2118 +31 0 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Toplevel +calls=1 2125 +31 1000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Button +calls=1 2153 +31 7000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Canvas +calls=1 2232 +31 42000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Checkbutton +calls=1 2473 +31 9000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Entry +calls=1 2502 +31 13000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Frame +calls=1 2567 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Label +calls=1 2585 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Listbox +calls=1 2607 +31 138000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Menu +calls=1 2698 +31 32000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Menubutton +calls=1 2823 +31 3000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Message +calls=1 2828 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Radiobutton +calls=1 2833 +31 4000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Scale +calls=1 2860 +31 5000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Scrollbar +calls=1 2893 +31 4000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Text +calls=1 2933 +31 341999 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=_setit +calls=1 3261 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=OptionMenu +calls=1 3272 +31 3000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Image +calls=1 3309 +31 12000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=PhotoImage +calls=1 3373 +31 7000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=BitmapImage +calls=1 3437 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Spinbox +calls=1 3452 +31 16000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=LabelFrame +calls=1 3610 +31 2000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=PanedWindow +calls=1 3632 +31 8000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Studbutton +calls=1 3823 +31 1000 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn=Tributton +calls=1 3831 +31 1000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=2 192 +31 667000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Event +155 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Variable +227 9000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=StringVar +334 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=IntVar +356 3000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=DoubleVar +381 3000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=BooleanVar +400 4000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Misc +436 131999 +cfl=~ +cfn= +calls=1 0 +436 4000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=CallWrapper +1537 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=XView +1557 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=YView +1578 8000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Wm +1599 31000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Tk +1804 10000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Pack +1932 6000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Place +1971 4000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Grid +2015 10000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=BaseWidget +2062 4000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Widget +2118 0 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Toplevel +2125 1000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Button +2153 7000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Canvas +2232 42000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Checkbutton +2473 9000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Entry +2502 13000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Frame +2567 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Label +2585 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Listbox +2607 138000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Menu +2698 32000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Menubutton +2823 3000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Message +2828 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Radiobutton +2833 4000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Scale +2860 5000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Scrollbar +2893 4000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Text +2933 341999 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=_setit +3261 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=OptionMenu +3272 3000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Image +3309 12000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=PhotoImage +3373 7000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=BitmapImage +3437 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Spinbox +3452 16000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=LabelFrame +3610 2000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=PanedWindow +3632 8000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Studbutton +3823 1000 + +fl=/usr/lib/python2.7/lib-tk/Tkinter.py +fn=Tributton +3831 1000 + +fl=/usr/lib/python2.7/lib-tk/tkCommonDialog.py +fn= +11 206000 +cfl=/usr/lib/python2.7/lib-tk/tkCommonDialog.py +cfn=Dialog +calls=1 13 +11 6000 + +fl=/usr/lib/python2.7/lib-tk/tkCommonDialog.py +fn=Dialog +13 6000 + +fl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +fn= +43 1364000 +cfl=/usr/lib/python2.7/lib-tk/tkCommonDialog.py +cfn= +calls=1 11 +43 212000 +cfl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +cfn=_Dialog +calls=1 45 +43 1000 +cfl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +cfn=Open +calls=1 74 +43 1000 +cfl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +cfn=SaveAs +calls=1 94 +43 1000 +cfl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +cfn=Directory +calls=1 101 +43 1000 + +fl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +fn=_Dialog +45 1000 + +fl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +fn=Open +74 1000 + +fl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +fn=SaveAs +94 1000 + +fl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +fn=Directory +101 1000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn= +101 10839999 +cfl=/usr/lib/python2.7/lib-tk/Tkinter.py +cfn= +calls=1 31 +101 82903999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=readconfig +calls=1 213 +101 189000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=Vec2D +calls=1 256 +101 14999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=__forwardmethods +calls=1 328 +101 4709000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=ScrolledCanvas +calls=1 353 +101 8000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=_Root +calls=1 455 +101 5000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=TurtleScreenBase +calls=1 482 +101 24999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=Terminator +calls=1 812 +101 1000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=TurtleGraphicsError +calls=1 821 +101 1000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=Shape +calls=1 826 +101 2000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=Tbuffer +calls=1 873 +101 5000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=TurtleScreen +calls=1 911 +101 47000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=TNavigator +calls=1 1426 +101 52000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=TPen +calls=1 1937 +101 18999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=_TurtleImage +calls=1 2386 +101 7000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=RawTurtle +calls=1 2417 +101 44999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=_Screen +calls=1 3556 +101 8000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=Turtle +calls=1 3689 +101 3000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=_make_global_funcs +calls=2 3854 +101 28509999 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=readconfig +213 32999 +cfl=/usr/lib/python2.7/genericpath.py +cfn=isfile +calls=2 34 +213 113000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=1 61 +213 14000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=split +calls=1 82 +213 26000 +cfl=~ +cfn= +calls=2 0 +213 3000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=Vec2D +256 14999 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=__new__ +270 6000 +cfl=~ +cfn= +calls=3 0 +270 5000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=__methodDict +308 437999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=__methodDict +calls=15 308 +308 435000 +cfl=~ +cfn= +calls=17 0 +308 62000 +cfl=~ +cfn= +calls=17 0 +308 4000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=__methods +318 2000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=__methodDict +calls=1 308 +318 192000 +cfl=~ +cfn= +calls=1 0 +318 6000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=__forwardmethods +328 4117000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=__methodDict +calls=1 308 +328 312000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=__methods +calls=1 318 +328 199999 +cfl=~ +cfn= +calls=1 0 +328 4000 +cfl=~ +cfn= +calls=1 0 +328 6000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=ScrolledCanvas +353 8000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=_Root +455 5000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=TurtleScreenBase +482 24999 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=Terminator +812 1000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=TurtleGraphicsError +821 1000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=Shape +826 2000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=Tbuffer +873 5000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=TurtleScreen +911 47000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=TNavigator +1426 41000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=__new__ +calls=3 270 +1426 11000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=TPen +1937 18999 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=_TurtleImage +2386 7000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=RawTurtle +2417 44999 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=_Screen +3556 8000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=Turtle +3689 3000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=getmethparlist +3774 1714000 +cfl=~ +cfn= +calls=210 0 +3774 62000 +cfl=~ +cfn= +calls=210 0 +3774 3542000 +cfl=~ +cfn= +calls=12 0 +3774 7000 +cfl=~ +cfn= +calls=210 0 +3774 75000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=:3792 +3792 89000 +cfl=~ +cfn= +calls=54 0 +3792 56999 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=:3794 +3794 52000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=_turtle_docrevise +3810 709000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=79 192 +3810 807000 +cfl=~ +cfn= +calls=79 0 +3810 363000 +cfl=~ +cfn= +calls=79 0 +3810 736000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=_screen_docrevise +3822 243000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=26 192 +3822 603000 +cfl=~ +cfn= +calls=26 0 +3822 112000 +cfl=~ +cfn= +calls=26 0 +3822 248000 + +fl=/usr/lib/python2.7/lib-tk/turtle.py +fn=_make_global_funcs +3854 18407000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=getmethparlist +calls=105 3774 +3854 5399999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=_turtle_docrevise +calls=79 3810 +3854 2614999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=_screen_docrevise +calls=26 3822 +3854 1206000 +cfl=~ +cfn= +calls=105 0 +3854 185000 +cfl=~ +cfn= +calls=210 0 +3854 44000 +cfl=~ +cfn= +calls=105 0 +3854 496999 + +fl=/usr/lib/python2.7/linecache.py +fn=getline +13 78000 +cfl=/usr/lib/python2.7/linecache.py +cfn=getlines +calls=30 33 +13 9670000 +cfl=~ +cfn= +calls=30 0 +13 16000 + +fl=/usr/lib/python2.7/linecache.py +fn=getlines +33 39000 +cfl=/usr/lib/python2.7/linecache.py +cfn=updatecache +calls=1 72 +33 9630999 + +fl=/usr/lib/python2.7/linecache.py +fn=checkcache +47 157000 +cfl=~ +cfn= +calls=29 0 +47 406000 + +fl=/usr/lib/python2.7/linecache.py +fn=updatecache +72 98000 +cfl=~ +cfn= +calls=1 0 +72 4000 +cfl=~ +cfn= +calls=1 0 +72 9443000 +cfl=~ +cfn= +calls=1 0 +72 2000 +cfl=~ +cfn= +calls=1 0 +72 42999 +cfl=~ +cfn= +calls=1 0 +72 41000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn= +24 5310000 +cfl=/usr/lib/python2.7/atexit.py +cfn= +calls=1 6 +24 39000 +cfl=/usr/lib/python2.7/atexit.py +cfn=register +calls=1 37 +24 7000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=LogRecord +calls=1 225 +24 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=Formatter +calls=1 347 +24 9000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:391 +calls=1 391 +24 4000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=BufferingFormatter +calls=1 503 +24 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=Filter +calls=1 545 +24 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=Filterer +calls=1 582 +24 6000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=Handler +calls=1 663 +24 18999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=StreamHandler +calls=1 827 +24 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=FileHandler +calls=1 898 +24 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=PlaceHolder +calls=1 970 +24 4000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=Manager +calls=1 1017 +24 8000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:1022 +calls=1 1022 +24 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=Logger +calls=1 1119 +24 23000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=RootLogger +calls=1 1394 +24 2000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:1400 +calls=1 1400 +24 32999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=LoggerAdapter +calls=1 1408 +24 9000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=NullHandler +calls=1 1696 +24 5000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=normcase +calls=1 44 +24 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=1 114 +24 48000 +cfl=/usr/lib/python2.7/weakref.py +cfn=__init__:48 +calls=1 48 +24 42999 +cfl=~ +cfn= +calls=1 0 +24 4000 +cfl=~ +cfn= +calls=1 0 +24 1000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn= +70 24000 +cfl=~ +cfn= +calls=6 0 +70 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=getLevelName +148 24999 +cfl=~ +cfn= +calls=6 0 +148 6000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_checkLevel +177 59999 +cfl=~ +cfn= +calls=25 0 +177 17000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_acquireLock +205 130999 +cfl=/usr/lib/python2.7/threading.py +cfn=acquire +calls=35 147 +205 441000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_releaseLock +214 89999 +cfl=/usr/lib/python2.7/threading.py +cfn=release +calls=35 187 +214 226000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=LogRecord +225 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:237 +237 325000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLevelName +calls=6 148 +237 31000 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn=current_process +calls=6 59 +237 7000 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn=name +calls=6 170 +237 7000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=splitext +calls=6 97 +237 64000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=basename +calls=6 112 +237 29999 +cfl=/usr/lib/python2.7/threading.py +cfn=name +calls=6 958 +237 23000 +cfl=/usr/lib/python2.7/threading.py +cfn=currentThread +calls=6 1142 +237 21000 +cfl=~ +cfn= +calls=6 0 +237 5000 +cfl=~ +cfn= +calls=1 0 +237 14000 +cfl=~ +cfn= +calls=2 0 +237 1000 +cfl=~ +cfn= +calls=6 0 +237 5000 +cfl=~ +cfn= +calls=6 0 +237 22000 +cfl=~ +cfn= +calls=6 0 +237 3000 +cfl=~ +cfn= +calls=6 0 +237 4000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=getMessage +312 32999 +cfl=~ +cfn= +calls=12 0 +312 12000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=Formatter +347 9000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:391 +391 11000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=formatTime +405 135000 +cfl=~ +cfn= +calls=12 0 +405 307000 +cfl=~ +cfn= +calls=12 0 +405 73000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=usesTime +446 21000 +cfl=~ +cfn= +calls=12 0 +446 16000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=format:452 +452 130999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getMessage +calls=12 312 +452 44999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=formatTime +calls=12 405 +452 514999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=usesTime +calls=12 446 +452 37000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=BufferingFormatter +503 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=Filter +545 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=Filterer +582 6000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:587 +587 48000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=filter +607 27000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_addHandlerRef +653 35000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_acquireLock +calls=4 205 +653 31000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_releaseLock +calls=4 214 +653 28000 +cfl=~ +cfn= +calls=4 0 +653 1000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=Handler +663 18999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:672 +672 44999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_checkLevel +calls=4 177 +672 12000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:587 +calls=4 587 +672 10000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_addHandlerRef +calls=4 653 +672 94999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=createLock +calls=4 701 +672 64000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=createLock +701 17000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=4 114 +701 47000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=acquire +710 41000 +cfl=/usr/lib/python2.7/threading.py +cfn=acquire +calls=18 147 +710 408000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=release +717 36000 +cfl=/usr/lib/python2.7/threading.py +cfn=release +calls=18 187 +717 99000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=setLevel:724 +724 5000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_checkLevel +calls=2 177 +724 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=format:730 +730 29999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=format:452 +calls=12 452 +730 727999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=handle:753 +753 85999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=emit +calls=6 408 +753 4000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=filter +calls=12 607 +753 17000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=acquire +calls=12 710 +753 407000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=release +calls=12 717 +753 94000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=emit +calls=6 68 +753 1821999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=setFormatter +771 2000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=StreamHandler +827 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:834 +834 8000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:672 +calls=1 672 +834 65999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=flush +845 47000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=acquire +calls=6 710 +845 42000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=release +calls=6 717 +845 41000 +cfl=~ +cfn= +calls=6 0 +845 6000 +cfl=~ +cfn= +calls=6 0 +845 332000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=emit:856 +856 297000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=format:730 +calls=6 730 +856 223000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=flush +calls=6 845 +856 468000 +cfl=~ +cfn= +calls=6 0 +856 8000 +cfl=~ +cfn= +calls=6 0 +856 29000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=FileHandler +898 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:902 +902 27000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:834 +calls=1 834 +902 74000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_open +calls=1 944 +902 245999 +cfl=/usr/lib/python2.7/posixpath.py +cfn=abspath +calls=1 365 +902 36000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_open +944 5000 +cfl=~ +cfn= +calls=1 0 +944 240999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=emit:955 +955 27000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=emit:856 +calls=6 856 +955 1024999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=PlaceHolder +970 4000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:976 +976 13000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=append +983 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=setLoggerClass +997 4000 +cfl=~ +cfn= +calls=1 0 +997 2000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=getLoggerClass +1010 2000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=Manager +1017 8000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:1022 +1022 5000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=getLogger:1032 +1032 529000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_acquireLock +calls=26 205 +1032 491999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_releaseLock +calls=26 214 +1032 254999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_fixupParents +calls=16 1078 +1032 272999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_fixupChildren +calls=1 1102 +1032 22000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:1134 +calls=16 1134 +1032 265000 +cfl=~ +cfn= +calls=63 0 +1032 90999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_fixupParents +1078 198000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:976 +calls=4 976 +1078 13000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=append +calls=2 983 +1078 5000 +cfl=~ +cfn= +calls=14 0 +1078 11000 +cfl=~ +cfn= +calls=32 0 +1078 46000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_fixupChildren +1102 21000 +cfl=~ +cfn= +calls=1 0 +1102 0 +cfl=~ +cfn= +calls=1 0 +1102 1000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=Logger +1119 23000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:1134 +1134 196000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_checkLevel +calls=17 177 +1134 56999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:587 +calls=17 587 +1134 37999 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=setLevel:1146 +1146 4000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_checkLevel +calls=2 177 +1146 3000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=debug +1152 35000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=isEnabledFor +calls=16 1367 +1152 78000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=info +1164 68000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_log +calls=6 1274 +1164 3653000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=isEnabledFor +calls=7 1367 +1164 53000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=findCaller +1240 118000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn= +calls=6 70 +1240 29000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=normcase +calls=12 44 +1240 3000 +cfl=~ +cfn= +calls=12 0 +1240 7000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=makeRecord +1261 37999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:237 +calls=6 237 +1261 562000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=_log +1274 68000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn=findCaller +calls=6 52 +1274 381999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=makeRecord +calls=6 1261 +1274 600000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=handle:1295 +calls=6 1295 +1274 2603000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=handle:1295 +1295 77000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=filter +calls=6 607 +1295 10000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=callHandlers +calls=6 1327 +1295 2516000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=addHandler +1305 20000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_acquireLock +calls=4 205 +1305 24999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_releaseLock +calls=4 214 +1305 24000 +cfl=~ +cfn= +calls=4 0 +1305 2000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=callHandlers +1327 85999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=handle:753 +calls=12 753 +1327 2430000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=getEffectiveLevel +1353 67000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=isEnabledFor +1367 64000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getEffectiveLevel +calls=23 1353 +1367 67000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=RootLogger +1394 2000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=__init__:1400 +1400 7000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:1134 +calls=1 1134 +1400 26000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=LoggerAdapter +1408 9000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=getLogger:1574 +1574 178000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1032 +calls=26 1032 +1574 1927000 + +fl=/usr/lib/python2.7/logging/__init__.py +fn=NullHandler +1696 5000 + +fl=/usr/lib/python2.7/logging/config.py +fn= +25 3377000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=ConvertingMixin +calls=1 285 +25 2000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=ConvertingDict +calls=1 318 +25 3000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=ConvertingList +calls=1 333 +25 2000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=ConvertingTuple +calls=1 343 +25 1000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=BaseConfigurator +calls=1 350 +25 2630000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=DictConfigurator +calls=1 489 +25 8000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn= +calls=1 24 +25 1385999 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +25 734000 + +fl=/usr/lib/python2.7/logging/config.py +fn=fileConfig +60 2820999 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn= +calls=1 88 +60 4164999 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=__init__:232 +calls=1 232 +60 104999 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=read +calls=1 285 +60 1958999 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_acquireLock +calls=1 205 +60 24000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=_releaseLock +calls=1 214 +60 9000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_create_formatters +calls=1 111 +60 326000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_install_handlers +calls=1 140 +60 1388000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_install_loggers +calls=1 183 +60 530000 +cfl=/usr/lib/python2.7/weakref.py +cfn=clear +calls=1 120 +60 5000 +cfl=~ +cfn= +calls=1 0 +60 4000 + +fl=/usr/lib/python2.7/logging/config.py +fn=_resolve +91 12000 +cfl=~ +cfn=<__import__> +calls=1 0 +91 5000 +cfl=~ +cfn= +calls=2 0 +91 4000 +cfl=~ +cfn= +calls=1 0 +91 3000 +cfl=~ +cfn= +calls=1 0 +91 2000 + +fl=/usr/lib/python2.7/logging/config.py +fn=_strip_spaces +105 7000 +cfl=~ +cfn= +calls=4 0 +105 21000 + +fl=/usr/lib/python2.7/logging/config.py +fn=:106 +106 7000 +cfl=~ +cfn= +calls=5 0 +106 1000 + +fl=/usr/lib/python2.7/logging/config.py +fn=_create_formatters +111 36000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=options +calls=1 274 +111 225000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=get +calls=2 590 +111 49000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:391 +calls=1 391 +111 3000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_strip_spaces +calls=1 105 +111 11000 +cfl=~ +cfn= +calls=1 0 +111 0 +cfl=~ +cfn= +calls=1 0 +111 2000 + +fl=/usr/lib/python2.7/logging/config.py +fn=_install_handlers +140 99000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/roslogging.py +cfn=__init__ +calls=1 230 +140 214000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=options +calls=2 274 +140 207000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=get +calls=9 590 +140 179000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=setLevel:724 +calls=2 724 +140 10000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=setFormatter +calls=2 771 +140 2000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_resolve +calls=1 91 +140 26000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_strip_spaces +calls=1 105 +140 7000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=__init__:89 +calls=1 89 +140 403000 +cfl=~ +cfn= +calls=4 0 +140 232000 +cfl=~ +cfn= +calls=2 0 +140 2000 +cfl=~ +cfn= +calls=3 0 +140 0 +cfl=~ +cfn= +calls=1 0 +140 1000 +cfl=~ +cfn= +calls=4 0 +140 6000 + +fl=/usr/lib/python2.7/logging/config.py +fn=_install_loggers +183 93000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=options +calls=2 274 +183 187000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=getint +calls=1 358 +183 28000 +cfl=/usr/lib/python2.7/ConfigParser.py +cfn=get +calls=6 590 +183 103000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=setLevel:1146 +calls=2 1146 +183 7000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=addHandler +calls=2 1305 +183 32000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=getLogger:1574 +calls=1 1574 +183 47000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=_strip_spaces +calls=2 105 +183 10000 +cfl=~ +cfn= +calls=2 0 +183 0 +cfl=~ +cfn= +calls=1 0 +183 9000 +cfl=~ +cfn= +calls=1 0 +183 3000 +cfl=~ +cfn= +calls=1 0 +183 2000 +cfl=~ +cfn= +calls=1 0 +183 6000 +cfl=~ +cfn= +calls=3 0 +183 3000 + +fl=/usr/lib/python2.7/logging/config.py +fn=:189 +189 4000 +cfl=~ +cfn= +calls=2 0 +189 0 + +fl=/usr/lib/python2.7/logging/config.py +fn=ConvertingMixin +285 2000 + +fl=/usr/lib/python2.7/logging/config.py +fn=ConvertingDict +318 3000 + +fl=/usr/lib/python2.7/logging/config.py +fn=ConvertingList +333 2000 + +fl=/usr/lib/python2.7/logging/config.py +fn=ConvertingTuple +343 1000 + +fl=/usr/lib/python2.7/logging/config.py +fn=BaseConfigurator +350 20000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=5 192 +350 2610000 + +fl=/usr/lib/python2.7/logging/config.py +fn=DictConfigurator +489 8000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn= +24 1310000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=BaseRotatingHandler +calls=1 52 +24 4000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=RotatingFileHandler +calls=1 84 +24 4000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=TimedRotatingFileHandler +calls=1 162 +24 17000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=WatchedFileHandler +calls=1 370 +24 3000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=SocketHandler +calls=1 432 +24 4000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=DatagramHandler +calls=1 599 +24 2000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=SysLogHandler +calls=1 637 +24 18999 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=SMTPHandler +calls=1 887 +24 2000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=NTEventLogHandler +calls=1 965 +24 11000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=HTTPHandler +calls=1 1065 +24 3000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=BufferingHandler +calls=1 1127 +24 3000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=MemoryHandler +calls=1 1184 +24 4000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=BaseRotatingHandler +52 4000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=__init__:58 +58 10000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=__init__:902 +calls=1 902 +58 383000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=emit +68 54000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=emit:955 +calls=6 955 +68 1052000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=shouldRollover +calls=6 146 +68 716000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=RotatingFileHandler +84 4000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=__init__:89 +89 10000 +cfl=/usr/lib/python2.7/logging/handlers.py +cfn=__init__:58 +calls=1 58 +89 392999 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=shouldRollover +146 77000 +cfl=/usr/lib/python2.7/logging/__init__.py +cfn=format:730 +calls=6 730 +146 535000 +cfl=~ +cfn= +calls=6 0 +146 4000 +cfl=~ +cfn= +calls=6 0 +146 87000 +cfl=~ +cfn= +calls=6 0 +146 13000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=TimedRotatingFileHandler +162 17000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=WatchedFileHandler +370 3000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=SocketHandler +432 4000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=DatagramHandler +599 2000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=SysLogHandler +637 18999 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=SMTPHandler +887 2000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=NTEventLogHandler +965 11000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=HTTPHandler +1065 3000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=BufferingHandler +1127 3000 + +fl=/usr/lib/python2.7/logging/handlers.py +fn=MemoryHandler +1184 4000 + +fl=/usr/lib/python2.7/mimetools.py +fn= +1 6909999 +cfl=/usr/lib/python2.7/mimetools.py +cfn=Message +calls=1 20 +1 7000 +cfl=/usr/lib/python2.7/rfc822.py +cfn= +calls=1 71 +1 94000 +cfl=/usr/lib/python2.7/tempfile.py +cfn= +calls=1 18 +1 20117000 +cfl=/usr/lib/python2.7/warnings.py +cfn=warnpy3k +calls=1 15 +1 1000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__init__ +calls=1 343 +1 6000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__enter__ +calls=1 364 +1 6000 +cfl=/usr/lib/python2.7/warnings.py +cfn=__exit__ +calls=1 380 +1 6000 +cfl=~ +cfn= +calls=1 0 +1 2000 + +fl=/usr/lib/python2.7/mimetools.py +fn=Message +20 7000 + +fl=/usr/lib/python2.7/mimetools.py +fn=__init__ +24 84000 +cfl=/usr/lib/python2.7/mimetools.py +cfn=parsetype +calls=5 33 +24 107000 +cfl=/usr/lib/python2.7/mimetools.py +cfn=parseplist +calls=5 50 +24 11000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=__init__ +calls=5 88 +24 940000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=getheader +calls=10 290 +24 27000 + +fl=/usr/lib/python2.7/mimetools.py +fn=parsetype +33 79000 +cfl=~ +cfn= +calls=5 0 +33 0 +cfl=~ +cfn= +calls=10 0 +33 7000 +cfl=~ +cfn= +calls=10 0 +33 3000 +cfl=~ +cfn= +calls=5 0 +33 8000 +cfl=~ +cfn= +calls=10 0 +33 2000 +cfl=~ +cfn= +calls=5 0 +33 8000 + +fl=/usr/lib/python2.7/mimetools.py +fn=parseplist +50 11000 + +fl=/usr/lib/python2.7/multiprocessing/__init__.py +fn= +44 5677000 +cfl=/usr/lib/python2.7/multiprocessing/__init__.py +cfn=ProcessError +calls=1 71 +44 1000 +cfl=/usr/lib/python2.7/multiprocessing/__init__.py +cfn=BufferTooShort +calls=1 74 +44 1000 +cfl=/usr/lib/python2.7/multiprocessing/__init__.py +cfn=TimeoutError +calls=1 77 +44 1000 +cfl=/usr/lib/python2.7/multiprocessing/__init__.py +cfn=AuthenticationError +calls=1 80 +44 1000 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn= +calls=1 35 +44 765000 +cfl=/usr/lib/python2.7/multiprocessing/util.py +cfn= +calls=1 35 +44 877000 + +fl=/usr/lib/python2.7/multiprocessing/__init__.py +fn=ProcessError +71 1000 + +fl=/usr/lib/python2.7/multiprocessing/__init__.py +fn=BufferTooShort +74 1000 + +fl=/usr/lib/python2.7/multiprocessing/__init__.py +fn=TimeoutError +77 1000 + +fl=/usr/lib/python2.7/multiprocessing/__init__.py +fn=AuthenticationError +80 1000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn= +35 572000 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn=Process +calls=1 86 +35 42999 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn=AuthenticationString +calls=1 294 +35 1000 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn=_MainProcess +calls=1 308 +35 1000 +cfl=/usr/lib/python2.7/multiprocessing/process.py +cfn=__init__ +calls=1 310 +35 46000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=abspath +calls=1 365 +35 68000 +cfl=~ +cfn= +calls=1 0 +35 24000 +cfl=~ +cfn= +calls=1 0 +35 10000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn=current_process +59 7000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn=Process +86 31000 +cfl=~ +cfn= +calls=3 0 +86 12000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn=name +170 7000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn=AuthenticationString +294 1000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn=_MainProcess +308 1000 + +fl=/usr/lib/python2.7/multiprocessing/process.py +fn=__init__ +310 29999 +cfl=~ +cfn= +calls=1 0 +310 16000 + +fl=/usr/lib/python2.7/multiprocessing/util.py +fn= +35 795999 +cfl=/usr/lib/python2.7/atexit.py +cfn=register +calls=1 37 +35 12000 +cfl=/usr/lib/python2.7/multiprocessing/util.py +cfn=Finalize +calls=1 172 +35 4000 +cfl=/usr/lib/python2.7/multiprocessing/util.py +cfn=ForkAwareThreadLock +calls=1 339 +35 2000 +cfl=/usr/lib/python2.7/multiprocessing/util.py +cfn=ForkAwareLocal +calls=1 349 +35 2000 +cfl=/usr/lib/python2.7/weakref.py +cfn=__init__:48 +calls=1 48 +35 61000 + +fl=/usr/lib/python2.7/multiprocessing/util.py +fn=Finalize +172 4000 + +fl=/usr/lib/python2.7/multiprocessing/util.py +fn=ForkAwareThreadLock +339 2000 + +fl=/usr/lib/python2.7/multiprocessing/util.py +fn=ForkAwareLocal +349 2000 + +fl=/usr/lib/python2.7/numbers.py +fn= +6 97000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=5 86 +6 1152000 +cfl=/usr/lib/python2.7/abc.py +cfn=register +calls=4 105 +6 210999 +cfl=/usr/lib/python2.7/numbers.py +cfn=Number +calls=1 13 +6 2000 +cfl=/usr/lib/python2.7/numbers.py +cfn=Complex +calls=1 34 +6 63000 +cfl=/usr/lib/python2.7/numbers.py +cfn=Real +calls=1 169 +6 61000 +cfl=/usr/lib/python2.7/numbers.py +cfn=Rational +calls=1 270 +6 7000 +cfl=/usr/lib/python2.7/numbers.py +cfn=Integral +calls=1 295 +6 40000 + +fl=/usr/lib/python2.7/numbers.py +fn=Number +13 2000 + +fl=/usr/lib/python2.7/numbers.py +fn=Complex +34 42000 +cfl=/usr/lib/python2.7/abc.py +cfn=abstractmethod +calls=16 15 +34 21000 + +fl=/usr/lib/python2.7/numbers.py +fn=Real +169 49000 +cfl=/usr/lib/python2.7/abc.py +cfn=abstractmethod +calls=8 15 +169 12000 + +fl=/usr/lib/python2.7/numbers.py +fn=Rational +270 7000 + +fl=/usr/lib/python2.7/numbers.py +fn=Integral +295 21000 +cfl=/usr/lib/python2.7/abc.py +cfn=abstractmethod +calls=13 15 +295 18999 + +fl=/usr/lib/python2.7/opcode.py +fn= +5 263999 +cfl=/usr/lib/python2.7/opcode.py +cfn=def_op +calls=96 27 +5 72000 +cfl=/usr/lib/python2.7/opcode.py +cfn=name_op +calls=11 31 +5 29999 +cfl=/usr/lib/python2.7/opcode.py +cfn=jrel_op +calls=6 35 +5 13000 +cfl=/usr/lib/python2.7/opcode.py +cfn=jabs_op +calls=6 39 +5 14000 +cfl=~ +cfn= +calls=8 0 +5 4000 +cfl=~ +cfn= +calls=1 0 +5 9000 + +fl=/usr/lib/python2.7/opcode.py +fn=def_op +27 80999 + +fl=/usr/lib/python2.7/opcode.py +fn=name_op +31 21000 +cfl=/usr/lib/python2.7/opcode.py +cfn=def_op +calls=11 27 +31 5000 +cfl=~ +cfn= +calls=11 0 +31 4000 + +fl=/usr/lib/python2.7/opcode.py +fn=jrel_op +35 9000 +cfl=/usr/lib/python2.7/opcode.py +cfn=def_op +calls=6 27 +35 2000 +cfl=~ +cfn= +calls=6 0 +35 2000 + +fl=/usr/lib/python2.7/opcode.py +fn=jabs_op +39 11000 +cfl=/usr/lib/python2.7/opcode.py +cfn=def_op +calls=6 27 +39 2000 +cfl=~ +cfn= +calls=6 0 +39 1000 + +fl=/usr/lib/python2.7/os.py +fn=_get_exports_list +35 121000 +cfl=~ +cfn=

+calls=1 0 +35 198000 + +fl=/usr/lib/python2.7/os.py +fn=walk +209 8368000 +cfl=/usr/lib/python2.7/genericpath.py +cfn=isdir +calls=1378 46 +209 175055000 +cfl=/usr/lib/python2.7/os.py +cfn=walk +calls=622 209 +209 108389000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=1677 61 +209 9737000 +cfl=~ +cfn= +calls=1378 0 +209 549999 +cfl=~ +cfn= +calls=306 0 +209 27431999 + +fl=/usr/lib/python2.7/os.py +fn=__setitem__ +472 28000 +cfl=~ +cfn= +calls=4 0 +472 46000 + +fl=/usr/lib/python2.7/os.py +fn=__delitem__ +496 16000 +cfl=~ +cfn= +calls=2 0 +496 13000 + +fl=/usr/lib/python2.7/pickle.py +fn= +25 1238000 +cfl=/usr/lib/python2.7/pickle.py +cfn=PickleError +calls=1 58 +25 2000 +cfl=/usr/lib/python2.7/pickle.py +cfn=PicklingError +calls=1 62 +25 1000 +cfl=/usr/lib/python2.7/pickle.py +cfn=UnpicklingError +calls=1 69 +25 1000 +cfl=/usr/lib/python2.7/pickle.py +cfn=_Stop +calls=1 82 +25 1000 +cfl=/usr/lib/python2.7/pickle.py +cfn=Pickler +calls=1 171 +25 36000 +cfl=/usr/lib/python2.7/pickle.py +cfn=Unpickler +calls=1 833 +25 49999 +cfl=/usr/lib/python2.7/pickle.py +cfn=_EmptyClass +calls=1 1267 +25 1000 +cfl=/usr/lib/python2.7/re.py +cfn=match +calls=117 138 +25 1085000 +cfl=~ +cfn= +calls=1 0 +25 54000 +cfl=~ +cfn= +calls=1 0 +25 1000 + +fl=/usr/lib/python2.7/pickle.py +fn=PickleError +58 2000 + +fl=/usr/lib/python2.7/pickle.py +fn=PicklingError +62 1000 + +fl=/usr/lib/python2.7/pickle.py +fn=UnpicklingError +69 1000 + +fl=/usr/lib/python2.7/pickle.py +fn=_Stop +82 1000 + +fl=/usr/lib/python2.7/pickle.py +fn=Pickler +171 36000 + +fl=/usr/lib/python2.7/pickle.py +fn=Unpickler +833 49999 + +fl=/usr/lib/python2.7/pickle.py +fn=_EmptyClass +1267 1000 + +fl=/usr/lib/python2.7/platform.py +fn= +10 125000 +cfl=/usr/lib/python2.7/platform.py +cfn=_popen +calls=1 422 +10 7000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=14 192 +10 15498000 +cfl=~ +cfn= +calls=1 0 +10 2000 + +fl=/usr/lib/python2.7/platform.py +fn=_popen +422 7000 + +fl=/usr/lib/python2.7/platform.py +fn=_syscmd_uname +1011 348000 +cfl=/usr/lib/python2.7/string.py +cfn=strip +calls=1 250 +1011 24999 +cfl=~ +cfn= +calls=1 0 +1011 46000 +cfl=~ +cfn= +calls=1 0 +1011 17974000 +cfl=~ +cfn= +calls=1 0 +1011 10582999 + +fl=/usr/lib/python2.7/platform.py +fn=uname +1177 80999 +cfl=/usr/lib/python2.7/platform.py +cfn=_syscmd_uname +calls=1 1011 +1177 28976000 +cfl=~ +cfn= +calls=1 0 +1177 3000 +cfl=~ +cfn= +calls=1 0 +1177 9000 + +fl=/usr/lib/python2.7/platform.py +fn=system +1314 20000 +cfl=/usr/lib/python2.7/platform.py +cfn=uname +calls=3 1177 +1314 29047000 + +fl=/usr/lib/python2.7/platform.py +fn=release +1333 5000 +cfl=/usr/lib/python2.7/platform.py +cfn=uname +calls=2 1177 +1333 22000 + +fl=/usr/lib/python2.7/posixpath.py +fn=normcase +44 12000 + +fl=/usr/lib/python2.7/posixpath.py +fn=isabs +52 18000 +cfl=~ +cfn= +calls=10 0 +52 13000 + +fl=/usr/lib/python2.7/posixpath.py +fn=join +61 8272000 +cfl=~ +cfn= +calls=1984 0 +61 897000 +cfl=~ +cfn= +calls=1985 0 +61 1818999 + +fl=/usr/lib/python2.7/posixpath.py +fn=split +82 22000 +cfl=~ +cfn= +calls=1 0 +82 0 +cfl=~ +cfn= +calls=1 0 +82 2000 +cfl=~ +cfn= +calls=1 0 +82 2000 + +fl=/usr/lib/python2.7/posixpath.py +fn=splitext +97 22000 +cfl=/usr/lib/python2.7/genericpath.py +cfn=_splitext +calls=6 93 +97 42000 + +fl=/usr/lib/python2.7/posixpath.py +fn=basename +112 18999 +cfl=~ +cfn= +calls=6 0 +112 11000 + +fl=/usr/lib/python2.7/posixpath.py +fn=dirname +120 189000 +cfl=~ +cfn= +calls=23 0 +120 9000 +cfl=~ +cfn= +calls=23 0 +120 42000 +cfl=~ +cfn= +calls=23 0 +120 32999 + +fl=/usr/lib/python2.7/posixpath.py +fn=islink +132 26000 +cfl=/usr/lib/python2.7/stat.py +cfn=S_ISLNK +calls=8 55 +132 18999 +cfl=~ +cfn= +calls=8 0 +132 102000 + +fl=/usr/lib/python2.7/posixpath.py +fn=expanduser +251 24999 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__getitem__ +calls=2 35 +251 2000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__contains__ +calls=2 103 +251 2000 +cfl=~ +cfn= +calls=2 0 +251 2000 +cfl=~ +cfn= +calls=2 0 +251 2000 +cfl=~ +cfn= +calls=2 0 +251 3000 +cfl=~ +cfn= +calls=2 0 +251 2000 + +fl=/usr/lib/python2.7/posixpath.py +fn=normpath +336 183000 +cfl=~ +cfn= +calls=10 0 +336 24000 +cfl=~ +cfn= +calls=55 0 +336 24000 +cfl=~ +cfn= +calls=10 0 +336 18000 +cfl=~ +cfn= +calls=10 0 +336 22000 +cfl=~ +cfn= +calls=20 0 +336 13000 + +fl=/usr/lib/python2.7/posixpath.py +fn=abspath +365 48000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=isabs +calls=8 52 +365 26000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=1 61 +365 4000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=normpath +calls=8 336 +365 214000 +cfl=~ +cfn= +calls=1 0 +365 3000 +cfl=~ +cfn= +calls=1 0 +365 8000 + +fl=/usr/lib/python2.7/posixpath.py +fn=realpath +379 8000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=abspath +calls=2 365 +379 84000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=_joinrealpath +calls=2 387 +379 250000 + +fl=/usr/lib/python2.7/posixpath.py +fn=_joinrealpath +387 62000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=isabs +calls=2 52 +387 5000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=8 61 +387 29999 +cfl=/usr/lib/python2.7/posixpath.py +cfn=islink +calls=8 132 +387 147000 +cfl=~ +cfn= +calls=8 0 +387 6000 + +fl=/usr/lib/python2.7/pprint.py +fn= +35 49000 +cfl=/usr/lib/python2.7/pprint.py +cfn=PrettyPrinter +calls=1 84 +35 6000 + +fl=/usr/lib/python2.7/pprint.py +fn=PrettyPrinter +84 6000 + +fl=/usr/lib/python2.7/random.py +fn= +40 3194000 +cfl=/usr/lib/python2.7/__future__.py +cfn= +calls=1 48 +40 49000 +cfl=/usr/lib/python2.7/hashlib.py +cfn= +calls=1 56 +40 9963999 +cfl=/usr/lib/python2.7/random.py +cfn=Random +calls=1 72 +40 29999 +cfl=/usr/lib/python2.7/random.py +cfn=__init__ +calls=1 91 +40 1068999 +cfl=/usr/lib/python2.7/random.py +cfn=WichmannHill +calls=1 657 +40 6000 +cfl=/usr/lib/python2.7/random.py +cfn=SystemRandom +calls=1 807 +40 5000 +cfl=~ +cfn= +calls=1 0 +40 28000 +cfl=~ +cfn= +calls=2 0 +40 4000 +cfl=~ +cfn= +calls=1 0 +40 1000 + +fl=/usr/lib/python2.7/random.py +fn=Random +72 29999 + +fl=/usr/lib/python2.7/random.py +fn=__init__ +91 4000 +cfl=/usr/lib/python2.7/random.py +cfn=seed +calls=1 100 +91 1065000 + +fl=/usr/lib/python2.7/random.py +fn=seed +100 56999 +cfl=~ +cfn= +calls=1 0 +100 13000 +cfl=~ +cfn= +calls=1 0 +100 913000 +cfl=~ +cfn= +calls=1 0 +100 82000 + +fl=/usr/lib/python2.7/random.py +fn=WichmannHill +657 6000 + +fl=/usr/lib/python2.7/random.py +fn=SystemRandom +807 5000 + +fl=/usr/lib/python2.7/re.py +fn=match +138 165000 +cfl=/usr/lib/python2.7/re.py +cfn=_compile +calls=117 230 +138 779000 +cfl=~ +cfn= +calls=117 0 +138 140999 + +fl=/usr/lib/python2.7/re.py +fn=compile +192 748000 +cfl=/usr/lib/python2.7/re.py +cfn=_compile +calls=218 230 +192 345128999 + +fl=/usr/lib/python2.7/re.py +fn=_compile +230 4234000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=isstring +calls=108 546 +230 321999 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=compile +calls=108 567 +230 340744000 +cfl=~ +cfn= +calls=108 0 +230 197000 +cfl=~ +cfn= +calls=108 0 +230 32000 +cfl=~ +cfn= +calls=1 0 +230 379000 + +fl=/usr/lib/python2.7/rfc822.py +fn= +71 59999 +cfl=/usr/lib/python2.7/rfc822.py +cfn=Message +calls=1 85 +71 18000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=AddrlistClass +calls=1 501 +71 10000 +cfl=/usr/lib/python2.7/rfc822.py +cfn=AddressList +calls=1 775 +71 3000 +cfl=/usr/lib/python2.7/warnings.py +cfn=warnpy3k +calls=1 15 +71 3000 + +fl=/usr/lib/python2.7/rfc822.py +fn=Message +85 18000 + +fl=/usr/lib/python2.7/rfc822.py +fn=__init__ +88 28000 +cfl=/usr/lib/python2.7/httplib.py +cfn=readheaders +calls=5 285 +88 911999 + +fl=/usr/lib/python2.7/rfc822.py +fn=isheader +202 53000 +cfl=~ +cfn= +calls=20 0 +202 16000 +cfl=~ +cfn= +calls=20 0 +202 17000 + +fl=/usr/lib/python2.7/rfc822.py +fn=islast +214 31000 + +fl=/usr/lib/python2.7/rfc822.py +fn=iscomment +224 21000 + +fl=/usr/lib/python2.7/rfc822.py +fn=getheader +290 56999 +cfl=~ +cfn= +calls=35 0 +290 14000 +cfl=~ +cfn= +calls=35 0 +290 18000 + +fl=/usr/lib/python2.7/rfc822.py +fn=AddrlistClass +501 10000 + +fl=/usr/lib/python2.7/rfc822.py +fn=AddressList +775 3000 + +fl=/usr/lib/python2.7/shutil.py +fn= +5 3339999 +cfl=/usr/lib/python2.7/shutil.py +cfn=Error +calls=1 45 +5 2000 +cfl=/usr/lib/python2.7/shutil.py +cfn=SpecialFileError +calls=1 48 +5 1000 +cfl=/usr/lib/python2.7/shutil.py +cfn=ExecError +calls=1 52 +5 1000 + +fl=/usr/lib/python2.7/shutil.py +fn=Error +45 2000 + +fl=/usr/lib/python2.7/shutil.py +fn=SpecialFileError +48 1000 + +fl=/usr/lib/python2.7/shutil.py +fn=ExecError +52 1000 + +fl=/usr/lib/python2.7/socket.py +fn= +45 10269000 +cfl=/usr/lib/python2.7/os.py +cfn=_get_exports_list +calls=1 35 +45 319000 +cfl=/usr/lib/python2.7/socket.py +cfn=_closedsocket +calls=1 171 +45 6000 +cfl=/usr/lib/python2.7/socket.py +cfn=_socketobject +calls=1 183 +45 135000 +cfl=/usr/lib/python2.7/socket.py +cfn=_fileobject +calls=1 239 +45 21000 +cfl=~ +cfn= +calls=16 0 +45 24999 +cfl=~ +cfn= +calls=1 0 +45 4000 +cfl=~ +cfn= +calls=1 0 +45 2000 +cfl=~ +cfn= +calls=1 0 +45 3000 +cfl=~ +cfn= +calls=14 0 +45 24999 + +fl=/usr/lib/python2.7/socket.py +fn=_closedsocket +171 6000 + +fl=/usr/lib/python2.7/socket.py +fn=_socketobject +183 135000 + +fl=/usr/lib/python2.7/socket.py +fn=__init__:189 +189 54000 +cfl=~ +cfn= +calls=6 0 +189 4000 +cfl=~ +cfn= +calls=6 0 +189 5000 + +fl=/usr/lib/python2.7/socket.py +fn=makefile +216 29000 +cfl=/usr/lib/python2.7/socket.py +cfn=__init__:250 +calls=5 250 +216 70000 + +fl=/usr/lib/python2.7/socket.py +fn=meth +227 54999 +cfl=~ +cfn= +calls=9 0 +227 11000 +cfl=~ +cfn= +calls=1 0 +227 35000 +cfl=~ +cfn= +calls=1 0 +227 17000 +cfl=~ +cfn= +calls=1 0 +227 14999 +cfl=~ +cfn= +calls=5 0 +227 761000 +cfl=~ +cfn= +calls=1 0 +227 13000 + +fl=/usr/lib/python2.7/socket.py +fn=_fileobject +239 21000 + +fl=/usr/lib/python2.7/socket.py +fn=__init__:250 +250 64999 +cfl=~ +cfn= +calls=5 0 +250 5000 + +fl=/usr/lib/python2.7/socket.py +fn=close +280 26000 +cfl=/usr/lib/python2.7/socket.py +cfn=flush +calls=5 296 +280 10000 + +fl=/usr/lib/python2.7/socket.py +fn=__del__ +289 8000 +cfl=/usr/lib/python2.7/socket.py +cfn=close +calls=5 280 +289 4000 + +fl=/usr/lib/python2.7/socket.py +fn=flush +296 10000 + +fl=/usr/lib/python2.7/socket.py +fn=read +340 56000 +cfl=~ +cfn= +calls=5 0 +340 3000 +cfl=~ +cfn= +calls=5 0 +340 6000 +cfl=~ +cfn= +calls=10 0 +340 7000 +cfl=~ +cfn= +calls=10 0 +340 7000 +cfl=~ +cfn= +calls=5 0 +340 0 +cfl=~ +cfn= +calls=5 0 +340 6000 + +fl=/usr/lib/python2.7/socket.py +fn=readline +410 318000 +cfl=~ +cfn= +calls=30 0 +410 12000 +cfl=~ +cfn= +calls=25 0 +410 14999 +cfl=~ +cfn= +calls=5 0 +410 13000 +cfl=~ +cfn= +calls=25 0 +410 24999 +cfl=~ +cfn= +calls=25 0 +410 17000 +cfl=~ +cfn= +calls=5 0 +410 6450000 +cfl=~ +cfn= +calls=60 0 +410 35000 +cfl=~ +cfn= +calls=35 0 +410 7000 +cfl=~ +cfn= +calls=30 0 +410 75999 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_compile +64 15554000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_compile +calls=790 64 +64 31009000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_compile_charset +calls=409 228 +64 109346000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_simple +calls=381 428 +64 2106000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__getitem__ +calls=2105 142 +64 4192999 +cfl=~ +cfn=<_sre.getlower> +calls=135 0 +64 187000 +cfl=~ +cfn= +calls=2382 0 +64 484000 +cfl=~ +cfn= +calls=5674 0 +64 1297000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=fixup +101 113999 +cfl=~ +cfn=<_sre.getlower> +calls=142 0 +101 75000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_compile_charset +228 67162000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_optimize_charset +calls=423 256 +228 172520999 +cfl=~ +cfn= +calls=1707 0 +228 383000 +cfl=~ +cfn= +calls=64 0 +228 84999 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_optimize_charset +256 31471000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=fixup +calls=8 101 +256 23000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_mk_bitmap +calls=64 411 +256 1372999 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_bytes_to_codes +calls=2 416 +256 341000 +cfl=~ +cfn= +calls=1324 0 +256 270000 +cfl=~ +cfn= +calls=7 0 +256 256000 +cfl=~ +cfn= +calls=1125 0 +256 328000 +cfl=~ +cfn= +calls=1421 0 +256 1097000 +cfl=~ +cfn= +calls=180 0 +256 137361999 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_mk_bitmap +411 1135000 +cfl=~ +cfn= +calls=64 0 +411 13000 +cfl=~ +cfn= +calls=64 0 +411 113000 +cfl=~ +cfn= +calls=64 0 +411 112000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_bytes_to_codes +416 319000 +cfl=~ +cfn= +calls=4 0 +416 1000 +cfl=~ +cfn= +calls=2 0 +416 21000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_simple +428 1294000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__getitem__ +calls=326 142 +428 603000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=getwidth +calls=381 152 +428 208999 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_compile_info +433 1825000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_compile_charset +calls=14 228 +433 130805000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__len__ +calls=30 138 +433 28000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__getitem__ +calls=49 142 +433 109000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=getwidth +calls=108 152 +433 7574000 +cfl=~ +cfn= +calls=350 0 +433 125000 +cfl=~ +cfn= +calls=590 0 +433 228999 +cfl=~ +cfn= +calls=32 0 +433 17000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=isstring +546 403000 +cfl=~ +cfn= +calls=236 0 +546 83000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=_code +552 650000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_compile +calls=108 64 +552 133167000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_compile_info +calls=108 433 +552 140712000 +cfl=~ +cfn= +calls=108 0 +552 21000 + +fl=/usr/lib/python2.7/sre_compile.py +fn=compile +567 1414000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=isstring +calls=108 546 +567 164000 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=_code +calls=108 552 +567 274549999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=parse +calls=108 725 +567 63961000 +cfl=~ +cfn=<_sre.compile> +calls=108 0 +567 549000 +cfl=~ +cfn= +calls=108 0 +567 106000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__init__:68 +68 548000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=opengroup +75 306000 +cfl=~ +cfn= +calls=140 0 +75 46000 +cfl=~ +cfn= +calls=35 0 +75 22000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=closegroup +86 185000 +cfl=~ +cfn= +calls=140 0 +86 104000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=checkgroup +88 2000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__init__:93 +93 1016000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__len__ +138 1607999 +cfl=~ +cfn= +calls=1795 0 +138 381000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__delitem__ +140 12000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__getitem__ +142 5974000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__init__:93 +calls=381 93 +142 443000 +cfl=~ +cfn= +calls=3799 0 +142 2729000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__setitem__ +146 349000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=append +150 1400000 +cfl=~ +cfn= +calls=1441 0 +150 612000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=getwidth +152 6554000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=getwidth +calls=785 152 +152 5874000 +cfl=~ +cfn= +calls=198 0 +152 118000 +cfl=~ +cfn= +calls=1984 0 +152 1111000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__init__:190 +190 303999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__next +calls=108 194 +190 536999 + +fl=/usr/lib/python2.7/sre_parse.py +fn=__next +194 12303000 +cfl=~ +cfn= +calls=10806 0 +194 2079999 + +fl=/usr/lib/python2.7/sre_parse.py +fn=match +207 2356999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__next +calls=835 194 +207 2359000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=get +213 4830000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__next +calls=4622 194 +213 11486999 + +fl=/usr/lib/python2.7/sre_parse.py +fn=tell +217 5000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=isident +222 109000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=isdigit +225 1000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=isname +228 203000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=isident +calls=177 222 +228 109000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=isdigit +calls=2 225 +228 1000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=_class_escape +237 441999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=get +calls=12 213 +237 41000 +cfl=~ +cfn= +calls=52 0 +237 10000 +cfl=~ +cfn= +calls=215 0 +237 122000 +cfl=~ +cfn= +calls=34 0 +237 6000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=_escape +278 750000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=checkgroup +calls=1 88 +278 2000 +cfl=~ +cfn= +calls=76 0 +278 11000 +cfl=~ +cfn= +calls=335 0 +278 167000 +cfl=~ +cfn= +calls=76 0 +278 18000 + +fl=/usr/lib/python2.7/sre_parse.py +fn=_parse_sub +336 3192999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__init__:93 +calls=64 93 +336 64000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__len__ +calls=144 138 +336 146000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__delitem__ +calls=12 140 +336 12000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__getitem__ +calls=176 142 +336 319000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=append +calls=70 150 +336 118000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=match +calls=667 207 +336 897999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=_parse +calls=456 414 +336 59870000 +cfl=~ +cfn= +calls=393 0 +336 216000 +cfl=~ +cfn= +calls=459 0 +336 199999 + +fl=/usr/lib/python2.7/sre_parse.py +fn=_parse +414 23497000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=opengroup +calls=140 75 +414 374000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=closegroup +calls=140 86 +414 289000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__init__:93 +calls=456 93 +414 509000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__len__ +calls=1143 138 +414 1395000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__getitem__ +calls=1143 142 +414 3922000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__setitem__ +calls=381 146 +414 349000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=append +calls=1371 150 +414 1893999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=match +calls=2666 207 +414 3818000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=get +calls=4502 213 +414 16028000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=tell +calls=14 217 +414 5000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=isname +calls=35 228 +414 312999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=_class_escape +calls=140 237 +414 621000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=_escape +calls=226 278 +414 948000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=_parse_sub +calls=211 336 +414 36514000 +cfl=~ +cfn= +calls=1015 0 +414 830000 +cfl=~ +cfn= +calls=1356 0 +414 421000 +cfl=~ +cfn= +calls=1878 0 +414 488999 + +fl=/usr/lib/python2.7/sre_parse.py +fn=parse +725 1455999 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__init__:68 +calls=108 68 +725 548000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__init__:190 +calls=108 190 +725 841000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=get +calls=108 213 +725 248000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=_parse_sub +calls=108 336 +725 60868000 + +fl=/usr/lib/python2.7/ssl.py +fn= +89 2459000 +cfl=/usr/lib/python2.7/base64.py +cfn= +calls=1 3 +89 441999 +cfl=/usr/lib/python2.7/collections.py +cfn=namedtuple +calls=2 305 +89 2316000 +cfl=/usr/lib/python2.7/ssl.py +cfn=_import_symbols +calls=5 115 +89 1099000 +cfl=/usr/lib/python2.7/ssl.py +cfn= +calls=1 130 +89 140999 +cfl=/usr/lib/python2.7/ssl.py +cfn=CertificateError +calls=1 200 +89 1000 +cfl=/usr/lib/python2.7/ssl.py +cfn=_ASN1Object +calls=1 316 +89 5000 +cfl=/usr/lib/python2.7/ssl.py +cfn=__new__ +calls=2 321 +89 96000 +cfl=/usr/lib/python2.7/ssl.py +cfn=Purpose +calls=1 337 +89 1000 +cfl=/usr/lib/python2.7/ssl.py +cfn=SSLContext +calls=1 345 +89 8000 +cfl=/usr/lib/python2.7/ssl.py +cfn=_get_https_context_factory +calls=1 493 +89 27000 +cfl=/usr/lib/python2.7/ssl.py +cfn=SSLSocket +calls=1 512 +89 37000 +cfl=~ +cfn= +calls=1 0 +89 1000 +cfl=~ +cfn= +calls=1 0 +89 17000 + +fl=/usr/lib/python2.7/ssl.py +fn=_import_symbols +115 497999 +cfl=~ +cfn= +calls=5 0 +115 286000 +cfl=~ +cfn= +calls=58 0 +115 59000 +cfl=~ +cfn= +calls=58 0 +115 14000 +cfl=~ +cfn= +calls=460 0 +115 242000 + +fl=/usr/lib/python2.7/ssl.py +fn= +130 90999 +cfl=~ +cfn= +calls=94 0 +130 49999 + +fl=/usr/lib/python2.7/ssl.py +fn=CertificateError +200 1000 + +fl=/usr/lib/python2.7/ssl.py +fn=_ASN1Object +316 5000 + +fl=/usr/lib/python2.7/ssl.py +fn=__new__ +321 20000 +cfl=~ +cfn=<_ssl.txt2obj> +calls=2 0 +321 68000 + +fl=/usr/lib/python2.7/ssl.py +fn=Purpose +337 1000 + +fl=/usr/lib/python2.7/ssl.py +fn=SSLContext +345 8000 + +fl=/usr/lib/python2.7/ssl.py +fn=_get_https_context_factory +493 17000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=1 91 +493 10000 + +fl=/usr/lib/python2.7/ssl.py +fn=SSLSocket +512 32000 +cfl=~ +cfn= +calls=1 0 +512 5000 + +fl=/usr/lib/python2.7/stat.py +fn=S_IFMT +24 893999 + +fl=/usr/lib/python2.7/stat.py +fn=S_ISDIR +40 1671000 +cfl=/usr/lib/python2.7/stat.py +cfn=S_IFMT +calls=1378 24 +40 884999 + +fl=/usr/lib/python2.7/stat.py +fn=S_ISREG +49 7000 +cfl=/usr/lib/python2.7/stat.py +cfn=S_IFMT +calls=3 24 +49 4000 + +fl=/usr/lib/python2.7/stat.py +fn=S_ISLNK +55 14000 +cfl=/usr/lib/python2.7/stat.py +cfn=S_IFMT +calls=8 24 +55 5000 + +fl=/usr/lib/python2.7/string.py +fn=strip +250 18000 +cfl=~ +cfn= +calls=1 0 +250 7000 + +fl=/usr/lib/python2.7/string.py +fn=join +310 54000 +cfl=~ +cfn= +calls=57 0 +310 54999 + +fl=/usr/lib/python2.7/string.py +fn=replace +513 51000 +cfl=~ +cfn= +calls=54 0 +513 44999 + +fl=/usr/lib/python2.7/subprocess.py +fn= +31 3460000 +cfl=/usr/lib/python2.7/pickle.py +cfn= +calls=1 25 +31 2470000 +cfl=/usr/lib/python2.7/subprocess.py +cfn=CalledProcessError +calls=1 44 +31 3000 +cfl=/usr/lib/python2.7/subprocess.py +cfn=Popen +calls=1 297 +31 41000 +cfl=~ +cfn= +calls=1 0 +31 6000 +cfl=~ +cfn= +calls=1 0 +31 2000 +cfl=~ +cfn= +calls=1 0 +31 10000 + +fl=/usr/lib/python2.7/subprocess.py +fn=CalledProcessError +44 3000 + +fl=/usr/lib/python2.7/subprocess.py +fn=Popen +297 40000 +cfl=~ +cfn= +calls=1 0 +297 1000 + +fl=/usr/lib/python2.7/tempfile.py +fn= +18 4031000 +cfl=/usr/lib/python2.7/io.py +cfn= +calls=1 34 +18 1692000 +cfl=/usr/lib/python2.7/random.py +cfn= +calls=1 40 +18 14350000 +cfl=/usr/lib/python2.7/tempfile.py +cfn=_RandomNameSequence +calls=1 108 +18 9000 +cfl=/usr/lib/python2.7/tempfile.py +cfn=_TemporaryFileWrapper +calls=1 383 +18 5000 +cfl=/usr/lib/python2.7/tempfile.py +cfn=SpooledTemporaryFile +calls=1 519 +18 18000 +cfl=~ +cfn= +calls=5 0 +18 11000 +cfl=~ +cfn= +calls=1 0 +18 1000 + +fl=/usr/lib/python2.7/tempfile.py +fn=_RandomNameSequence +108 9000 + +fl=/usr/lib/python2.7/tempfile.py +fn=_TemporaryFileWrapper +383 5000 + +fl=/usr/lib/python2.7/tempfile.py +fn=SpooledTemporaryFile +519 18000 + +fl=/usr/lib/python2.7/threading.py +fn= +1 534000 +cfl=/usr/lib/python2.7/threading.py +cfn=_Verbose +calls=1 57 +1 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=_RLock +calls=1 125 +1 4000 +cfl=/usr/lib/python2.7/threading.py +cfn=_Condition +calls=1 255 +1 14999 +cfl=/usr/lib/python2.7/threading.py +cfn=_Semaphore +calls=1 423 +1 4000 +cfl=/usr/lib/python2.7/threading.py +cfn=_BoundedSemaphore +calls=1 515 +1 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=_Event +calls=1 552 +1 4000 +cfl=/usr/lib/python2.7/threading.py +cfn=Thread +calls=1 631 +1 39000 +cfl=/usr/lib/python2.7/threading.py +cfn=_Timer +calls=1 1048 +1 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=_MainThread +calls=1 1078 +1 1000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:1080 +calls=1 1080 +1 168000 +cfl=/usr/lib/python2.7/threading.py +cfn=_DummyThread +calls=1 1118 +1 2000 +cfl=/usr/lib/python2.7/warnings.py +cfn=filterwarnings +calls=1 67 +1 629000 +cfl=~ +cfn= +calls=1 0 +1 1000 + +fl=/usr/lib/python2.7/threading.py +fn=_Verbose +57 2000 + +fl=/usr/lib/python2.7/threading.py +fn=__init__:59 +59 54000 + +fl=/usr/lib/python2.7/threading.py +fn=_note +64 116000 + +fl=/usr/lib/python2.7/threading.py +fn=RLock +114 448000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:132 +calls=21 132 +114 196000 + +fl=/usr/lib/python2.7/threading.py +fn=_RLock +125 4000 + +fl=/usr/lib/python2.7/threading.py +fn=__init__:132 +132 140000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:59 +calls=21 59 +132 35000 +cfl=~ +cfn= +calls=21 0 +132 21000 + +fl=/usr/lib/python2.7/threading.py +fn=acquire +147 513000 +cfl=/usr/lib/python2.7/threading.py +cfn=_note +calls=73 64 +147 62000 +cfl=~ +cfn= +calls=57 0 +147 392000 +cfl=~ +cfn= +calls=73 0 +147 52000 + +fl=/usr/lib/python2.7/threading.py +fn=release +187 348000 +cfl=/usr/lib/python2.7/threading.py +cfn=_note +calls=73 64 +187 52000 +cfl=~ +cfn= +calls=57 0 +187 32000 +cfl=~ +cfn= +calls=73 0 +187 26000 + +fl=/usr/lib/python2.7/threading.py +fn=__exit__:215 +215 31000 +cfl=/usr/lib/python2.7/threading.py +cfn=release +calls=15 187 +215 99999 + +fl=/usr/lib/python2.7/threading.py +fn=Condition +242 89000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:260 +calls=7 260 +242 173000 + +fl=/usr/lib/python2.7/threading.py +fn=_Condition +255 14999 + +fl=/usr/lib/python2.7/threading.py +fn=__init__:260 +260 122999 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:59 +calls=7 59 +260 13000 +cfl=/usr/lib/python2.7/threading.py +cfn=RLock +calls=3 114 +260 37000 + +fl=/usr/lib/python2.7/threading.py +fn=__enter__ +285 29999 +cfl=/usr/lib/python2.7/threading.py +cfn=acquire +calls=10 147 +285 70999 +cfl=~ +cfn= +calls=2 0 +285 3000 + +fl=/usr/lib/python2.7/threading.py +fn=__exit__:288 +288 35000 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:215 +calls=10 215 +288 80999 +cfl=~ +cfn= +calls=2 0 +288 1000 + +fl=/usr/lib/python2.7/threading.py +fn=_release_save +294 1000 +cfl=~ +cfn= +calls=1 0 +294 1000 + +fl=/usr/lib/python2.7/threading.py +fn=_acquire_restore +297 2000 +cfl=~ +cfn= +calls=1 0 +297 7000 + +fl=/usr/lib/python2.7/threading.py +fn=_is_owned +300 7000 +cfl=~ +cfn= +calls=2 0 +300 2000 + +fl=/usr/lib/python2.7/threading.py +fn=wait:309 +309 14999 +cfl=/usr/lib/python2.7/threading.py +cfn=_note +calls=1 64 +309 1000 +cfl=/usr/lib/python2.7/threading.py +cfn=_release_save +calls=1 294 +309 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=_acquire_restore +calls=1 297 +309 9000 +cfl=/usr/lib/python2.7/threading.py +cfn=_is_owned +calls=1 300 +309 4000 +cfl=~ +cfn= +calls=2 0 +309 93000 +cfl=~ +cfn= +calls=1 0 +309 1000 +cfl=~ +cfn= +calls=1 0 +309 1000 + +fl=/usr/lib/python2.7/threading.py +fn=notify +373 11000 +cfl=/usr/lib/python2.7/threading.py +cfn=_note +calls=1 64 +373 1000 +cfl=/usr/lib/python2.7/threading.py +cfn=_is_owned +calls=1 300 +373 5000 + +fl=/usr/lib/python2.7/threading.py +fn=notifyAll +400 3000 +cfl=/usr/lib/python2.7/threading.py +cfn=notify +calls=1 373 +400 17000 +cfl=~ +cfn= +calls=1 0 +400 0 + +fl=/usr/lib/python2.7/threading.py +fn=_Semaphore +423 4000 + +fl=/usr/lib/python2.7/threading.py +fn=_BoundedSemaphore +515 2000 + +fl=/usr/lib/python2.7/threading.py +fn=Event +542 7000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:561 +calls=2 561 +542 88000 + +fl=/usr/lib/python2.7/threading.py +fn=_Event +552 4000 + +fl=/usr/lib/python2.7/threading.py +fn=__init__:561 +561 14999 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:59 +calls=2 59 +561 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=Condition +calls=2 242 +561 70000 +cfl=~ +cfn= +calls=2 0 +561 1000 + +fl=/usr/lib/python2.7/threading.py +fn=isSet +570 1000 + +fl=/usr/lib/python2.7/threading.py +fn=set +576 8000 +cfl=/usr/lib/python2.7/threading.py +cfn=__enter__ +calls=1 285 +576 8000 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:288 +calls=1 288 +576 5000 +cfl=/usr/lib/python2.7/threading.py +cfn=notifyAll +calls=1 400 +576 20000 + +fl=/usr/lib/python2.7/threading.py +fn=wait:597 +597 14000 +cfl=/usr/lib/python2.7/threading.py +cfn=__enter__ +calls=1 285 +597 3000 +cfl=/usr/lib/python2.7/threading.py +cfn=__exit__:288 +calls=1 288 +597 3000 +cfl=/usr/lib/python2.7/threading.py +cfn=wait:309 +calls=1 309 +597 126000 + +fl=/usr/lib/python2.7/threading.py +fn=_newname +620 7000 + +fl=/usr/lib/python2.7/threading.py +fn=Thread +631 34000 +cfl=~ +cfn= +calls=2 0 +631 5000 + +fl=/usr/lib/python2.7/threading.py +fn=__init__:647 +647 53000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:59 +calls=2 59 +647 4000 +cfl=/usr/lib/python2.7/threading.py +cfn=Condition +calls=2 242 +647 32000 +cfl=/usr/lib/python2.7/threading.py +cfn=Event +calls=2 542 +647 94999 +cfl=/usr/lib/python2.7/threading.py +cfn=_newname +calls=1 620 +647 7000 +cfl=/usr/lib/python2.7/threading.py +cfn=_set_daemon:700 +calls=1 700 +647 11000 +cfl=/usr/lib/python2.7/threading.py +cfn=_set_daemon:1087 +calls=1 1087 +647 0 +cfl=~ +cfn= +calls=2 0 +647 2000 + +fl=/usr/lib/python2.7/threading.py +fn=_set_daemon:700 +700 6000 +cfl=/usr/lib/python2.7/threading.py +cfn=daemon:999 +calls=1 999 +700 2000 +cfl=/usr/lib/python2.7/threading.py +cfn=currentThread +calls=1 1142 +700 3000 + +fl=/usr/lib/python2.7/threading.py +fn=start +717 16000 +cfl=/usr/lib/python2.7/threading.py +cfn=_note +calls=1 64 +717 0 +cfl=/usr/lib/python2.7/threading.py +cfn=isSet +calls=1 570 +717 1000 +cfl=/usr/lib/python2.7/threading.py +cfn=wait:597 +calls=1 597 +717 146000 +cfl=~ +cfn= +calls=1 0 +717 193000 + +fl=/usr/lib/python2.7/threading.py +fn=_set_ident +780 2000 +cfl=~ +cfn= +calls=1 0 +780 1000 + +fl=/usr/lib/python2.7/threading.py +fn=name +958 23000 + +fl=/usr/lib/python2.7/threading.py +fn=daemon:999 +999 2000 + +fl=/usr/lib/python2.7/threading.py +fn=daemon:1014 +1014 4000 +cfl=/usr/lib/python2.7/threading.py +cfn=isSet +calls=1 570 +1014 0 + +fl=/usr/lib/python2.7/threading.py +fn=_Timer +1048 2000 + +fl=/usr/lib/python2.7/threading.py +fn=_MainThread +1078 1000 + +fl=/usr/lib/python2.7/threading.py +fn=__init__:1080 +1080 21000 +cfl=/usr/lib/python2.7/threading.py +cfn=set +calls=1 576 +1080 41000 +cfl=/usr/lib/python2.7/threading.py +cfn=__init__:647 +calls=1 647 +1080 102000 +cfl=/usr/lib/python2.7/threading.py +cfn=_set_ident +calls=1 780 +1080 3000 +cfl=~ +cfn= +calls=1 0 +1080 1000 + +fl=/usr/lib/python2.7/threading.py +fn=_set_daemon:1087 +1087 0 + +fl=/usr/lib/python2.7/threading.py +fn=_DummyThread +1118 2000 + +fl=/usr/lib/python2.7/threading.py +fn=currentThread +1142 21000 +cfl=~ +cfn= +calls=7 0 +1142 3000 + +fl=/usr/lib/python2.7/token.py +fn= +1 79000 +cfl=~ +cfn= +calls=1 0 +1 0 +cfl=~ +cfn= +calls=1 0 +1 8000 + +fl=/usr/lib/python2.7/tokenize.py +fn= +23 1601000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=2 192 +23 1026000 +cfl=/usr/lib/python2.7/token.py +cfn= +calls=1 1 +23 87000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=group +calls=16 45 +23 27000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=any +calls=1 46 +23 9000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=maybe +calls=2 47 +23 6000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=TokenError +calls=1 146 +23 1000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=StopTokenizing +calls=1 148 +23 1000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=Untokenizer +calls=1 179 +23 3000 +cfl=~ +cfn= +calls=1 0 +23 29000 +cfl=~ +cfn= +calls=1 0 +23 23233000 +cfl=~ +cfn= +calls=65 0 +23 23000 + +fl=/usr/lib/python2.7/tokenize.py +fn=group +45 23000 +cfl=~ +cfn= +calls=19 0 +45 11000 + +fl=/usr/lib/python2.7/tokenize.py +fn=any +46 4000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=group +calls=1 45 +46 5000 + +fl=/usr/lib/python2.7/tokenize.py +fn=maybe +47 4000 +cfl=/usr/lib/python2.7/tokenize.py +cfn=group +calls=2 45 +47 2000 + +fl=/usr/lib/python2.7/tokenize.py +fn=TokenError +146 1000 + +fl=/usr/lib/python2.7/tokenize.py +fn=StopTokenizing +148 1000 + +fl=/usr/lib/python2.7/tokenize.py +fn=Untokenizer +179 3000 + +fl=/usr/lib/python2.7/traceback.py +fn=extract_stack +281 446000 +cfl=/usr/lib/python2.7/linecache.py +cfn=getline +calls=30 13 +281 9764000 +cfl=/usr/lib/python2.7/linecache.py +cfn=checkcache +calls=30 47 +281 563000 +cfl=~ +cfn= +calls=30 0 +281 13000 +cfl=~ +cfn= +calls=15 0 +281 10000 +cfl=~ +cfn= +calls=30 0 +281 18999 +cfl=~ +cfn= +calls=15 0 +281 24000 + +fl=/usr/lib/python2.7/unittest/__init__.py +fn= +45 6575999 +cfl=/usr/lib/python2.7/unittest/case.py +cfn= +calls=1 1 +45 2552000 +cfl=/usr/lib/python2.7/unittest/loader.py +cfn= +calls=1 1 +45 2235999 +cfl=/usr/lib/python2.7/unittest/main.py +cfn= +calls=1 1 +45 2108000 +cfl=/usr/lib/python2.7/unittest/result.py +cfn= +calls=1 1 +45 4919000 +cfl=/usr/lib/python2.7/unittest/suite.py +cfn= +calls=1 1 +45 238999 +cfl=~ +cfn= +calls=1 0 +45 1000 + +fl=/usr/lib/python2.7/unittest/case.py +fn= +1 2402000 +cfl=/usr/lib/python2.7/pprint.py +cfn= +calls=1 35 +1 54999 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=SkipTest +calls=1 25 +1 2000 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=_ExpectedFailure +calls=1 34 +1 2000 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=_UnexpectedSuccess +calls=1 45 +1 2000 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=_AssertRaisesContext +calls=1 98 +1 3000 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=TestCase +calls=1 131 +1 75000 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=FunctionTestCase +calls=1 1019 +1 11000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=SkipTest +25 2000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=_ExpectedFailure +34 2000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=_UnexpectedSuccess +45 2000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=_AssertRaisesContext +98 3000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=TestCase +131 64000 +cfl=/usr/lib/python2.7/unittest/case.py +cfn=_deprecate +calls=7 608 +131 11000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=_deprecate +608 11000 + +fl=/usr/lib/python2.7/unittest/case.py +fn=FunctionTestCase +1019 11000 + +fl=/usr/lib/python2.7/unittest/loader.py +fn= +1 1537999 +cfl=/usr/lib/python2.7/fnmatch.py +cfn= +calls=1 11 +1 18000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +1 670000 +cfl=/usr/lib/python2.7/unittest/loader.py +cfn=TestLoader +calls=1 38 +1 10000 + +fl=/usr/lib/python2.7/unittest/loader.py +fn=TestLoader +38 10000 + +fl=/usr/lib/python2.7/unittest/main.py +fn= +1 892000 +cfl=/usr/lib/python2.7/unittest/main.py +cfn=TestProgram +calls=1 63 +1 8000 +cfl=/usr/lib/python2.7/unittest/runner.py +cfn= +calls=1 1 +1 1207999 + +fl=/usr/lib/python2.7/unittest/main.py +fn=TestProgram +63 8000 + +fl=/usr/lib/python2.7/unittest/result.py +fn= +1 3103000 +cfl=/usr/lib/python2.7/StringIO.py +cfn= +calls=1 30 +1 47000 +cfl=/usr/lib/python2.7/unittest/result.py +cfn=TestResult +calls=1 26 +1 94000 +cfl=/usr/lib/python2.7/unittest/util.py +cfn= +calls=1 1 +1 1674999 + +fl=/usr/lib/python2.7/unittest/result.py +fn=failfast +14 17000 +cfl=/usr/lib/python2.7/functools.py +cfn=update_wrapper +calls=3 17 +14 49000 +cfl=/usr/lib/python2.7/functools.py +cfn=wraps +calls=3 39 +14 10000 + +fl=/usr/lib/python2.7/unittest/result.py +fn=TestResult +26 18000 +cfl=/usr/lib/python2.7/unittest/result.py +cfn=failfast +calls=3 14 +26 75999 + +fl=/usr/lib/python2.7/unittest/runner.py +fn= +1 861000 +cfl=/usr/lib/python2.7/unittest/runner.py +cfn=_WritelnDecorator +calls=1 12 +1 3000 +cfl=/usr/lib/python2.7/unittest/runner.py +cfn=TextTestResult +calls=1 28 +1 18000 +cfl=/usr/lib/python2.7/unittest/runner.py +cfn=TextTestRunner +calls=1 119 +1 5000 +cfl=/usr/lib/python2.7/unittest/signals.py +cfn= +calls=1 1 +1 321000 + +fl=/usr/lib/python2.7/unittest/runner.py +fn=_WritelnDecorator +12 3000 + +fl=/usr/lib/python2.7/unittest/runner.py +fn=TextTestResult +28 18000 + +fl=/usr/lib/python2.7/unittest/runner.py +fn=TextTestRunner +119 5000 + +fl=/usr/lib/python2.7/unittest/signals.py +fn= +1 306000 +cfl=/usr/lib/python2.7/unittest/signals.py +cfn=_InterruptHandler +calls=1 9 +1 3000 +cfl=/usr/lib/python2.7/weakref.py +cfn=__init__:330 +calls=1 330 +1 12000 + +fl=/usr/lib/python2.7/unittest/signals.py +fn=_InterruptHandler +9 3000 + +fl=/usr/lib/python2.7/unittest/suite.py +fn= +1 192000 +cfl=/usr/lib/python2.7/unittest/suite.py +cfn=BaseTestSuite +calls=1 16 +1 39000 +cfl=/usr/lib/python2.7/unittest/suite.py +cfn=TestSuite +calls=1 78 +1 4000 +cfl=/usr/lib/python2.7/unittest/suite.py +cfn=_ErrorHolder +calls=1 252 +1 3000 +cfl=/usr/lib/python2.7/unittest/suite.py +cfn=_DebugResult +calls=1 299 +1 1000 + +fl=/usr/lib/python2.7/unittest/suite.py +fn=BaseTestSuite +16 39000 + +fl=/usr/lib/python2.7/unittest/suite.py +fn=TestSuite +78 4000 + +fl=/usr/lib/python2.7/unittest/suite.py +fn=_ErrorHolder +252 3000 + +fl=/usr/lib/python2.7/unittest/suite.py +fn=_DebugResult +299 1000 + +fl=/usr/lib/python2.7/unittest/util.py +fn= +1 135000 +cfl=/usr/lib/python2.7/collections.py +cfn=namedtuple +calls=1 305 +1 1540000 + +fl=/usr/lib/python2.7/urllib.py +fn= +23 750999 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +23 17000 +cfl=/usr/lib/python2.7/urllib.py +cfn=ContentTooShortError +calls=1 114 +23 2000 +cfl=/usr/lib/python2.7/urllib.py +cfn=URLopener +calls=1 120 +23 26000 +cfl=/usr/lib/python2.7/urllib.py +cfn=FancyURLopener +calls=1 618 +23 8000 +cfl=/usr/lib/python2.7/urllib.py +cfn=ftpwrapper +calls=1 864 +23 5000 +cfl=/usr/lib/python2.7/urllib.py +cfn=addbase +calls=1 957 +23 7000 +cfl=/usr/lib/python2.7/urllib.py +cfn=addclosehook +calls=1 986 +23 1000 +cfl=/usr/lib/python2.7/urllib.py +cfn=addinfo +calls=1 1006 +23 1000 +cfl=/usr/lib/python2.7/urllib.py +cfn=addinfourl +calls=1 1016 +23 2000 +cfl=/usr/lib/python2.7/urllib.py +cfn= +calls=485 1218 +23 914999 +cfl=~ +cfn= +calls=191 0 +23 157000 +cfl=~ +cfn= +calls=1 0 +23 24000 + +fl=/usr/lib/python2.7/urllib.py +fn=ContentTooShortError +114 2000 + +fl=/usr/lib/python2.7/urllib.py +fn=URLopener +120 26000 + +fl=/usr/lib/python2.7/urllib.py +fn=FancyURLopener +618 8000 + +fl=/usr/lib/python2.7/urllib.py +fn=ftpwrapper +864 5000 + +fl=/usr/lib/python2.7/urllib.py +fn=addbase +957 7000 + +fl=/usr/lib/python2.7/urllib.py +fn=addclosehook +986 1000 + +fl=/usr/lib/python2.7/urllib.py +fn=addinfo +1006 1000 + +fl=/usr/lib/python2.7/urllib.py +fn=addinfourl +1016 2000 + +fl=/usr/lib/python2.7/urllib.py +fn= +1218 763999 +cfl=~ +cfn= +calls=484 0 +1218 150999 + +fl=/usr/lib/python2.7/urlparse.py +fn= +29 2921999 +cfl=/usr/lib/python2.7/collections.py +cfn= +calls=1 11 +29 3981000 +cfl=/usr/lib/python2.7/collections.py +cfn=namedtuple +calls=2 305 +29 2467999 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +29 505000 +cfl=/usr/lib/python2.7/urlparse.py +cfn=ResultMixin +calls=1 73 +29 14000 +cfl=/usr/lib/python2.7/urlparse.py +cfn=SplitResult +calls=1 121 +29 1000 +cfl=/usr/lib/python2.7/urlparse.py +cfn=ParseResult +calls=1 129 +29 1000 +cfl=/usr/lib/python2.7/urlparse.py +cfn= +calls=485 353 +29 847000 + +fl=/usr/lib/python2.7/urlparse.py +fn=ResultMixin +73 14000 + +fl=/usr/lib/python2.7/urlparse.py +fn=SplitResult +121 1000 + +fl=/usr/lib/python2.7/urlparse.py +fn=ParseResult +129 1000 + +fl=/usr/lib/python2.7/urlparse.py +fn=urlparse +137 113000 +cfl=/usr/lib/python2.7/urlparse.py +cfn=urlsplit +calls=9 187 +137 61000 +cfl= +cfn=__new__ +calls=9 8 +137 127000 + +fl=/usr/lib/python2.7/urlparse.py +fn=urlsplit +187 42999 +cfl=~ +cfn= +calls=9 0 +187 18000 + +fl=/usr/lib/python2.7/urlparse.py +fn= +353 678999 +cfl=~ +cfn= +calls=484 0 +353 168000 + +fl=/usr/lib/python2.7/warnings.py +fn=warnpy3k +15 4000 + +fl=/usr/lib/python2.7/warnings.py +fn=filterwarnings +67 104000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=10 192 +67 2392000 +cfl=~ +cfn= +calls=20 0 +67 20000 +cfl=~ +cfn= +calls=5 0 +67 7000 +cfl=~ +cfn= +calls=5 0 +67 7000 + +fl=/usr/lib/python2.7/warnings.py +fn=simplefilter +96 12000 +cfl=~ +cfn= +calls=1 0 +96 1000 +cfl=~ +cfn= +calls=1 0 +96 2000 + +fl=/usr/lib/python2.7/warnings.py +fn=__init__ +343 49000 + +fl=/usr/lib/python2.7/warnings.py +fn=__enter__ +364 40000 + +fl=/usr/lib/python2.7/warnings.py +fn=__exit__ +380 21000 + +fl=/usr/lib/python2.7/weakref.py +fn=__init__:48 +48 77000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__init__ +calls=2 4 +48 24999 +cfl=~ +cfn= +calls=2 0 +48 2000 + +fl=/usr/lib/python2.7/weakref.py +fn=clear +120 4000 +cfl=~ +cfn= +calls=1 0 +120 1000 + +fl=/usr/lib/python2.7/weakref.py +fn=__init__:330 +330 12000 + +fl=/usr/lib/python2.7/xml/__init__.py +fn= +17 1354999 + +fl=/usr/lib/python2.7/xml/dom/NodeFilter.py +fn= +4 24000 +cfl=/usr/lib/python2.7/xml/dom/NodeFilter.py +cfn=NodeFilter +calls=1 4 +4 6000 + +fl=/usr/lib/python2.7/xml/dom/NodeFilter.py +fn=NodeFilter +4 6000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn= +15 1519000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=Node +calls=1 18 +15 4000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=DOMException +calls=1 61 +15 3000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=IndexSizeErr +calls=1 75 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=DomstringSizeErr +calls=1 78 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=HierarchyRequestErr +calls=1 81 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=WrongDocumentErr +calls=1 84 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=InvalidCharacterErr +calls=1 87 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=NoDataAllowedErr +calls=1 90 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=NoModificationAllowedErr +calls=1 93 +15 2000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=NotFoundErr +calls=1 96 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=NotSupportedErr +calls=1 99 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=InuseAttributeErr +calls=1 102 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=InvalidStateErr +calls=1 105 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=SyntaxErr +calls=1 108 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=InvalidModificationErr +calls=1 111 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=NamespaceErr +calls=1 114 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=InvalidAccessErr +calls=1 117 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=ValidationErr +calls=1 120 +15 1000 +cfl=/usr/lib/python2.7/xml/dom/__init__.py +cfn=UserDataHandler +calls=1 123 +15 2000 +cfl=/usr/lib/python2.7/xml/dom/domreg.py +cfn= +calls=1 3 +15 1091999 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=Node +18 4000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=DOMException +61 3000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=IndexSizeErr +75 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=DomstringSizeErr +78 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=HierarchyRequestErr +81 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=WrongDocumentErr +84 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=InvalidCharacterErr +87 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=NoDataAllowedErr +90 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=NoModificationAllowedErr +93 2000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=NotFoundErr +96 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=NotSupportedErr +99 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=InuseAttributeErr +102 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=InvalidStateErr +105 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=SyntaxErr +108 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=InvalidModificationErr +111 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=NamespaceErr +114 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=InvalidAccessErr +117 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=ValidationErr +120 1000 + +fl=/usr/lib/python2.7/xml/dom/__init__.py +fn=UserDataHandler +123 2000 + +fl=/usr/lib/python2.7/xml/dom/domreg.py +fn= +3 904000 +cfl=/usr/lib/python2.7/xml/dom/minicompat.py +cfn= +calls=1 1 +3 188000 + +fl=/usr/lib/python2.7/xml/dom/minicompat.py +fn= +1 158000 +cfl=/usr/lib/python2.7/xml/dom/minicompat.py +cfn=NodeList +calls=1 51 +1 18000 +cfl=/usr/lib/python2.7/xml/dom/minicompat.py +cfn=EmptyNodeList +calls=1 75 +1 12000 + +fl=/usr/lib/python2.7/xml/dom/minicompat.py +fn=NodeList +51 18000 + +fl=/usr/lib/python2.7/xml/dom/minicompat.py +fn=EmptyNodeList +75 12000 + +fl=/usr/lib/python2.7/xml/dom/minicompat.py +fn=defproperty +102 113999 +cfl=~ +cfn= +calls=14 0 +102 14999 +cfl=~ +cfn= +calls=14 0 +102 40000 +cfl=~ +cfn= +calls=14 0 +102 13000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn= +16 8883000 +cfl=/usr/lib/python2.7/xml/dom/minicompat.py +cfn=defproperty +calls=14 102 +16 181999 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Node +calls=1 33 +16 24000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=DocumentFragment +calls=1 317 +16 6000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Attr +calls=1 335 +16 8000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=NamedNodeMap +calls=1 454 +16 22000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=TypeInfo +calls=1 609 +16 4000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=__init__ +calls=1 612 +16 4000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Element +calls=1 630 +16 37999 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Childless +calls=1 867 +16 268000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=ProcessingInstruction +calls=1 907 +16 13000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=CharacterData +calls=1 938 +16 5000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Text +calls=1 1012 +16 4000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Comment +calls=1 1126 +16 2000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=CDATASection +calls=1 1139 +16 1000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=ReadOnlySequentialNamedNodeMap +calls=1 1154 +16 9000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Identified +calls=1 1220 +16 2000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=DocumentType +calls=1 1236 +16 4000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Entity +calls=1 1296 +16 11000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Notation +calls=1 1336 +16 1000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=DOMImplementation +calls=1 1345 +16 4000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=ElementInfo +calls=1 1424 +16 10000 +cfl=/usr/lib/python2.7/xml/dom/minidom.py +cfn=Document +calls=1 1474 +16 32999 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn= +calls=1 1 +16 1292000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Node +33 24000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=DocumentFragment +317 6000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Attr +335 8000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=NamedNodeMap +454 22000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=TypeInfo +609 4000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=__init__ +612 4000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Element +630 37999 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Childless +867 268000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=ProcessingInstruction +907 13000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=CharacterData +938 5000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Text +1012 4000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Comment +1126 2000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=CDATASection +1139 1000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=ReadOnlySequentialNamedNodeMap +1154 9000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Identified +1220 2000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=DocumentType +1236 4000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Entity +1296 11000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Notation +1336 1000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=DOMImplementation +1345 4000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=ElementInfo +1424 10000 + +fl=/usr/lib/python2.7/xml/dom/minidom.py +fn=Document +1474 32999 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn= +1 1184999 +cfl=/usr/lib/python2.7/xml/dom/NodeFilter.py +cfn= +calls=1 4 +1 29999 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=Options +calls=1 12 +1 7000 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=DOMBuilder +calls=1 44 +1 41000 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=DOMEntityResolver +calls=1 212 +1 3000 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=DOMInputSource +calls=1 256 +1 16000 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=DOMBuilderFilter +calls=1 305 +1 4000 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=DocumentLS +calls=1 334 +1 4000 +cfl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +cfn=DOMImplementationLS +calls=1 366 +1 2000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=Options +12 7000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=DOMBuilder +44 41000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=DOMEntityResolver +212 3000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=DOMInputSource +256 16000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=DOMBuilderFilter +305 4000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=DocumentLS +334 4000 + +fl=/usr/lib/python2.7/xml/dom/xmlbuilder.py +fn=DOMImplementationLS +366 2000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn= +59 35000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +59 2226000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=_SelectorContext +calls=1 237 +59 2000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=xpath_tokenizer +73 26000 +cfl=~ +cfn= +calls=1 0 +73 22000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=prepare_child +96 5000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=select:98 +98 3153000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=select:98 +calls=427 98 +98 2624999 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=select:113 +calls=533 113 +98 308000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=prepare_self +112 2000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=select:113 +113 323000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=_SelectorContext +237 2000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=__init__ +239 220999 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=iterfind +247 2127000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=xpath_tokenizer +calls=6 73 +247 48000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=prepare_child +calls=2 96 +247 5000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=prepare_self +calls=1 112 +247 2000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=__init__ +calls=284 239 +247 220999 +cfl=~ +cfn= +calls=1 0 +247 1000 +cfl=~ +cfn= +calls=1 0 +247 1000 +cfl=~ +cfn= +calls=3 0 +247 1000 + +fl=/usr/lib/python2.7/xml/etree/ElementPath.py +fn=find +283 2969000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=select:98 +calls=354 98 +283 3460999 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=select:113 +calls=35 113 +283 14999 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=iterfind +calls=284 247 +283 2405999 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn= +59 3705000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn= +calls=1 59 +59 2263000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=_SimpleElementPath +calls=1 104 +59 5000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=ParseError +calls=1 138 +59 1000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=Element +calls=1 171 +59 20000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=QName +calls=1 580 +59 3000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=ElementTree +calls=1 605 +59 9000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=_IterParseIterator +calls=1 1210 +59 3000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=TreeBuilder +calls=1 1376 +59 6000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn=XMLParser +calls=1 1468 +59 9000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=_SimpleElementPath +104 5000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=ParseError +138 1000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=Element +171 20000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=QName +580 3000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=ElementTree +605 9000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=__init__ +607 5539000 +cfl= +cfn=parse +calls=284 23 +607 168704000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=find +694 1006999 +cfl=~ +cfn= +calls=284 0 +694 10643000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=findtext +718 557000 +cfl=~ +cfn= +calls=249 0 +718 448999 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=_IterParseIterator +1210 3000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=TreeBuilder +1376 6000 + +fl=/usr/lib/python2.7/xml/etree/ElementTree.py +fn=XMLParser +1468 9000 + +fl=/usr/lib/python2.7/xml/etree/__init__.py +fn= +1 1000 + +fl=/usr/lib/python2.7/xml/etree/cElementTree.py +fn= +3 5201000 + +fl=/usr/lib/python2.7/xml/parsers/__init__.py +fn= +8 4000 + +fl=/usr/lib/python2.7/xml/parsers/expat.py +fn= +1 3005000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn= +138 24797000 +cfl=/usr/lib/python2.7/abc.py +cfn=__new__ +calls=1 86 +138 165000 +cfl=/usr/lib/python2.7/gzip.py +cfn= +calls=1 4 +138 318000 +cfl=/usr/lib/python2.7/httplib.py +cfn= +calls=1 67 +138 16731000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=1 192 +138 335000 +cfl=/usr/lib/python2.7/xml/__init__.py +cfn= +calls=1 17 +138 1354999 +cfl=/usr/lib/python2.7/xml/parsers/__init__.py +cfn= +calls=1 8 +138 4000 +cfl=/usr/lib/python2.7/xml/parsers/expat.py +cfn= +calls=1 1 +138 3005000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=Error +calls=1 223 +138 1000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=ProtocolError +calls=1 238 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=ResponseError +calls=1 257 +138 1000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=Fault +calls=1 270 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=DateTime +calls=1 377 +138 14000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=Binary +calls=1 483 +138 4000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=ExpatParser +calls=1 544 +138 4000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=SlowParser +calls=1 569 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=Marshaller +calls=1 596 +138 37000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=Unmarshaller +calls=1 770 +138 27000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=_MultiCallMethod +calls=1 944 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=MultiCallIterator +calls=1 955 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=MultiCall +calls=1 972 +138 8000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=GzipDecodedResponse +calls=1 1212 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=_Method +calls=1 1234 +138 2000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=Transport +calls=1 1251 +138 28000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=SafeTransport +calls=1 1498 +138 3000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=ServerProxy +calls=1 1540 +138 11000 +cfl=~ +cfn= +calls=1 0 +138 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=escape +175 54999 +cfl=/usr/lib/python2.7/string.py +cfn=replace +calls=54 513 +175 96000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=_stringify +181 20000 +cfl=~ +cfn= +calls=6 0 +181 44999 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=Error +223 1000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=ProtocolError +238 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=ResponseError +257 1000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=Fault +270 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=DateTime +377 14000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=Binary +483 4000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=ExpatParser +544 4000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__init__:546 +546 65999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=xml +calls=5 809 +546 5000 +cfl=~ +cfn= +calls=5 0 +546 47000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=feed +557 134000 +cfl=~ +cfn= +calls=5 0 +557 1964000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=close:560 +560 20000 +cfl=~ +cfn= +calls=5 0 +560 10000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=SlowParser +569 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=Marshaller +596 37000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__init__:609 +609 13000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=dumps:617 +617 74000 +cfl=/usr/lib/python2.7/string.py +cfn=join +calls=5 310 +617 18999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__dump +calls=18 644 +617 268000 +cfl=~ +cfn= +calls=5 0 +617 4000 +cfl=~ +cfn= +calls=46 0 +617 10000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__dump +644 46000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=dump_string +calls=18 698 +644 222000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=dump_string +698 49000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=escape +calls=18 175 +698 150999 +cfl=~ +cfn= +calls=54 0 +698 22000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=Unmarshaller +770 27000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__init__:782 +782 29000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=close:795 +795 18000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=xml +809 5000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=start +813 214000 +cfl=~ +cfn= +calls=7 0 +813 2000 +cfl=~ +cfn= +calls=7 0 +813 3000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=data +822 68000 +cfl=~ +cfn= +calls=67 0 +822 32999 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=end +825 268000 +cfl=/usr/lib/python2.7/string.py +cfn=join +calls=47 310 +825 77000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=end_int +calls=8 866 +825 54000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=end_string +calls=6 878 +825 89000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=end_array +calls=7 886 +825 118000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=end_value +calls=21 919 +825 13000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=end_params +calls=5 926 +825 5000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=end_int +866 51000 +cfl=~ +cfn= +calls=8 0 +866 3000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=end_string +878 22000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=_stringify +calls=6 181 +878 64999 +cfl=~ +cfn= +calls=6 0 +878 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=end_array +886 108000 +cfl=~ +cfn= +calls=7 0 +886 10000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=end_value +919 13000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=end_params +926 5000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=_MultiCallMethod +944 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=MultiCallIterator +955 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=MultiCall +972 8000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=getparser:1017 +1017 64999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__init__:546 +calls=5 546 +1017 118000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__init__:782 +calls=5 782 +1017 29000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=dumps:1055 +1055 72000 +cfl=/usr/lib/python2.7/string.py +cfn=join +calls=5 310 +1055 13000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__init__:609 +calls=5 609 +1055 13000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=dumps:617 +calls=5 617 +1055 375000 +cfl=~ +cfn= +calls=15 0 +1055 11000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=GzipDecodedResponse +1212 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=_Method +1234 2000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__init__:1237 +1237 10000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__call__ +1242 14999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/core.py +cfn=_ServerProxy__request +calls=5 667 +1242 13710000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=Transport +1251 28000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=request +1279 23000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=single_request +calls=5 1300 +1279 13076000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=single_request +1300 122000 +cfl=/usr/lib/python2.7/httplib.py +cfn=getresponse +calls=5 1141 +1300 8420000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=make_connection +calls=5 1380 +1300 8000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=send_request +calls=5 1409 +1300 598000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=send_host +calls=5 1426 +1300 4000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=send_user_agent +calls=5 1439 +1300 70999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=send_content +calls=5 1448 +1300 1094000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=parse_response +calls=5 1467 +1300 2758999 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=getparser:1339 +1339 17000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=getparser:1017 +calls=5 1017 +1339 212000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=make_connection +1380 8000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=send_request +1409 35000 +cfl=/usr/lib/python2.7/httplib.py +cfn=putrequest +calls=5 904 +1409 509000 +cfl=/usr/lib/python2.7/httplib.py +cfn=putheader +calls=5 1062 +1409 54000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=send_host +1426 4000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=send_user_agent +1439 14000 +cfl=/usr/lib/python2.7/httplib.py +cfn=putheader +calls=5 1062 +1439 56999 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=send_content +1448 42999 +cfl=/usr/lib/python2.7/httplib.py +cfn=putheader +calls=10 1062 +1448 103000 +cfl=/usr/lib/python2.7/httplib.py +cfn=endheaders +calls=5 1082 +1448 945000 +cfl=~ +cfn= +calls=5 0 +1448 3000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=parse_response +1467 130999 +cfl=/usr/lib/python2.7/httplib.py +cfn=read +calls=10 578 +1467 223000 +cfl=/usr/lib/python2.7/httplib.py +cfn=getheader +calls=5 712 +1467 24999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=feed +calls=5 557 +1467 2098000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=close:560 +calls=5 560 +1467 29999 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=close:795 +calls=5 795 +1467 18000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=getparser:1339 +calls=5 1339 +1467 228999 +cfl=~ +cfn= +calls=5 0 +1467 5000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=SafeTransport +1498 3000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=ServerProxy +1540 11000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__request +1592 58000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=dumps:1055 +calls=5 1055 +1592 484000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=request +calls=5 1279 +1592 13099000 +cfl=~ +cfn= +calls=5 0 +1592 3000 + +fl=/usr/lib/python2.7/xmlrpclib.py +fn=__getattr__ +1618 28000 +cfl=/usr/lib/python2.7/xmlrpclib.py +cfn=__init__:1237 +calls=5 1237 +1618 10000 + +fl=/usr/local/lib/python2.7/dist-packages/RPi/GPIO/__init__.py +fn= +21 4748000 + +fl=/usr/local/lib/python2.7/dist-packages/RPi/__init__.py +fn= +1 2000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +fn= +3 8170000 +cfl=/usr/lib/python2.7/dist-packages/numpy/__init__.py +cfn= +calls=1 106 +3 277254000 +cfl=/usr/lib/python2.7/importlib/__init__.py +cfn= +calls=1 1 +3 134000 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +cfn=bootstrap +calls=1 67 +3 1820728000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +fn=__collect_extra_submodules +49 12000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +fn=bootstrap +67 12166999 +cfl=/usr/lib/python2.7/UserDict.py +cfn=get +calls=1 91 +67 12000 +cfl=/usr/lib/python2.7/copy.py +cfn=copy +calls=1 66 +67 12000 +cfl=/usr/lib/python2.7/importlib/__init__.py +cfn=import_module +calls=1 20 +67 1783281000 +cfl=/usr/lib/python2.7/os.py +cfn=__setitem__ +calls=1 472 +67 13000 +cfl=/usr/lib/python2.7/platform.py +cfn= +calls=1 10 +67 15632000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=dirname +calls=2 120 +67 22000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=abspath +calls=1 365 +67 21000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=realpath +calls=2 379 +67 341999 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +cfn=__collect_extra_submodules +calls=1 49 +67 12000 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +cfn=load_first_config +calls=2 98 +67 1256999 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/load_config_py2.py +cfn= +calls=1 2 +67 18999 +cfl=~ +cfn= +calls=1 0 +67 2172000 +cfl=~ +cfn= +calls=1 0 +67 0 +cfl=~ +cfn= +calls=3 0 +67 13000 +cfl=~ +cfn= +calls=1 0 +67 9000 +cfl=~ +cfn= +calls=2 0 +67 5000 +cfl=~ +cfn= +calls=1 0 +67 1000 +cfl=~ +cfn= +calls=1 0 +67 5732000 +cfl=~ +cfn= +calls=1 0 +67 0 +cfl=~ +cfn= +calls=1 0 +67 2000 +cfl=~ +cfn= +calls=1 0 +67 4000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +fn=load_first_config +98 24000 +cfl=/usr/lib/python2.7/genericpath.py +cfn=exists +calls=2 23 +98 89999 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=2 61 +98 14999 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/load_config_py2.py +cfn=exec_file_wrapper +calls=2 5 +98 1127999 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +fn= +157 1187000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/config-2.7.py +fn= +2 6000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=1 61 +2 6000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/config.py +fn= +1 16000 +cfl=/usr/lib/python2.7/posixpath.py +cfn=join +calls=2 61 +1 10000 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/load_config_py2.py +fn= +2 18999 + +fl=/usr/local/lib/python2.7/dist-packages/cv2/load_config_py2.py +fn=exec_file_wrapper +5 6000 +cfl=~ +cfn= +calls=2 0 +5 1122000 + +fl= +fn= +1 2000 +cfl=/usr/lib/python2.7/UserDict.py +cfn=__getitem__ +calls=1 35 +1 3000 +cfl=/usr/lib/python2.7/copy.py +cfn=copy +calls=1 66 +1 96000 +cfl=/usr/lib/python2.7/xml/etree/ElementTree.py +cfn= +calls=1 59 +1 6024000 +cfl= +cfn=ArgInfo +calls=1 1 +1 14999 +cfl= +cfn=ArgSpec +calls=1 1 +1 18000 +cfl= +cfn=Arguments +calls=1 1 +1 14999 +cfl= +cfn=Attribute +calls=1 1 +1 24000 +cfl= +cfn=DefaultVerifyPaths +calls=1 1 +1 28000 +cfl= +cfn=Match +calls=1 1 +1 24999 +cfl= +cfn=Mismatch +calls=1 1 +1 321999 +cfl= +cfn=ModuleInfo +calls=1 1 +1 16000 +cfl= +cfn=ParseResult +calls=1 1 +1 21000 +cfl= +cfn=SplitResult +calls=1 1 +1 24999 +cfl= +cfn=Traceback +calls=1 1 +1 17000 +cfl= +cfn=_ASN1Object +calls=1 1 +1 16000 +cfl= +cfn=CommentProxy +calls=1 14 +1 4000 +cfl= +cfn=ElementTree +calls=1 22 +1 1000 +cfl= +cfn=iterparse +calls=1 65 +1 4000 +cfl= +cfn=PIProxy +calls=1 112 +1 3000 +cfl=~ +cfn=<_elementtree.Element> +calls=1 0 +1 2000 + +fl= +fn=ArgInfo +1 14999 + +fl= +fn=ArgSpec +1 18000 + +fl= +fn=Arguments +1 14999 + +fl= +fn=Attribute +1 24000 + +fl= +fn=DefaultVerifyPaths +1 28000 + +fl= +fn=Match +1 24999 + +fl= +fn=Mismatch +1 321999 + +fl= +fn=ModuleInfo +1 16000 + +fl= +fn=ParseResult +1 21000 + +fl= +fn=SplitResult +1 24999 + +fl= +fn=Traceback +1 17000 + +fl= +fn=_ASN1Object +1 16000 + +fl= +fn=__new__ +8 103000 +cfl=~ +cfn= +calls=11 0 +8 27000 + +fl= +fn=CommentProxy +14 4000 + +fl= +fn=ElementTree +22 1000 + +fl= +fn=parse +23 2925000 +cfl=~ +cfn=<_elementtree.XMLParser> +calls=284 0 +23 1762000 +cfl=~ +cfn= +calls=284 0 +23 157218000 +cfl=~ +cfn= +calls=284 0 +23 939000 +cfl=~ +cfn= +calls=284 0 +23 5860000 + +fl= +fn=iterparse +65 4000 + +fl= +fn=PIProxy +112 3000 + +fl=scripts/detect_obj_img_folder.py +fn= +4 176493999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py +cfn= +calls=1 40 +4 907449000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/__init__.py +cfn= +calls=1 1 +4 3000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/__init__.py +cfn= +calls=1 1 +4 296002000 +cfl=/usr/lib/python2.7/cgi.py +cfn= +calls=1 16 +4 41759000 +cfl=/usr/lib/python2.7/difflib.py +cfn= +calls=1 27 +4 2304000 +cfl=/usr/lib/python2.7/dist-packages/PIL/Image.py +cfn= +calls=1 27 +4 22869000 +cfl=/usr/lib/python2.7/dist-packages/PIL/__init__.py +cfn= +calls=1 14 +4 623000 +cfl=/usr/lib/python2.7/json/__init__.py +cfn= +calls=1 99 +4 11857999 +cfl=/usr/lib/python2.7/lib-tk/tkFileDialog.py +cfn= +calls=1 43 +4 1580000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn= +calls=1 101 +4 127394999 +cfl=/usr/lib/python2.7/tokenize.py +cfn= +calls=1 23 +4 26046000 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +cfn= +calls=1 3 +4 2106285999 +cfl=scripts/detect_obj_img_folder.py +cfn=Object_detect +calls=1 28 +4 28000 +cfl=scripts/detect_obj_img_folder.py +cfn=run:412 +calls=1 412 +4 298730535000 +cfl=scripts/moving_utils.py +cfn= +calls=1 3 +4 9389000 + +fl=scripts/detect_obj_img_folder.py +fn=Object_detect +28 28000 + +fl=scripts/detect_obj_img_folder.py +fn=__init__ +30 6947999 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py +cfn=init_node +calls=1 190 +30 550281000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:812 +calls=1 812 +30 3094000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/visualization_msgs/msg/_Marker.py +cfn=__init__ +calls=1 140 +30 339999 +cfl=/usr/lib/python2.7/posixpath.py +cfn=dirname +calls=1 120 +30 13000 +cfl=/usr/local/lib/python2.7/dist-packages/RPi/GPIO/__init__.py +cfn= +calls=1 21 +30 4748000 +cfl=/usr/local/lib/python2.7/dist-packages/RPi/__init__.py +cfn= +calls=1 1 +30 2000 +cfl=scripts/detect_obj_img_folder.py +cfn=gpio_status +calls=1 135 +30 10000 +cfl=scripts/moving_utils.py +cfn=__init__ +calls=1 11 +30 1364000 +cfl=~ +cfn= +calls=1 0 +30 3176999 +cfl=~ +cfn= +calls=1 0 +30 3323000 +cfl=~ +cfn= +calls=1 0 +30 2000 +cfl=~ +cfn= +calls=2 0 +30 56000 +cfl=~ +cfn= +calls=1 0 +30 88000 + +fl=scripts/detect_obj_img_folder.py +fn=gpio_status +135 6000 +cfl=~ +cfn= +calls=2 0 +135 4000 + +fl=scripts/detect_obj_img_folder.py +fn=run:209 +209 377000 +cfl=scripts/moving_utils.py +cfn=pub_angles +calls=5 34 +209 387000 +cfl=~ +cfn= +calls=1 0 +209 1000 +cfl=~ +cfn= +calls=5 0 +209 2502677000 + +fl=scripts/detect_obj_img_folder.py +fn=draw_marker +217 783000 +cfl=~ +cfn= +calls=60 0 +217 198999 +cfl=~ +cfn= +calls=60 0 +217 11599000 +cfl=~ +cfn= +calls=60 0 +217 7575999 + +fl=scripts/detect_obj_img_folder.py +fn=get_calculate_params +239 18444000 +cfl=~ +cfn= +calls=60 0 +239 141833000 +cfl=~ +cfn= +calls=60 0 +239 1218964999 +cfl=~ +cfn= +calls=120 0 +239 134000 + +fl=scripts/detect_obj_img_folder.py +fn=set_cut_params +271 82000 + +fl=scripts/detect_obj_img_folder.py +fn=set_params +279 10000 + +fl=scripts/detect_obj_img_folder.py +fn=get_position +285 29999 + +fl=scripts/detect_obj_img_folder.py +fn=transform_frame +295 29387999 +cfl=~ +cfn= +calls=190 0 +295 3591132000 + +fl=scripts/detect_obj_img_folder.py +fn=obj_detect +316 165247000 +cfl=~ +cfn= +calls=552 0 +316 28409999 +cfl=~ +cfn= +calls=9 0 +316 46304000 +cfl=~ +cfn= +calls=1 0 +316 9000 +cfl=~ +cfn= +calls=1786 0 +316 1647000 +cfl=~ +cfn= +calls=4052 0 +316 5188000 +cfl=~ +cfn= +calls=1794 0 +316 276418463000 +cfl=~ +cfn= +calls=1 0 +316 2876000 +cfl=~ +cfn= +calls=1234 0 +316 3258070999 +cfl=~ +cfn= +calls=9 0 +316 32999 +cfl=~ +cfn= +calls=27 0 +316 127000 +cfl=~ +cfn= +calls=9 0 +316 27000 +cfl=~ +cfn= +calls=9 0 +316 19504999 +cfl=~ +cfn= +calls=1 0 +316 228999 +cfl=~ +cfn= +calls=1 0 +316 104999 +cfl=~ +cfn= +calls=552 0 +316 2941000 + +fl=scripts/detect_obj_img_folder.py +fn=parse_folder +403 160999 +cfl=/usr/lib/python2.7/os.py +cfn=walk +calls=8 209 +403 3421000 +cfl=~ +cfn= +calls=9 0 +403 22833000 +cfl=~ +cfn= +calls=9 0 +403 8000 +cfl=~ +cfn= +calls=9 0 +403 20000 + +fl=scripts/detect_obj_img_folder.py +fn=run:412 +412 7497138000 +cfl=scripts/detect_obj_img_folder.py +cfn=__init__ +calls=1 30 +412 573446000 +cfl=scripts/detect_obj_img_folder.py +cfn=run:209 +calls=1 209 +412 2503441999 +cfl=scripts/detect_obj_img_folder.py +cfn=draw_marker +calls=60 217 +412 20156999 +cfl=scripts/detect_obj_img_folder.py +cfn=get_calculate_params +calls=60 239 +412 1379376000 +cfl=scripts/detect_obj_img_folder.py +cfn=set_cut_params +calls=1 271 +412 82000 +cfl=scripts/detect_obj_img_folder.py +cfn=set_params +calls=1 279 +412 10000 +cfl=scripts/detect_obj_img_folder.py +cfn=get_position +calls=1 285 +412 29999 +cfl=scripts/detect_obj_img_folder.py +cfn=transform_frame +calls=190 295 +412 3620520000 +cfl=scripts/detect_obj_img_folder.py +cfn=obj_detect +calls=552 316 +412 279949182000 +cfl=scripts/detect_obj_img_folder.py +cfn=parse_folder +calls=4 403 +412 26442999 +cfl=~ +cfn= +calls=2 0 +412 4000 +cfl=~ +cfn= +calls=552 0 +412 905704000 +cfl=~ +cfn= +calls=1 0 +412 3215000 +cfl=~ +cfn= +calls=190 0 +412 1640310000 +cfl=~ +cfn= +calls=328 0 +412 540000 +cfl=~ +cfn= +calls=191 0 +412 610935999 + +fl=scripts/moving_utils.py +fn= +3 1496999 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/__init__.py +cfn= +calls=1 1 +3 1000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/__init__.py +cfn= +calls=1 1 +3 7887000 +cfl=scripts/moving_utils.py +cfn=Movement +calls=1 9 +3 4000 + +fl=scripts/moving_utils.py +fn=Movement +9 4000 + +fl=scripts/moving_utils.py +fn=__init__ +11 51000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotPumpStatus.py +cfn=__init__ +calls=1 19 +11 1000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetAngles.py +cfn=__init__ +calls=1 26 +11 5000 +cfl=/home/ubuntu/catkin_ws/devel/lib/python2.7/dist-packages/mycobot_communication/msg/_MycobotSetCoords.py +cfn=__init__ +calls=1 27 +11 4000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=__init__:812 +calls=3 812 +11 1303000 + +fl=scripts/moving_utils.py +fn=pub_angles +34 80000 +cfl=/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py +cfn=publish:859 +calls=5 859 +34 307000 + +fl=~ +fn= +0 3176999 + +fl=~ +fn= +0 3323000 + +fl=~ +fn= +0 4000 + +fl=~ +fn= +0 2000 + +fl=~ +fn= +0 56000 + +fl=~ +fn= +0 88000 + +fl=~ +fn= +0 28409999 + +fl=~ +fn=<__import__> +0 1784738999 + +fl=~ +fn=<_codecs.register_error> +0 7000 + +fl=~ +fn=<_ctypes.POINTER> +0 99000 + +fl=~ +fn=<_ctypes.dlopen> +0 14999 + +fl=~ +fn=<_ctypes.set_conversion_mode> +0 5000 + +fl=~ +fn=<_ctypes.sizeof> +0 24000 + +fl=~ +fn=<_elementtree.Element> +0 2000 + +fl=~ +fn=<_elementtree.XMLParser> +0 1762000 + +fl=~ +fn=<_functools.reduce> +0 3000 + +fl=~ +fn=<_hashlib.openssl_md5> +0 327000 + +fl=~ +fn=<_hashlib.openssl_sha1> +0 12000 + +fl=~ +fn=<_hashlib.openssl_sha224> +0 5000 + +fl=~ +fn=<_hashlib.openssl_sha256> +0 3000 + +fl=~ +fn=<_hashlib.openssl_sha384> +0 3000 + +fl=~ +fn=<_hashlib.openssl_sha512> +0 3000 + +fl=~ +fn=<_sre.compile> +0 549000 + +fl=~ +fn=<_sre.getlower> +0 261999 + +fl=~ +fn=<_ssl.txt2obj> +0 68000 + +fl=~ +fn=<_struct.calcsize> +0 29000 + +fl=~ +fn=<_struct.unpack> +0 8000 + +fl=~ +fn= +0 4000 + +fl=~ +fn= +0 309000 +cfl=/usr/lib/python2.7/collections.py +cfn=:349 +calls=529 349 +0 533000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3248 +calls=70 3248 +0 144000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3370 +calls=78 3370 +0 48000 + +fl=~ +fn= +0 37999 +cfl=/usr/lib/python2.7/_abcoll.py +cfn= +calls=1 26 +0 4000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3521 +calls=34 3521 +0 23000 + +fl=~ +fn= +0 13000 + +fl=~ +fn= +0 785999 +cfl=/build/python2.7-MQK6UF/python2.7-2.7.17/Modules/pyexpat.c +cfn=CharacterData +calls=67 443 +0 167000 +cfl=/build/python2.7-MQK6UF/python2.7-2.7.17/Modules/pyexpat.c +cfn=StartElement +calls=64 571 +0 290000 +cfl=/build/python2.7-MQK6UF/python2.7-2.7.17/Modules/pyexpat.c +cfn=EndElement +calls=64 623 +0 731000 + +fl=~ +fn= +0 1589000 + +fl=~ +fn= +0 157218000 + +fl=~ +fn= +0 1792000 +cfl=/usr/lib/python2.7/xml/etree/ElementPath.py +cfn=find +calls=284 283 +0 8851000 + +fl=~ +fn= +0 448999 + +fl=~ +fn= +0 27000 + +fl=~ +fn= +0 2000 + +fl=~ +fn= +0 483000 + +fl=~ +fn= +0 141833000 + +fl=~ +fn= +0 1218964999 + +fl=~ +fn= +0 567000 + +fl=~ +fn= +0 214000 +cfl= +cfn= +calls=1 1 +0 2000 + +fl=~ +fn= +0 1084000 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/config-2.7.py +cfn= +calls=1 2 +0 12000 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/config.py +cfn= +calls=1 1 +0 26000 + +fl=~ +fn= +0 988000 +cfl=/usr/local/lib/python2.7/dist-packages/cv2/__init__.py +cfn= +calls=2454 157 +0 1187000 + +fl=~ +fn= +0 46304000 + +fl=~ +fn= +0 9000 + +fl=~ +fn= +0 913000 + +fl=~ +fn= +0 3479000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn=_ufunc_doc_signature_formatter +calls=49 703 +0 667000 + +fl=~ +fn= +0 149000 + +fl=~ +fn= +0 2074000 + +fl=~ +fn= +0 104000 + +fl=~ +fn= +0 22833000 + +fl=~ +fn= +0 905704000 + +fl=~ +fn= +0 5115000 +cfl=/usr/lib/python2.7/abc.py +cfn=__instancecheck__ +calls=83 128 +0 798000 + +fl=~ +fn= +0 131999 +cfl=/usr/lib/python2.7/abc.py +cfn=__subclasscheck__ +calls=22 148 +0 993999 + +fl=~ +fn= +0 3000 + +fl=~ +fn= +0 6150000 +cfl=/usr/lib/python2.7/sre_parse.py +cfn=__len__ +calls=478 138 +0 419999 + +fl=~ +fn= +0 9000 + +fl=~ +fn= +0 3624000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=_trim_arity +calls=16 1016 +0 11134999 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=:3792 +calls=54 3792 +0 146000 +cfl=/usr/lib/python2.7/lib-tk/turtle.py +cfn=:3794 +calls=92 3794 +0 52000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=:106 +calls=5 106 +0 8000 +cfl=/usr/lib/python2.7/logging/config.py +cfn=:189 +calls=2 189 +0 4000 +cfl=/usr/lib/python2.7/re.py +cfn=compile +calls=4 192 +0 23219999 +cfl=/usr/lib/python2.7/sre_compile.py +cfn=fixup +calls=134 101 +0 166000 + +fl=~ +fn= +0 28000 + +fl=~ +fn= +0 4000 + +fl=~ +fn= +0 1000 + +fl=~ +fn= +0 127000 + +fl=~ +fn= +0 36000 + +fl=~ +fn= +0 3000 + +fl=~ +fn= +0 1000 + +fl=~ +fn= +0 4228000 +cfl=/usr/lib/python2.7/copy_reg.py +cfn=_slotnames +calls=14 95 +0 154000 + +fl=~ +fn= +0 9000 + +fl=~ +fn= +0 8000 + +fl=~ +fn= +0 494000 + +fl=~ +fn= +0 75000 + +fl=~ +fn= +0 31000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_methods.py +cfn=_any +calls=1 37 +0 22000 + +fl=~ +fn= +0 9696000 + +fl=~ +fn= +0 35000 + +fl=~ +fn= +0 384000 + +fl=~ +fn= +0 59999 + +fl=~ +fn= +0 1382000 + +fl=~ +fn= +0 7000 + +fl=~ +fn= +0 87000 + +fl=~ +fn= +0 276418463000 + +fl=~ +fn= +0 1000 + +fl=~ +fn= +0 1000 + +fl=~ +fn= +0 97000 + +fl=~ +fn= +0 44999 + +fl=~ +fn= +0 7000 + +fl=~ +fn= +0 923999 + +fl=~ +fn= +0 3000 + +fl=~ +fn= +0 177000 + +fl=~ +fn= +0 1097000 + +fl=~ +fn= +0 67000 + +fl=~ +fn= +0 22000 + +fl=~ +fn= +0 332000 + +fl=~ +fn= +0 1674000 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/numeric.py +cfn=array_str +calls=1 1905 +0 2823000 + +fl=~ +fn= +0 705000 + +fl=~ +fn= +0 21000 + +fl=~ +fn= +0 17000 + +fl=~ +fn= +0 44000 + +fl=~ +fn= +0 21000 + +fl=~ +fn= +0 10000 + +fl=~ +fn= +0 3215000 + +fl=~ +fn= +0 85999 + +fl=~ +fn= +0 9000 + +fl=~ +fn= +0 10000 + +fl=~ +fn= +0 6052000 + +fl=~ +fn= +0 1161000 +cfl=/usr/lib/python2.7/collections.py +cfn=:373 +calls=63 373 +0 154000 +cfl=/usr/lib/python2.7/collections.py +cfn=:375 +calls=63 375 +0 239999 +cfl=/usr/lib/python2.7/dist-packages/numpy/core/_internal.py +cfn= +calls=78 714 +0 113999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:180 +calls=95 180 +0 59000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:2634 +calls=281 2634 +0 134000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3042 +calls=3 3042 +0 6000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3044 +calls=3 3044 +0 7000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3417 +calls=41 3417 +0 341999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:3559 +calls=50 3559 +0 281999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:4759 +calls=97 4759 +0 109999 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:4761 +calls=8 4761 +0 236000 +cfl=/usr/lib/python2.7/dist-packages/pyparsing.py +cfn=:4868 +calls=94 4868 +0 37999 + +fl=~ +fn= +0 49999 + +fl=~ +fn= +0 3258070999 + +fl=~ +fn= +0 14999 + +fl=~ +fn= +0 69000 + +fl=~ +fn= +0 13000 + +fl=~ +fn= +0 470999 + +fl=~ +fn= +0 6000 + +fl=~ +fn= +0 28000 + +fl=~ +fn= +0 13000 + +fl=~ +fn= +0 40000 + +fl=~ +fn= +0 32000 + +fl=~ +fn= +0 1640310000 + +fl=~ +fn= +0 17974000 + +fl=~ +fn= +0 17000 + +fl=~ +fn= +0 678000 + +fl=~ +fn= +0 9443000 + +fl=~ +fn= +0 6450000 + +fl=~ +fn= +0 454000 + +fl=~ +fn= +0 32999 + +fl=~ +fn= +0 109000 + +fl=~ +fn= +0 14000 + +fl=~ +fn= +0 623000 + +fl=~ +fn= +0 127000 + +fl=~ +fn= +0 14000 + +fl=~ +fn= +0 118000 + +fl=~ +fn= +0 59000 + +fl=~ +fn= +0 53000 + +fl=~ +fn= +0 42000 + +fl=~ +fn= +0 87000 + +fl=~ +fn= +0 761000 + +fl=~ +fn= +0 37999 + +fl=~ +fn= +0 13000 + +fl=~ +fn= +0 26000 + +fl=~ +fn= +0 14000 + +fl=~ +fn= +0 176000 + +fl=~ +fn= +0 2264000 + +fl=~ +fn= +0 758000 + +fl=~ +fn= +0 983999 + +fl=~ +fn= +0 7000 + +fl=~ +fn= +0 13000 + +fl=~ +fn= +0 1000 + +fl=~ +fn= +0 21000 + +fl=~ +fn= +0 27000 + +fl=~ +fn= +0 157000 + +fl=~ +fn= +0 6000 + +fl=~ +fn= +0 1561000 + +fl=~ +fn= +0 7000 +cfl=/usr/lib/python2.7/dist-packages/numpy/ma/core.py +cfn=__array_finalize__ +calls=1 6258 +0 1000 + +fl=~ +fn= +0 82000 + +fl=~ +fn= +0 29000 + +fl=~ +fn= +0 1122999 + +fl=~ +fn= +0 200999 + +fl=~ +fn= +0 523999 + +fl=~ +fn= +0 69000 + +fl=~ +fn= +0 5000 + +fl=~ +fn= +0 1000 + +fl=~ +fn= +0 27000 + +fl=~ +fn= +0 44000 + +fl=~ +fn= +0 6207000 + +fl=~ +fn= +0 514999 + +fl=~ +fn= +0 19504999 + +fl=~ +fn= +0 228999 + +fl=~ +fn= +0 18000 + +fl=~ +fn= +0 40000 + +fl=~ +fn= +0 27431999 + +fl=~ +fn= +0 102000 + +fl=~ +fn= +0 10582999 + +fl=~ +fn= +0 46000 + +fl=~ +fn= +0 170752000 + +fl=~ +fn= +0 10000 + +fl=~ +fn= +0 9000 + +fl=~ +fn= +0 13000 + +fl=~ +fn= +0 98000 + +fl=~ +fn= +0 11704000 + +fl=~ +fn= +0 47000 + +fl=~ +fn= +0 140553999 + +fl=~ +fn= +0 7575999 + +fl=~ +fn= +0 386000 + +fl=~ +fn= +0 3591132000 + +fl=~ +fn= +0 80999 + +fl=~ +fn= +0 12000 + +fl=~ +fn= +0 12000 + +fl=~ +fn= +0 22000 + +fl=~ +fn= +0 56000 + +fl=~ +fn= +0 24000 + +fl=~ +fn= +0 41000 + +fl=~ +fn= +0 87000 + +fl=~ +fn= +0 381000 + +fl=~ +fn= +0 307000 + +fl=~ +fn= +0 2604555000 + +fl=~ +fn= +0 73000 + +fl=~ +fn= +0 545999 + +fl=~ +fn= +0 54999 + +fl=~ +fn= +0 6000 + +fl=~ +fn= +0 610935999 + +fl=~ +fn= +0 41000 + diff --git a/mycobot_ai/aikit_280_pi/prof.out b/mycobot_ai/aikit_280_pi/prof.out new file mode 100644 index 0000000000000000000000000000000000000000..b9849c7c45b982456a8aa27cc5391927351f739a GIT binary patch literal 554273 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 z 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/A/goal1.jpeg b/mycobot_ai/aikit_280_pi/res/A/goal1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9af0fdfd97a24f670795887d946d56a749e52406 GIT binary patch literal 2554 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 F{x7X-T7&=q literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/A/goal3.jpeg b/mycobot_ai/aikit_280_pi/res/A/goal3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c362605f519a5965d7162857642d0da37cb0937c GIT binary patch literal 2829 zcmbV}c{J4T9>>39n6b+;_AOid=9evn5TY59eamtQ$zHapN%l2US<;}v*h3=9Op%|R zu@qvAO#HHry^In{%^h{lz5m=l?!E8lJn!>-&hvSm^M0KV;~irbIC36gjsQR)001!; zz<3Xs04$(G9XiXQSiy(R#>xt2g|I;&zc!SE9RlTmLLls1>>QkjVxG9UIJpmt!%u!c zWnlw@**KvP=&zRl$rv2~KRXZsTmggR02Y1_m>jjky6Vgn`E@hWL+t>-Sd%LA@!aF>X zgHu>UR7_k^>6o(0A6h3*Y3t~oHZeViK$@AKw|8)Ka=z%|>T}umil2W#U_>P9`VI8W zsHEhS)U?~_nEN>ou(^5p4{>GX6_t;ws%suUd)`DKzIfT(($(G5+ehjj7#tfXPf#Y` zO;P9O7Z#Uj%PXsE^zF}IcE0ZJ?SDJu0s-LPSWN$qT>MNfmcto954k`rH<%mD&&qaG z10rB-3-t;Ul+#RL7do3=+SthT3PLY0y_KWPl155nB$o>WPZ!Rjp z4F)lX2j&M1fgc82X(=@FX76Sv2ZyLJxj1SiughsoUDD?V)f3DB`k!BUeY#7}sb5S- zsV0!10)GhZx_)r!>6uy!2Ed+-#7=$Mrcjabylb@OJ?tYlbZU(7GC%UF;Y~dvpfh|r z!WzMAF5EsR5G{}r@L>xxy<^kXSCvMJg*{LaCmZVShtC9#p`RMv*iNlt4;I`dofj~| zU5VNYvg4>PyA@*047e~fl(xj3WiE|Ex~B}F1A+@ zU?v)^N3_wdz3B`f4|S4Q^TD82zN5dqizp@)VpBXwl$R!#H`0esWHpv~>DplYl*v<<+^L-f>VpdSF<0&Y(#!p#B9% zsIiS1nk{g}=@_f~JiQj4F!W$n%x~W>kcFfIYZ$SS6hA!p}$mYJ6d| zi#|ibavVOMWO3Dg68EUQXkTBt_kjSPUC6C=Jr~8=hc~;)pw3=DY z{=DSYyPHqZj%NV=?QH076Y< z;sT{vI3j5Kv6r>i#aqr{%EbDZ(;p(YQxjx@{me1iJi?{fr_DRX31^h{oJn-uQPlwrNv&{I%0X>~yX4(i z*tST=2T2cf#C$Klh&ve>A)8^0?`vzlH$jFi=wm1XEzQVFAPzzwb^AMB`xvI6+pptWhe%4onRsv8l=`m5@);bBTC4u z`d-#F{&527?Tt;(-iERiPOF^xP={!bw14=n)aI7WSBZD~eha3#^aBU-#ATlJ)D6@y z6gHxtZ=9YWGuXmMz0$QUgRv`6HZ|9`kbjm@ReAHv*KcqBqV`NSJLwbQ>1|F9!LuR# zgY=IAKBKtW8@|=6HV)gAh(iUhq;Rm-%VZb zGzWF;%8k#*=7m;8wg=gi;9Do(6Eh3^2WB_Ko@N^Q$s~Ux^{CxGf=;q)KeZKbRS9K0 z^uo*2t8Bxla7&LuR^62=Te@7C{s{+$X}#&;=CtWqz^tv76leDySOu@CA25LJkkKEO93lKosq^2}~SK-f}kv(WL$0PGwr)XWK<&PHnf>>wj-z*Xg z-haI?R(~|jj{F*pL7Lv9lQCZ(L}XROo*aml-MZ_+vt@}dd^_(WygyQlw?w(M1;-Lr z>^weJX-?dSL#p6DrPU@Zp*#jw(}_W*C+_TJF#x(|diWVyl&$%~lG@`(NYk>?zh^_H zO584z<3b(d)irG2BZOI{;~i>-A{^2&{-L6xRW;l*D&;v=eZ0u?(hF;+=4Y;Y`@4sB zvpV<35&Sw_n(hpsR*v7GTB|xax`+6@TiBnRoFn7oI0xu?sZ9((a4&Wl*`9DY!#^M9 zJEAj7Ia#Ap+UGIsj9kXw*`kb%(Nw6D+^^3NzO-*FZ1tiHoTR+hMt(>SVHIOPU$3_! z&G}9&-x)tk%*m&55YmkC5uWyFi*Cvp@v)=h!Lt`BIvq!mtluUL#6t#OQz|`tOKZh9 z&ROXIVb;{J&I1*UISrqtu;?7~j9oSVT&>gh%K0Hu;4Z3%(Gyq&0GzI27ElCVc;z?Y(|u$P)(8HS|{g`{*#= zvrKx$ZJGrlvMF*6jx!XB*4LQ|BYDnb(yL@JZDM_5s)nE5F#vJtQl(c#a#-kbQl(DK z@TGc4jkmg}-95gUNv#wO zelfJu8yTn$)L&J@;6+f=G?d|tM%>O?PnT3MkP>>proQydt8rZpGG^aIs-; zw_8)Hi~&gAu($7B;Nvq3ZAskLOL7kTTz+A>rV24Viz~s)jVX31uHmu*sj*}8D1}It zc*_&ouIIFS8>yHOGVNo8Ts^W*Xi$HyL88*M!>^ literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/A/goal4.jpeg b/mycobot_ai/aikit_280_pi/res/A/goal4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e18f2bdea36418a5138dfe1eca2047ce26dfcea4 GIT binary patch literal 3663 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/A/goal5.jpeg b/mycobot_ai/aikit_280_pi/res/A/goal5.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a86bcabb3973445de34c29aa9277bd61faa1157f GIT binary patch literal 3302 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/A/goal6.jpeg b/mycobot_ai/aikit_280_pi/res/A/goal6.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9fbb1c28936b6bd55fcfe128aee6c74eac70c538 GIT binary patch literal 3156 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/A/goal7.jpeg b/mycobot_ai/aikit_280_pi/res/A/goal7.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..14abce418e3ecacdf6efb4787e9f2e7dd0ccba49 GIT binary patch literal 3864 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 E0rkx)r2qf` literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/B/goal14.jpeg b/mycobot_ai/aikit_280_pi/res/B/goal14.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4d675ca3f3997f44a782bc0d2376a13aa5428115 GIT binary patch literal 2897 zcmbV}c{J4D|Ht2BHe2>;$XYa(N@UGwELkQdTgccl34_YMMUs>zvPCt~WZ#l786@ju zD_gdr#mrbj%g|zE@Ev{5`ThR+{_*{OU-!J8=iYN)_nznD_1b#7H4TWIFvpk!AP@k6 zxC_{t0!#rO&~|Jq&vrn-+X{t1zz`S|2K$?EK3*7{4-SLz3h?srZwGfLD8Mhcec1lw zpQk)fFc``Yhr$1r{8zHo28i+k0f09cv=`tJ1%X9DTQoq9>l6Cd9@p$Y0pbBepfEVs zh5)zVnF!ZD7|b;d3&!nb(r~NQX@d!TT zDj)x@-3Uo3rTs`{6;&;59bG;Bqo&8r%q=W2Cmc>WIys+q!JYL!=i}=~@DB|OkBE$l zj!C?hbp1y1O=4!&o$Q>u_wJJl3X6(MO3TVCYU?P^>ZuKlO&y)ImtEaGy?t*+M#sh{ z-oBfpGng~8bMv1U7ME9k{QUKMmA&?7n+pVh|H0zwzvU9;a`9}>0KUxy;)&!YSQG+P z(13{<+rhnp#rJ9^@Jg6u+}wIK#?26c2RMrgdksvRa#&56*%C4 ztNEoCk6##wrlhRjk*K17ko6EE?{4i;owjD}@MTw?&N3P<8D*s2qa9m(65`*8*HsgW z=Z%VRg8nSSe6z-rHhEYNa`U8wV(4nOM_M!%C%g?l(}Q52dkxYIFK3tP($=S(1axv6 z!ahoCbZq$5BJ=hPPOA%8f{vo()QxM?*v>8DKCc!;MGQcvojrF+b&R@We4bQ`gs*%; z{W+B*w>$s&oV!LoLN2ap?v}j0jw`+TTJiy{BFTl`0`v`8DSMZ|`VGWri_o$!M@dcV zRp9VrY)V${__W}sjTo^S%=^x?Hk^co3LktzTa#^pby&H2EW3(|cu#=uSXwYo@(a}^ zY32O5mo5f3H49j@HXDSq%_Q0ehn6?)3&ACJq7Y5pw&}-GXyH(>&f1oLw#ef1e#SgMa?X#dJ0xkHrl7&4?9F?KYaxh z^l2NW3%_}M1z=RVB>WER#ulzQ-jScqz#dVXvUgOJRe5bG={avLBr-FSH$hlnk4zbV zc>4n_6V=&mRn=dz@F(+KyST`8#XS$+XOU>N%QtA3Bq5cIawTwP9j!RtXh(GQSJ1i< z@1(V)|IT_dOCm7FzrJgsk$qBc0VBZ;KY#VdggL7F zRAXBWWW8Bz>LI^TtG@Y(R^eEiGWK1oAJ1IFFzNJ<8c7%1=9=X5qh1D~0gf>|8Kp`} zIho=H-lx!WkV+nZKHawL5oaOiw{~)ozaZ^JrSv1YD*XgCqW>9Ltezg6lohd_7`Fbl z$o5F?+zqcT;TXrsZiC?O7$E~h%ryGKG;>Do^{~~GX-{S(OL)mlP9ej^vNG_YOONVd ztcycN#wp5*)1>y`ah}J8p$$@2XO(-!i&BS}lQ(C)cImHn$KZ1XS4%vwwI4nyo;Qil z)2`&})2TbAO5GqI+rz=JZ!$h5dx|&P#qY?C;S5{spd>i+M=Pe=`2V~l%tn&GEHOR_ zcUDAs+K%nT6u#EA`zU536J(A)F}y))R->m$MIE74GlFj4J+`lDkH8nX*!A&-(dI~2 z!KKPL$wy?%>NjTI(?$=hK88ttRJPDJFK?SFrV&2g zziJr4?Iot_>-t62W7C@yyWs5e4y(KxDe86(5=1T5(Tn-8)_dP%<(9gi#!VA>13w&Y2D;|04%0*%xzBJNOasNzKlk0~-w>t5W zi!CaizeC5H4dt6y6EvC29ggRR*M6)eBf@&xstL=1n}>&gnFeM&t;bu3nCq3t>IO6N za9_PhQ~kHDY~q87fAkngRq1}U(`zN9s-6cg)@3|9a+dj{_V=Q&G1T37d8PZ#pcieN z%3`NMM1{_-WkS6&v7#aoDGjLReZSqTQEGmU?0ju{xBj}-KgwudNXai< zQDR0vT7RyN;(qDmL>2VggOE&%TrpwO?+eadvv9p~La9$Ge##klyVnq_kGKj`Nl1{? zYLqd~SCcBT9gBGIn924lw3l}SrEn+?k`T|uZo~3*jEqW6iZW!BXatvLmJm+AG=$4T z&UZ6UcA4+s>zhd+`vZZTZdQ3qp^a%4yEL?7(r=1VM%9T{2(7Q+pvGf;4--Fb0Y)}; znwb;k)*^8_6NCdIuXTD6`$i-_<8Ld}>;?}x$qv+34HTE2b^PLZ$iwmSJegz6PGT7D z?{XEW=F?KqUtu)umQQ5ko5h*JX}`9BB+`?+3@X)P*g9VuTR3k^13FqV*sUd)NV@OJ z`IPHO=Z=(g!+^O#X^uc0yPT2Jyc~a1Taq$!EgEO9dlzx>yBuycsN70$?cm@LOG8LN zM()BE5IMTo0^>wAE=Lk4ZTJWit?wS<3*Pq}&dQ7ioJWG{FbLm);GXJxmw{M~v1Xx+ zD4#C+HwLv?-G504Rkp!5kKFllw%(fG8)0C<(->@*N$8tcI$I4@)>ZeOx?z=x)W=03 z5G4u%xx|q4D9IlW>7Wi!OMpVsmHL`ZVoiQUJ?L_Z&Z}5ZuiFlPp>HJ6OnOay-f(Wt r!MdfnkypanXwd)qhgY+sb&*H;k_C_2xoBE`d3TVcvT{RZ>)pQq3|BJ= literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/B/goal15.jpeg b/mycobot_ai/aikit_280_pi/res/B/goal15.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a230b42fa82107fce3d333ca93a50e01ed99e143 GIT binary patch literal 2916 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

;1a#&pC%P%9#QVSejax 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/B/goal5.jpeg b/mycobot_ai/aikit_280_pi/res/B/goal5.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6abe34b0020b407993852cbe8dcf0ba55ca22fde GIT binary patch literal 3517 zcmbW2c{J4D|Ht2Bm_cK06e7yV`XOXrCWMhf#Mot~6e3%)i%=>vp+;F!vXen(i0nH_ zM3xYv$W}Af!7yJwpL2e{f4+Zwzu)IQ_j&F;_jT`iKF;fp%N$`&0leppO^pE%2mnC) z17Lmw3;`CcXJcgrvqIP)kiRFCgB=3pfI=YbhuAqd546969pZ!?Yz`jz z=PC;u7|g~Ag+Tu<`LB%G2=K83*8pcQ=p?|x2Lkhfn5}@=eonT(Z z@sHu)JaSY}NLccel(dZO8C5lP4NWb>b4JD{DAV)Smu+m(cJ>a~tJmDG-|+AZ2)rG1 zCpaYZUTj?a{RasTlT)5PBcwimk(T`?CpRy@ps=XoT_uTJRsFuExuvzOy`!_Md*I99 z(AVLS(XnaD%#WY5bHC;nXe+C0>l>T&t?dIY5CHxMYv2DZ7vDY?%RvvI2V5YQJNpyN z$I5m>3Bs>`3F_u|_@r_)JKP}Yb$Jtqgo+ha0OQ}!c?5B0T9S5v_BYvo1{U)_k^LXo z|8tE2FfeGpd0;*O3G5aOto0WfD7aT$w-s_SjkY$MKBgw5_71$)`xU7mXKj{vq@7Qw zaitw7<`h{mk4OyipK$7ulgQBHAYVCON7)Hkh)Ns0HFdJ(^yDPZt)zzL8q#A;sE=+_ zn~WkaxIn5w)v1OJcb0*yTRfhxF;m>!Fmr(k#2$6w)~Tgfa+?`wF@f(k-;7l@EvJH5 zGU81D`I{!1;r!VI_3>4Yxi;U_(kVh-qWK{Xj0Z* z!&~wB&)4S-9zg{i4Ie#f-jlKE=p5gs zFCMnIkXlzpc|lubvajr#ItJBx_x9S`@{A|IiJDcXasG2DeY`sIIk1R}N4@k_F?-4H z%kIiCfgZ`lFRzMW?{B`I6BOrGvGh>7muJv;eN*lpowK@-pOQ{MVS3EP=^c!{XdM#fZ&v)eCMM`b4Pmv5O~Yn&UajXrYP zSnqvlz%&#DJ1&+Pzm8Y|z*$4k}CSL$9ewLfZ^}H=x z76NAdFuD^eHE79KX1cs=h&HZ?m9D+7F`aV$QrMlkWvaJ+!}F^E zb_`@axN0s7(&%avcTT8OC%S~$h~86}g0at#KO zvv8UT(4~j(t8y8-=Tj-Dk}Qbk@@<=tv+L5G&_#Q!?5+u&_B3jFc+Uh8025h%oKn74 za7#bMES{@TBp_|&@Q!a}pWhej(+(oH!)8+bbEW%6frBK zEgF=5!dnkA>F?$eG*ecH^W|6^f0&#@5ISh{lk^cXlA-QZ-g^r4lNUWIRSGIl z85}%cygInR-bWs=4%7_=$=ztWdJQby^OA)xuGM$5dG4P#=_aDuO@p^9e zHsC*)MofM*d-r!iS*3C{xcK>Kcq4KQI#7R} z23;ai=g#g{5yR2YxDuXN?i7zgC%Vfq|Dv0%+5M%F7p@4k;_orUMOIy<9yiUc7l(OJ zB&B*I)~fP4Myx0>i0DwDv;nVQrCWE#t#|dQkr$|9!r_*rA%=kBJ#TsR<*z>2OOm-I z@?BuRWOJpLJS+{UC=5O}@)%uzM>jaA!?5B*{G#o^TN2k*SG8+9PDyeo9x!nDZXE!o zEryFy?@U8uBuuDcEp^=OQqJ8QU)k-Oeu(}!BC%Hbs;gYRlg_D$2?j3&3oN<$f0Trs zD_3%1R4vt;#K{ljZ-h1uI8|t~~%CINw-Nro-e8~5%AULp5G zr|&SI!mk<4cA?q`uUr$uZgMb`NZeuqnneA|4V}Rf6bjRy?0fk~bcUZxL^gZxbFh@i z)!}g5D;01%cW@~fg}K>eBtd;+bK-o51@;;FoD+V6DDiUWKFwj%p^|!TaeCyl^Z5BE z@&1wXNIl(+*{UVV1nsyF}IRcSD1+q*|ijcBEZK*89)5f8`J+DdLUVvU2iwlYMJZtUK=Y zcv}A5z=*I*&Znf4Jz}|hDe9n@dyk*#qIFTkK4g4Uh5F+tFC<-dI3XNM(LIXBH)ipy zKPNc$bdKwblWq7Mn(csZv)n(p@97QAVKY4gw>*#`>q}umlJWvK4GD5n54}q_=2!J* zsZtEZKR7i)y#l?-%X{iOti)iNp_(tVV?zU<$WKM&L@mMmnpCI1idDA9L`}U;>w838 zYrn!&+dun*VmDKj9^%&1+PrG{5A-A~ooX-jl-7>so z7zruQxIKATqyYUm(nk?@mQ?zTRc*7R2@yL2J#{uHI=&04TSIe2w~WZcZrE&(myUZ! zS^r#JvXwZTfFHW@2L8u~uxs%heUEaqCF1mgE7xmR{u^ANu!|>`pIdlmJdsEW30?`d z;@BjLP=}YY6zoI_yL50v`@c^Gq;TdfdgB(= z4mVM^uMV36tf?2Z7%7(K-J>9jM6W5*5+ z+wi}(WEb+ARRr7(w9(y^8@4T!!};3HJEDQ(X^*_DN8Re7JcJEnAN&^FSf&!e@ePx0wGiTTlMr99^!*JaP>@HqT|U=urCr*!q6 zwR)g>+-o&iZ7b-Nk_))B5zOgst>~|Ld{fEQbGb%dwLL6|iFW;swu`Ay*5kShZ^|-X zWEIh+nrnU+dz37UAyi!K=9a2}3N7%Ee~ynUHmTPm$BcIr<_1?=5^wCocDQ8zGD1)_ z;S7F|Y{0V7o3NOnqzQ+%0G})F;@%yDp;xG0b139gh8PInfu?sAMSl9ub*e6`J@dAP z-gnr;wgj}=wY2fBFAD6e_}a1hWZCnHE%_vcmL@}dzE}@q)#OZa1;*EE95*&8ccblt zG|Q{4NXu$5{YECBD{KGPOr~0&a5bxl1{9hXS;;lhu4PRIe1ki4b4zRsUxd2G>S(_4 z9M;-+f$5)cmbTAT=SPAo;xW8o(k!GS%E5hu1HA0uftRTE@qo!hLd*qoekn}wNa!}E zdP4bo56MPz-Z`> zfr8$t#nUpk${a+FFMMa%z%R=vYb7bRz4g?=FZCEG{TgKgp9>qP?^W-bFAIN;{-(Hh z=8~zpZ>@-)s;BtfNip*Lm@&MVmSPv8oTmERKpCDYwb~1}A&?PFAg;Hdz4n_vS*jl4 zX5B#}EST4eJqSzaqhB&I>re1;Ak#~}@QUfXL?|G4gzIk6Sk2R!KshxadM}9yjPx66 oka_%@Xo#A`!YbV0Im9%Mkr8Q-Lnc2y1$0as2~@&sSb+3zF zu=5OIVMUze;};MUM@dLZ$zv20m6TO9|JKsh(Z%Z-n_RnYYG!V6^On7Xw zekA{Z(1&5+5s{Cgo+KtcO-_0CJoR6zKN`Gv(L#>S7$t?i#XzjlwfKmg=ltV8`DxwsCwz(+HH9dUuceuoL+ zVq!ic2j$kd3bXa#Ig2JAO(yX@`BO&2|LejR)nbhq!{A}?H{uL9azZ!i|oI^ z{+nwUV26MXhX>&TaKNAN^>DKA_H#sDp6#&Pb7PN&I9p3pV}Q*14TFarRvM>fq-);Db_n-ez5w2`|(y371^Y2?wxp1)xoFrW{Wh?S2EkSXTBbhqvd>yR2cf^dIq2W=U7hn49M4 z+NiHK8)s}s_sjp$6GoY>2fa+H&Qj!%$vT67n5Z5Z&m-{N$Gq{qsypviZrh6E>Z`7; z!oe#LPzT7Ed?H~!W0QgRJ{hPp_yZ@ zurs=MIwH=y@Wz!IMsDanJ==V-Tc1_S1@+QHKJtN-s;r^dxi<>Hr@45Qu4*-VPy1ox zx;aUGc_-h~LYoC~5m;mu!!5*noO|3N(xH~htq;{0)IWu05&r0GN5IsYK$bP$rJxZI zX}K|FB=kMT>izN$%@~fP$)IM}aMI}O7hVHBmESpAkPPXNtiM?OwlfKK=fl-AU?ZHP zA&vZtt(Yze(Ywf8y}4Qhx^>bdCT8_{M1Pf00o@j+_UATVwI_Uz2GcOlpEv;6?mH8g zV<+=@`~vJ0P0^Op^5L?Vc;fwmc#e;En%IP%a0ta&7{TX=A?`}NEcxkHjI=4g@O`Lr zYVhkZwy4Fe=R*3P6yAn~H!`4!TXLL-f2xzK-UVgA{Vf}wzD~9lV?ef3 z|2zs7I*v7Pp1cuv-nRRVUvXt`4Mx<1vO4l!JYC#28MW5ko;*iPbkpqK>>P&COtI2d z;Nv3rSc)r{aPi9J3nA+5&j)=U=wQp1V{?YA%><>>Zs(8(=E|Q!knHoX_>kDXA1MtS zBX0XF^9-*hkMj{VCh`WpiwHiK8uQnL+?JKXc!V9h*8UTR+N9VluDqB$qflqb7O4QP z$62FB25M0;_J}p~SkG9$7_~I^>?0_*M50qs7o1rQd5>JJ>eX4O=8K-@SDH@+Ag6s- zFH@*IF&oFQmCMAssPKDN;5rHm9KESa4awGW2`x+msA*BIo!7XuIp%r9R3{I@bQmRks510F^E;72) z@qsB;Id#VOZ{2a3**TsySnnYk?a)&%k|q~lU=xzb?WrvY>0&oMmon@(9G;L*{4})~ zm0j3>EJavburNTR{{HcWbnfn=(l6kzmLr6qZSw8HXH%YJOPduqsM%gSF}HuVFEOKL z_hmdtw~b6A@jj=2gP`(qFRT*x7^&)4;1O!edD73yzk**tGH8_qp$8ZBU1xmC_;A{o z0i=vqW&nq!6O~AK4e89TPrAsiezbEE@v-b^|x;p&0((w6-LH`vquLA%~QJf6l z0*j;xWO^TGHZ%q=l&xEBebIhf$z0f2f?NJJ2CL|59Y1 z^};%ejyow63~)qXRd`x`JZw@cdTgA{(=j*2!C&U3Vsqyti90W>1=&tW^<1qkt{e*e z>@gIQ(U({0nP2U#Q$mWS1=wdN1gfK?;Ii)6+UZf#_VH5K>iKs&=dbr}8K}^D9H_~* zV(+YEWs3MA?yViH>>e~{>P{L%wIP_jr@*+W+_dT|PrgK9brdqaM-n~u& zvQ^GM9W9@9H^cPxUYiB#H?Ir_4~dSCZW4i~x0^Yga>l!O7bA?qbb+vo1H%VEi4G0N z^4p@2_3M1C#>h88rYPnCuOD@=}il||*N zH-8{@xo2*6?U^bvm_(>%wT9pdGCOJ>55-?KOFZnsw$5dWr*!t8r#`Wo`s*JLfX2EL#4ou^(xg)jZTmfD97%1O zE@OZaGE-SFe|;;YFs9=akFZA0x1_QgkLfFXkv6i*+_c#WilaSgVKr!TTr+(q@#Lf5 zVujTtzea@Lu(vvkSiHQUJGwJ|6i_Zw*n#cc4Q{`||J&bfvN~|9cWXqyygcqQ12Jf{ za4SnNFmXdDCY}YB6Xbk{pr-+amA*6WrtG56w9c^ZO60D;lnJf zUL{I6(ynR!{gMNKjEPR$Tu)+HTE972y=pzwZ#I(I#)-AJQ`z$_s-nBo@F_iEW;)3p z)V!gR*wG;Lk1PFKS|-QJNZE)07( zQ!qTZvogRzIR30J+mP6*P&BF$54+*!)X3OHgmg!uc(|&|^+r#}%Np443}b@O?4cW- z^jWLFZo9uY077|XvbiN&6*RFgxU3AjK=*tprj6)=lMH(({&vNts9ja2pF+Kn=$ew$ zY6n{9V(K;iD{V^GW_G*KAIY7(n^z{_UuZz4yy(@ZAPwUYH@-KixKbUeyI>AFbNYvn zS10d63Lv!Isb^KKFXYXSl7C_IQ%e$mw-fQ_9d06{t~g>fjY&~Na9==lw>jyQ;maul z6^HWLvdio3IMmk4Nyx04edv@(om6w(|jAE$jlBYwwH!M#M2v19wG29uSC4n Lg5DFygQ5QbkO)+) literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/C/goal1.jpeg b/mycobot_ai/aikit_280_pi/res/C/goal1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c2fc7169048b231b3111f4f2030fe4fc9cb54f41 GIT binary patch literal 2877 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 ag9OLihZ(aaY=ct1UQV*`buT~2{rERtv`;Dk literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/C/goal2.jpeg b/mycobot_ai/aikit_280_pi/res/C/goal2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..edaf3e889b754ff6bb714e59403fd922c1949dfd GIT binary patch literal 3214 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/C/goal3.jpeg b/mycobot_ai/aikit_280_pi/res/C/goal3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ad9e8cecc7e3b87cb945ae7c30bc7a3b609cf91c GIT binary patch literal 3176 zcmbV}c{CJk`^RU&L?pZHJ6Xy$H6)ZJdokI@Zn9;a#>foPkST-dvDXw68EXb*Dyos} zTSdwijio%J!q`#`UV6^?{r-9Xc;EMXpX+<>``p)kpYP{fJEJ>Hz(G4}TWbIi2mkd9sKz=tT_n&yXVgC^j1m@!A zf$YZEzuQ1RxEmh~-VM#Yn|QZ7Y4;w$CB!YPsCSA-#5n+>gc8-qXP4|#KHbnN<}$df zVi0&Kg_loULh_K5s+zjSVNFBmvEwi!V+%_w>oYdCcJTAAZtfnQ2;_yJ;E>R;i|ANP z+~s&IF7;X(;rfkqVoq*eenH`_+vL*wWz_PD%Bt#zj~eNZpFC}9e%03A(b?7A(>wHT z`2B~G(XsLAnc2C|U*`X2EwEQs*VZ?FZ2tVU#{~p{|H0bzf6FDb%LUq-0c4L02)evm zU?DDUMLizjQ_he8l!%f(exK;+?2?97US$K9WwF3ZgM8vDhSRF-J+wb${~1`y|3vnG zVE@lG4&Vm^cZUZS0+<1|G_JQHjN6sGTow2)5J}OXzaqJU9XDxnDRQG;oIBhTbkE)06cvl|Mz;u_+02mlllo7tBg<3p}0Ipz^>Q%*5bLV zs5a8cs@k3fZ2t}bg4yi)1)X!jfjgX&30IC1e9HTE-<-b^J|fyF5#w(#V)$8OU-uzd z>o91gawnzrip~?29l!;vbtPFPY0yadGib19ri0r^&tBF&S z#YQqxd5Jxd3hTY(w~rI*@7=m-`hG!}g-CqiZ_(x0*tNWvGkeFCQ)y>&xv72J@yO(B zGrPejamp&Ov^0(u)kwWBV9l_H1C5q#2o==SvNS|4`5`pbg59+KMp*%(l*FLgVRv=6 z&%Zx(QqvL!Tc^HtfBSh`Wpp#uO&sS$e7dUM|L|bU{bgFfwq*RQ(@=qyfK7Cc-_(;^ zF@V{bFTS&pro*dN-d-3n`qVe~3-l(pI&wpl0p zHVtDF=%F}%+*XKdo?W%X(7jk#t4hd^s+`Mun48t~4ej<|TQwez7%pr(j!-tB0o^i4 z^fCGUp%QMJcWkev>v~}QV_D>*F~o>3hJwTmz7Ne&RK+lg=E~i~GR#2ilqB2j&P)w9 z%5ZGIw*IY;`CSU@zg%_T(=FGJnqk8#&hVEUE6c9r6100XP2ugD?yJFHoU_pIn@sy% zOL9~#Ppc`9jPSh;m3{ZEG5aPA?lSuYBFm%sn692*?!cVghppCWB&m6^_#eaxJ`b%9 zj<~zHr9tf{#C^>~xtt;VbhOTBOg1i1xDOFkzjU6~BP#TcoNbNc#|;Ns@}CNzoVEK4 zc}U>yASOH?mHV<#$k3^Y>tOh8%CuYNZ>hm?h_FEr#QPWVs|akC$jfAcS+2qM#O!&T zS?hN%JGRuqcbaykOoLknq|RZa^p!3^*>sI)YouwWnH<@BU#;{zugWbduxwlV!ZNJl zz}>eHlgp(emk;|~hm+s1&zB1bqu*%}2f3;Sknz9#j#?zw!bhc=T1k0u*Vlt9#d&VX zllv7`G%ZbHlAcyG=PtnWn^)I*YMwE!dH1rd?_iawi1+?nDX?W*NRbcJ zkQ=q8(0D38ut5KkAk!*wJLF~oH@eLSqj+p=yGX;Iu*=nim zwoc=D;@Y#P90&G`nlsYYORc`wp&M@LRXU4z1bXfoAS`KIVZin*HpVG)N{#5L@y9i_MGhH)V18 zj~p`^CJ8%HI)W`4nDQctsF}0!)F)X|&QXSJil+MS+Pm|$F(c#EoXE}Ff;UWTAJi7r z7L{75Wc3-R#B&Btbjk^_kK?1f+Qx@(<`PHrgSTt4^4`tY+m0_O-CrcYTLZSC-&**SLz543jFxG|Q%cs)2=T-; zbyH7S13%+2pKz(HF~YXbjTU{Q+KrKQTWvy7>_mx^dvQv0J+^E)%7u`X9|<+h+YDld z+p`H3n3<&09s!is)1D3V@aBhGWhVU4!RaQbitqvO5|@adYCVh!1R)IuJ3DUqPi2G%#$RKrdTucBUkh`L9c@zH?ei<(V2KP^V%(Wzajdw z04&w73ngS?E0SWG|Fc!1T^jG-F!i%aIp%UmuJ6`w(ajNe<9DICQ$2G|)B@p2!OA*! za684by&9cGvv*Q|U(H!t>bTS*oG+*GspON->H4p0H1`>4@s(lp>b%%G&M*u~c4a1Z zRn&^<*Z8Bxi54eRy;sR@Bz13_dpB|3IKkfH7L9KCBDb8u+mGg>C+uH|d{oP=4*f9t zG^{_ue1Sn=#EuvyAkjLt?I7vCV55n_o9lH9lOU$7e5YP#^Mi;f_@aZ{`bx$3qswti zuNZpdRhz~*^h!29R! z(5j(ftiO?k@)3JMXP>y-3x%p_laEJyCDXq8h~t@u=;>-?tz+W#uk3B>nKHQ94-DU| zC@f;+@QFvSW8>)pn(;G2&kS(j9*)+S=^+jeyQ|&)hRJ~1%y{qTDc2Uk$w5@4vu=z53D= zEzvPQ)oBAm{7ReicEFs%_pq#dyioYH(hMb1wz=%d!@WS5(j)GUwUG34+lF()M+=v% zD`fGd9}Jqk$o_Kc_AYN@Yke%Gimt&mjGR^cXIINwM0<9a{0Zh9!U3%iq5Nw=+cnp^(Yr7RyvS-(tTyzJ6^0^cN~ z2f~vh5yIx(U6s@fk4LCgds4y=8tgMRHVEUW^;1Z!s+VK5Da7<69)=wS)5( z1HQpnKK+&#lJv-RvhN$8rx%V!Ri)NRdndTN%0RVGLisLs50*JWkhWxVW+wa1i=*$z zV-c!POX{zWH*F0vsBSe>@?%K zgZ`xL%dSs`S=AR|-HbfskcE}#!JLLe>;v>ey%*u&?VlA#GfXTi%*G#50?}5YkTE%v zkQrU{R_Ui7-8%rjY?H7VkkfB!6gpLMhIrT$^szxA6GM=U%baEOyY?kZUi_N+0>v5- zbx9z3k;SJB-glY?AmSK$!=8^#LX&z*UM8oUOD} Oyi{0LqHyre*uMbtd$+s* literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/C/goal4.jpeg b/mycobot_ai/aikit_280_pi/res/C/goal4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bd8e84b761fddc92ee1c9ad2371622440f9d84f4 GIT binary patch literal 3621 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 p`kL>ZW8_awV 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 M+0%EOBFDsk0Ws?&*Z=?k literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/C/goal6.jpeg b/mycobot_ai/aikit_280_pi/res/C/goal6.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7720a1213901c635496a08d3ffad4ab9203a1e35 GIT binary patch literal 3594 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/C/goal7.jpeg b/mycobot_ai/aikit_280_pi/res/C/goal7.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..819fba6c09e27e76c24600ae862fa5a49b98c044 GIT binary patch literal 3717 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/D/goal1.jpeg b/mycobot_ai/aikit_280_pi/res/D/goal1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0039fbf18a1340500164374249b3e5c54bd6532c GIT binary patch literal 3217 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 B?zI2_ literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/D/goal2.jpeg b/mycobot_ai/aikit_280_pi/res/D/goal2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f253c826cd855252c44c43c07b3014d8c9bcf920 GIT binary patch literal 2570 zcmbW2c{tSDAIHCA%nZZLHe?GKS*B7GgRw-{#WhhOGh``EmT;92S;MuBj6KWkD*MFw)({^I5E z2z_*nF+MRlJ2$_u`2MdCOCMQl>l>R}U)kTb_qad+_#Z5u|3@w{9v9zU4`6#-AiiMU z1dH)Q4x*vrr)*$u{u0V3q6H8?rx(_D3L>>^S0yjs7=lZwXwM#E?VMr5BM`!IMO0+fGK)@rRHQi5G0h(29aKv-cOA`%$s6i`460SL@Xx z%hN0h+3`|6`R8ZIOu_H=hEn>6n(*Fkq`7u#<>+bRr;kxH+A)2vxxg#P{AAp90#-fggSS?@XGAt z{pTziV`*-j@;}RRU$zT&wa1IQOsL|&XOAk)V_t;I!M=+=SH!+uAuVT#K2T^(M+d9e zg9|H6I(p41{VrC>YGrjsCgGVS(g};Sm(hwAEODRqAa9W@_h#k#y=B$M7k>; zsJnt_D5W>$O?pLxJ*RWf;Bb@kcZ4WAk_KiIPKlP=)J%mJ+9t+jxW>DI=9VK1$e zBqXe*yw)^u*~WZ9Sj;v7h30%feI1NEdlrW$VNXdYr}@)GmL2oCK%(2w(J@Etk@0h= z())>;b;o-^1-BKls&lu!{ereN}Q@mY6$GSF-v?`+qo&FeKK^{ZihT&-6C+Kx$8brU| zsAr*eL4E6=m7Csm8j?mDV-9=$;{QNC!0fYirYC0ZRYktuOxu%5Ce@_4gaO{Q#Kbgnvbv<&bVehI zC6w~6%jcP;fbSK5*QgoE{=`E{TmVE1P9z+N(zgscXk>Z8d)j zT)zk{^J&|SZaqZ}PE`rJU{OI{I9|0SI};9NjqHqSI9pB~Fpiz~3fCeEZ8}|ntx4A2 zfufhrYpdVUw|?f?c$gFCawoX#v8v{W*No)uFvzU5y)nAR$$;|yv7_jw{JPcC2GZ7e zCu%`#*-_DBR69u^?sPAia*MCr!@5zOJ!YTj7>^#*c=Hz_kczm3*Llct@h%+0Yr;^= z&uiMWB@^ZM#bku$h_m%lRb*d|M$RIKoAOdKOg5?`oK%mMx-dl{h0Gv;U54VcCGwoEw3xfF;yA znCHqUmIl5PKY>>gVQtm=pX!*|C~4F*I8ge#+iyfOd5Gf6Y9+b)FE$;O6qpq}Pl8=h zb7$D=rry%&`d_~#oZJ9+Dm1P_v864R@**kjEe$Nt-NVi?u~(U$m_N9Hpl*uYLj6P2 z4>}%gs4r(8QMo{BRnTR9anv(ch5Fm^NdR^RP9|J$%T6^^K(q6B9T+BF+p;oGH*~La zh9=t#;yhb5B0J|)S7V5N;J z%kqjZTz&O;TB+q@g!f!*C&tpjmekhEuVDPAy3CTf!5}mQ!K{za#$HscIO)Iz{2pfS zgCR=;6?BpVpPvcwGpUXS6XOsEORog^$Dxc8{5Da#zGG6!^8&}J#{#@N>(_U^x7j3G zGx}GfNF2c<3~912q{6_1Qufq6Iy-7-X1J`StbU>`-U4fC&8Hb7VrphDOUH?&>58cf&pJ)#R947*2eSunJZCO(6#GBrf9f1Zmv~=;*u5>#s$c!t3{-J zH;%2y@xFrEFS|qE5v-`7wD3;GPAo^gC}ymC?DK3gAIEd2C}$wkNB+(ZrHCY4$`U&| z)nSvM7`9V%PqX~!*Z$o#^`b`@C-GiG=A-r|^`|Y;Jv18P+!NWi4t0J#ar`T(R-??r gRY?v>hg8Cb%$%mAzW)67k@h&T0CEUnC&Qii8)8t9-v9sr literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/D/goal3.jpeg b/mycobot_ai/aikit_280_pi/res/D/goal3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9e53ab2b26f3af1f30a64c278c643babe05c2989 GIT binary patch literal 3005 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/D/goal4.jpeg b/mycobot_ai/aikit_280_pi/res/D/goal4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..727c299fbb7275a328938ccb9e2d6dd8f57d5c35 GIT binary patch literal 2327 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/D/goal5.jpeg b/mycobot_ai/aikit_280_pi/res/D/goal5.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f4c31080ccc85b8a43ef142b103c72a83c30ca2d GIT binary patch literal 3547 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/res/D/goal7.jpeg b/mycobot_ai/aikit_280_pi/res/D/goal7.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2d9c12c3f39469c3eaa11a29ac716f5c0ffc807a GIT binary patch literal 3487 zcmbW0XH=8Rx5nR)K#(FeA_#&6lqO9?I)aC;2LT}xASxE5$)SfLNE3w6g(xT;Q3;?l z2~~O%IW&U_B81)(X+a42hjZ4t_sjio@7=TZUNdX<%zA!%&oIUrQvk2Iv6(Rd0s#Ps zIRFL;xB{?%j_fG192o?B6j>nu7Ow z$-hTgSixXc4k#P+pOpVoV0;Gn*a0Nq1O`b0EPNm^ABfQbh%6*hhYE9f0>0ZG*ec0t3`{Ew~2;1{eZFlV13juTR9)6&!n{{_C%f z%cUVSZTI8z((8PnHS)4|2%BogI5UmU+nt)WMN+Sl4P}Ou?P_|I{5iR`l(elHx7b3E}1jZ$C@m!b21^D#R$* zR&C7cXfEZN?-*Ur!{5F<9kE@|3;VOExNhPM zM0J*RP%^Or>)mDIcs#PmmQ@4vLCd8~4PNMZF3rbP+UFa_zp5uqR{W_x-F9Hb28SH$ zgB&V*FQq!k8oBg3-liC=IAY`8sG#H5l#dI0ryuqdX*-E%3FKC(8;7Hr`rPN! zHTKUJM9tF+u0{DhQmNidUqj_LoMZj)c-gc_iWg(@X5<=*^s+C_^TJ@bi&t#321PNU zsvBukTt;te=&QwA`~{zwYs{Bvl?bobA{13c7Kb*@Qgq!!lQ;vmfUMw#r+uQS6Fgrt ze(b7YZt%`Xc71;11HI~B%x@Y9)2$jV2-J?ckQ&jWyV%dy?~SpsW2^Z)N080(Wj){5 zV8SVK5cEKb5Ya28wZj1JA)NSrN|szXSiw+HCeJoNk1i>)GXTFE4X_Y6qCK&>H%dt| z5a21hr7>X`Y4XTjzpW>%^9(;%!b`R(WfOfQZGWel{vq6h0er6_8<)P3d#H*I=~Z3) z9Yyo|(&{*U!UdKDad)OYQwug4EAWF2_YqW0|$T77pnt*BTUwldC|ybJ$Vy&=P18K) z+Hf(&=?n6?O0$NX5jh~8c#4t`189A)wWg?@e2NC2^3ao@G-kaU+3IMZ@_lGYkr^bu z2(m73GibZ5d{TF1v)!5+kX=sGH>4CN| zTVdy^eq)-81k}P@bhE4FO+5$$ClF*Cj?O(-O0h$U`yeS$yEV{o+xvKN4zn)^$}?Mv|iNHLc@qBVQTf(t+DBa%x6$JrGpXA! z?6eC5cotHpd*5pbdFQ$RqpgZODIM-tzjur5{JSRJLL+4)*7{!U+eDDMg8h3+?e-%7 zTo9)6?1a-0RBiiDRFk++6&80p{J#1}SCQ_&-WzjN-QKWS{9YkIi)9ulhX$tdIBMg&PjoGMHHdX{00BV2A_h&FS+?hfTd=jd9Zeb;%8^^i>C6smr5`l zR;bx5J!fjg0e|6CI3`s5QnW|2B)Z#-`|eJNs~V~2uBo!}NhRzGNuvTmf58Cm^F%X% z%9ge@q3MkXwVTqp7PSx8YgS%dL81Cqzy9i3kjhj*f0Z8wt8~qzTFV~KzxA#cPAy2X zk7&2Z;kBU3y}2ZSRDYE%k{a>sGMC9+20$o+d?Y%zgNJjLsPNtVCb>@`8>7OKpQx68`MPjqSH7*;S*K z9LicKa|Y0FH$$vp>H7SkxBHWME5-d%s>DQa@IJ!eBt$fMO202{;*7kqWrh#WaM7la zwgEKRT#!fRFD>i$Z!sxQfc!4>N-)N{=-&3)fW>K)>g6dv!OnB=^lxtxQeJMq**?1) z*A^IB6tHF^Lpm|1p|No-jvL=;dij@1(rEU#c1wfOP0S^IOQdaE*ec*nfHR-`d);Nj zI8NRt-b+`+%8eQeS!KVXJDq7clEj9zSF2*&p4|-K^lC_C5YEg#XWlqKYS!nPboo=? J^kNE^1&82HaCdii2LJPW->Tg& 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 literal 0 HcmV?d00001 diff --git a/mycobot_ai/aikit_280_pi/scripts/OpenVideo.py b/mycobot_ai/aikit_280_pi/scripts/OpenVideo.py new file mode 100644 index 0000000..d29ef83 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/OpenVideo.py @@ -0,0 +1,13 @@ +import cv2 + + +cap = cv2.VideoCapture(0) +cap.set(3,640) +cap.set(4,480) + +while cv2.waitKey(1)<0: + ret, frame = cap.read() + if not ret: + break + cv2.imshow('', frame) + diff --git a/mycobot_ai/aikit_280_pi/scripts/add_img.py b/mycobot_ai/aikit_280_pi/scripts/add_img.py new file mode 100644 index 0000000..06dff26 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/add_img.py @@ -0,0 +1,143 @@ +# coding:utf-8 +from fileinput import filename +import os, cv2, sys + + +def take_photo(): + # 提醒用户操作字典 + print("************************************************") + print("* 热键(请在摄像头的窗口使用): *") + print("* hotkey(please use it in the camera window): *") + print("* z: 拍摄图片(take picture) *") + print("* q: 退出(quit) *") + print("************************************************") + + # 创建/使用local_photo文件夹 + class_name = "res" + if (os.path.exists("res")): + pass + else: + os.mkdir(class_name) + + # 设置特定值 + + index = 'takephoto' + cap = cv2.VideoCapture(0) + cap.set(3,640) + cap.set(4, 480) + + while True: + # 读入每一帧 + ret, frame = cap.read() + + cv2.imshow("capture", frame) + + # 存储 + input = cv2.waitKey(1) & 0xFF + # 拍照 + if input == ord('z'): + cv2.imwrite( + "%s/%s.jpeg" % (class_name, index), + cv2.resize(frame, (600, 480), interpolation=cv2.INTER_AREA)) + break + + # 退出 + if input == ord('q'): + + # 关闭窗口 + cap.release() + cv2.destroyAllWindows() + sys.exit() + + +def cut_photo(): + + path1 = '/home/er/AiKit_280PI' # pi + path2 = r'D:/BaiduSyncdisk/PythonProject/OpenCV' # m5 + + if os.path.exists(path1): + path = path1 + elif os.path.exists(path2): + path = path2 + else: + print("invalid file path! Please check whether the file path exists or modify it!") + + + path_red = path + '/res/A' + for i, j, k in os.walk(path_red): + file_len_red = len(k) + + path_gray = path + '/res/B' + for i, j, k in os.walk(path_gray): + file_len_gray = len(k) + + path_green = path + '/res/C' + for i, j, k in os.walk(path_green): + file_len_green = len(k) + + path_blue = path + '/res/D' + for i, j, k in os.walk(path_blue): + file_len_blue = len(k) + print("请截取要识别的部分") + print("Please intercept the part to be identified") + # root = tk.Tk() + # root.withdraw() + # temp1=filedialog.askopenfilename(parent=root) #rgb + # temp2=Image.open(temp1,mode='r') + # temp2= cv.cvtColor(np.asarray(temp2),cv.COLOR_RGB2BGR) + # cut = np.array(temp2) + + cut = cv2.imread(r"res/takephoto.jpeg") + + cv2.imshow('original', cut) + # C:\Users\Elephant\Desktop\pymycobot+opencv\local_photo/takephoto.jpeg + + # 选择ROI + roi = cv2.selectROI(windowName="original", + img=cut, + showCrosshair=False, + fromCenter=False) + x, y, w, h = roi + print(roi) + + msg = """\ + Image save location: + 1 - 保存至A分拣区文件夹 Save to A folder + 2 - 保存至B分拣区文件夹 Save to B folder + 3 - 保存至C分拣区文件夹 Save to C folder + 4 - 保存至D分拣区文件夹 Save to D folder + """ + print(msg) + kw = int(input("请输入保存图片文件夹数字编号(Please enter the number of the folder to save the picture):")) + # print(kw) + + # 显示ROI并保存图片 + if roi != (0, 0, 0, 0): + + crop = cut[y:y + h, x:x + w] + # cv2.imshow('crop', crop) + # 选择D区文件夹 + if kw == 1: + cv2.imwrite(path + '/res/A/goal{}.jpeg'.format(str(file_len_red + 1)),crop) + print('Saved') + # 选择B区文件夹 + elif kw == 2: + cv2.imwrite(path + '/res/B/goal{}.jpeg'.format(str(file_len_gray+1)),crop) + print('Saved') + # 选择C区文件夹 + elif kw == 3: + cv2.imwrite(path + '/res/C/goal{}.jpeg'.format(str(file_len_green+1)),crop) + print('Saved') + # 选择A区文件夹 + elif kw == 4: + cv2.imwrite(path + '/res/D/goal{}.jpeg'.format(str(file_len_blue+1)),crop) + print('Saved') + + # 退出 + cv2.waitKey(0) + cv2.destroyAllWindows() + + +if __name__ == "__main__": + take_photo() + cut_photo() diff --git a/mycobot_ai/aikit_280_pi/scripts/aikit_color.py b/mycobot_ai/aikit_280_pi/scripts/aikit_color.py new file mode 100644 index 0000000..c873705 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/aikit_color.py @@ -0,0 +1,476 @@ +#!/usr/bin/env python3 +import cv2 +import numpy as np +import time +import os,sys +import rospy +from visualization_msgs.msg import Marker +from moving_utils import Movement +from pymycobot.mycobot import MyCobot + + +IS_CV_4 = cv2.__version__[0] == '4' +__version__ = "1.0" +# Adaptive seeed + + +class Object_detect(): + + def __init__(self, camera_x = 155, camera_y = 10): + # inherit the parent class + super(Object_detect, self).__init__() + # declare mycobot280 + self.mc = None + + # 移动角度 + self.move_angles = [ + [0.61, 45.87, -92.37, -41.3, 2.02, 9.58], # init the point + [18.8, -7.91, -54.49, -23.02, -0.79, -14.76], # point to grab + ] + + # 移动坐标 + self.move_coords = [ + [132.2, -136.9, 200.8, -178.24, -3.72, -107.17], # D Sorting area + [238.8, -124.1, 204.3, -169.69, -5.52, -96.52], # C Sorting area + [115.8, 177.3, 210.6, 178.06, -0.92, -6.11], # A Sorting area + [-6.9, 173.2, 201.5, 179.93, 0.63, 33.83], # B Sorting area + ] + + # which robot: USB* is m5; ACM* is wio; AMA* is raspi + self.robot_m5 = os.popen("ls /dev/ttyUSB*").readline()[:-1] + self.robot_wio = os.popen("ls /dev/ttyACM*").readline()[:-1] + self.robot_raspi = os.popen("ls /dev/ttyAMA*").readline()[:-1] + self.robot_jes = os.popen("ls /dev/ttyTHS1").readline()[:-1] + self.raspi = False + if "dev" in self.robot_m5: + self.Pin = [2, 5] + elif "dev" in self.robot_wio: + # self.Pin = [20, 21] + self.Pin = [2, 5] + + for i in self.move_coords: + i[2] -= 20 + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + import RPi.GPIO as GPIO + GPIO.setwarnings(False) + self.GPIO = GPIO + GPIO.setmode(GPIO.BCM) + GPIO.setup(20, GPIO.OUT) + GPIO.setup(21, GPIO.OUT) + GPIO.output(20, 1) + GPIO.output(21, 1) + self.raspi = True + if self.raspi: + self.gpio_status(False) + + # choose place to set cube 选择放置立方体的地方 + self.color = 0 + # parameters to calculate camera clipping parameters 计算相机裁剪参数的参数 + self.x1 = self.x2 = self.y1 = self.y2 = 0 + # set cache of real coord 设置真实坐标的缓存 + self.cache_x = self.cache_y = 0 + # set color HSV + self.HSV = { + # "yellow": [np.array([11, 85, 70]), np.array([59, 255, 245])], + "yellow": [np.array([22, 93, 0]), np.array([45, 255, 245])], + "red": [np.array([0, 43, 46]), np.array([8, 255, 255])], + "green": [np.array([35, 43, 35]), np.array([90, 255, 255])], + "blue": [np.array([100, 43, 46]), np.array([124, 255, 255])], + "cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])], + } + + # use to calculate coord between cube and mycobot280 + # 用于计算立方体和 mycobot 之间的坐标 + self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0 + # The coordinates of the grab center point relative to the mycobot280 + # 抓取中心点相对于 mycobot 的坐标 + self.camera_x, self.camera_y = camera_x, camera_y + # The coordinates of the cube relative to the mycobot280 + # 立方体相对于 mycobot 的坐标 + self.c_x, self.c_y = 0, 0 + # The ratio of pixels to actual values + # 像素与实际值的比值 + self.ratio = 0 + + # Get ArUco marker dict that can be detected. + # 获取可以检测到的 ArUco 标记字典。 + self.aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_6X6_250) + # Get ArUco marker params. 获取 ArUco 标记参数 + self.aruco_params = cv2.aruco.DetectorParameters_create() + + + # pump_control pi + def gpio_status(self, flag): + if flag: + # self.GPIO.output(20, 0) + self.GPIO.output(21, 0) + else: + # self.GPIO.output(20, 1) + self.GPIO.output(21, 1) + + # 开启吸泵 m5 + def pump_on(self): + # 让2号位工作 + # self.mc.set_basic_output(2, 0) + # 让5号位工作 + self.mc.set_basic_output(5, 0) + + # 停止吸泵 m5 + def pump_off(self): + # 让2号位停止工作 + # self.mc.set_basic_output(2, 1) + # 让5号位停止工作 + self.mc.set_basic_output(5, 1) + + # Grasping motion + def move(self, x, y, color): + # send Angle to move mycobot280 + print(color) + self.mc.send_angles(self.move_angles[1], 25) + time.sleep(3) + + # send coordinates to move mycobot + self.mc.send_coords([x, y, 190.6, 179.87, -3.78, -62.75], 25, 1) # usb :rx,ry,rz -173.3, -5.48, -57.9 + time.sleep(3) + + # self.mc.send_coords([x, y, 150, 179.87, -3.78, -62.75], 25, 0) + # time.sleep(3) + + self.mc.send_coords([x, y, 103, 179.87, -3.78, -62.75], 25, 0) + time.sleep(3) + + # open pump + if "dev" in self.robot_m5 or "dev" in self.robot_wio: + self.pump_on() + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + self.gpio_status(True) + time.sleep(1.5) + + tmp = [] + while True: + if not tmp: + tmp = self.mc.get_angles() + else: + break + time.sleep(0.5) + + # print(tmp) + self.mc.send_angles([tmp[0], -0.71, -54.49, -23.02, -0.79, tmp[5]],25) # [18.8, -7.91, -54.49, -23.02, -0.79, -14.76] + time.sleep(2.5) + + self.mc.send_coords(self.move_coords[color], 25, 1) + # self.pub_marker(self.move_coords[color][0]/1000.0, self.move_coords[color] + # [1]/1000.0, self.move_coords[color][2]/1000.0) + time.sleep(3) + + # close pump + + if "dev" in self.robot_m5 or "dev" in self.robot_wio: + self.pump_off() + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + self.gpio_status(False) + time.sleep(5) + + self.mc.send_angles(self.move_angles[0], 25) + time.sleep(4.5) + + # decide whether grab cube 决定是否抓取立方体 + def decide_move(self, x, y, color): + print('decide-->',x, y, self.cache_x, self.cache_y) + # detect the cube status move or run 检测立方体状态移动或运行 + if (abs(x - self.cache_x) + abs(y - self.cache_y)) / 2 > 5: # mm + self.cache_x, self.cache_y = x, y + return + else: + self.cache_x = self.cache_y = 0 + # 调整吸泵吸取位置,y增大,向左移动;y减小,向右移动;x增大,前方移动;x减小,向后方移动 + self.move(x, y, color) + + # init mycobot280 + def run(self): + if "dev" in self.robot_wio : + self.mc = MyCobot(self.robot_wio, 115200) + elif "dev" in self.robot_m5: + self.mc = MyCobot(self.robot_m5, 115200) + elif "dev" in self.robot_raspi: + self.mc = MyCobot(self.robot_raspi, 1000000) + if not self.raspi: + self.pub_pump(False, self.Pin) + self.mc.send_angles([0.61, 45.87, -92.37, -41.3, 2.02, 9.58], 20) + time.sleep(4.5) + + # draw aruco + def draw_marker(self, img, x, y): + # draw rectangle on img 在 img 上绘制矩形 + cv2.rectangle( + img, + (x - 20, y - 20), + (x + 20, y + 20), + (0, 255, 0), + thickness=2, + lineType=cv2.FONT_HERSHEY_COMPLEX, + ) + # add text on rectangle + cv2.putText(img, "({},{})".format(x, y), (x, y), + cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (243, 0, 0), 2,) + + # get points of two aruco 获得两个 aruco 的点位 + def get_calculate_params(self, img): + # Convert the image to a gray image 将图像转换为灰度图像 + gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + # Detect ArUco marker. + corners, ids, rejectImaPoint = cv2.aruco.detectMarkers( + gray, self.aruco_dict, parameters=self.aruco_params + ) + + """ + Two Arucos must be present in the picture and in the same order. + There are two Arucos in the Corners, and each aruco contains the pixels of its four corners. + Determine the center of the aruco by the four corners of the aruco. + """ + if len(corners) > 0: + if ids is not None: + if len(corners) <= 1 or ids[0] == 1: + return None + x1 = x2 = y1 = y2 = 0 + point_11, point_21, point_31, point_41 = corners[0][0] + x1, y1 = int((point_11[0] + point_21[0] + point_31[0] + point_41[0]) / 4.0), int( + (point_11[1] + point_21[1] + point_31[1] + point_41[1]) / 4.0) + point_1, point_2, point_3, point_4 = corners[1][0] + x2, y2 = int((point_1[0] + point_2[0] + point_3[0] + point_4[0]) / 4.0), int( + (point_1[1] + point_2[1] + point_3[1] + point_4[1]) / 4.0) + + return x1, x2, y1, y2 + return None + + # set camera clipping parameters 设置相机裁剪参数 + def set_cut_params(self, x1, y1, x2, y2): + self.x1 = int(x1) + self.y1 = int(y1) + self.x2 = int(x2) + self.y2 = int(y2) + + # set parameters to calculate the coords between cube and mycobot280 + # 设置参数以计算立方体和 mycobot 之间的坐标 + def set_params(self, c_x, c_y, ratio): + self.c_x = c_x + self.c_y = c_y + self.ratio = 220.0/ratio + + # calculate the coords between cube and mycobot280 + # 计算立方体和 mycobot 之间的坐标 + def get_position(self, x, y): + return ((y - self.c_y)*self.ratio + self.camera_x), ((x - self.c_x)*self.ratio + self.camera_y) + + """ + Calibrate the camera according to the calibration parameters. + Enlarge the video pixel by 1.5 times, which means enlarge the video size by 1.5 times. + If two ARuco values have been calculated, clip the video. + """ + def transform_frame(self, frame): + # enlarge the image by 1.5 times + fx = 1.5 + fy = 1.5 + frame = cv2.resize(frame, (0, 0), fx=fx, fy=fy, + interpolation=cv2.INTER_CUBIC) + if self.x1 != self.x2: + # the cutting ratio here is adjusted according to the actual situation + frame = frame[int(self.y2*0.78):int(self.y1*1.1), + int(self.x1*0.86):int(self.x2*1.08)] + return frame + + # detect cube color + def color_detect(self, img): + # set the arrangement of color'HSV + x = y = 0 + for mycolor, item in self.HSV.items(): + # print("mycolor:",mycolor) + redLower = np.array(item[0]) + redUpper = np.array(item[1]) + + # transfrom the img to model of gray 将图像转换为灰度模型 + hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) + # print("hsv",hsv) + + # wipe off all color expect color in range 擦掉所有颜色期望范围内的颜色 + mask = cv2.inRange(hsv, item[0], item[1]) + + # a etching operation on a picture to remove edge roughness + # 对图片进行蚀刻操作以去除边缘粗糙度 + erosion = cv2.erode(mask, np.ones((1, 1), np.uint8), iterations=2) + + # the image for expansion operation, its role is to deepen the color depth in the picture + # 用于扩展操作的图像,其作用是加深图片中的颜色深度 + dilation = cv2.dilate(erosion, np.ones( + (1, 1), np.uint8), iterations=2) + + # adds pixels to the image 向图像添加像素 + target = cv2.bitwise_and(img, img, mask=dilation) + + # the filtered image is transformed into a binary image and placed in binary + # 将过滤后的图像转换为二值图像并放入二值 + ret, binary = cv2.threshold(dilation, 127, 255, cv2.THRESH_BINARY) + + # get the contour coordinates of the image, where contours is the coordinate value, here only the contour is detected + # 获取图像的轮廓坐标,其中contours为坐标值,这里只检测轮廓 + contours, hierarchy = cv2.findContours( + dilation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) + + if len(contours) > 0: + # do something about misidentification + boxes = [ + box + for box in [cv2.boundingRect(c) for c in contours] + if min(img.shape[0], img.shape[1]) / 10 + < min(box[2], box[3]) + < min(img.shape[0], img.shape[1]) / 1 + ] + if boxes: + for box in boxes: + x, y, w, h = box + # find the largest object that fits the requirements 找到符合要求的最大对象 + c = max(contours, key=cv2.contourArea) + # get the lower left and upper right points of the positioning object + # 获取定位对象的左下和右上点 + x, y, w, h = cv2.boundingRect(c) + # locate the target by drawing rectangle 通过绘制矩形来定位目标 + cv2.rectangle(img, (x, y), (x+w, y+h), (153, 153, 0), 2) + # calculate the rectangle center 计算矩形中心 + x, y = (x*2+w)/2, (y*2+h)/2 + # calculate the real coordinates of mycobot280 relative to the target + # 计算 mycobot 相对于目标的真实坐标 + + if mycolor == "yellow": + + self.color = 3 + break + + elif mycolor == "red": + self.color = 0 + break + + elif mycolor == "cyan": + self.color = 2 + break + + elif mycolor == "blue": + self.color =2 + break + elif mycolor == "green": + self.color = 1 + break + + # 判断是否正常识别 + if abs(x) + abs(y) > 0: + return x, y + else: + return None + +if __name__ == "__main__": + + # open the camera + cap_num = 0 + cap = cv2.VideoCapture(cap_num, cv2.CAP_V4L) + + if not cap.isOpened(): + cap.open() + # init a class of Object_detect + detect = Object_detect() + # init mycobot280 + detect.run() + + _init_ = 20 + init_num = 0 + nparams = 0 + num = 0 + real_sx = real_sy = 0 + while cv2.waitKey(1) < 0: + # read camera + _, frame = cap.read() + # deal img + frame = detect.transform_frame(frame) + if _init_ > 0: + _init_ -= 1 + continue + + # calculate the parameters of camera clipping 计算相机裁剪的参数 + if init_num < 20: + if detect.get_calculate_params(frame) is None: + cv2.imshow("figure", frame) + continue + else: + x1, x2, y1, y2 = detect.get_calculate_params(frame) + detect.draw_marker(frame, x1, y1) + detect.draw_marker(frame, x2, y2) + detect.sum_x1 += x1 + detect.sum_x2 += x2 + detect.sum_y1 += y1 + detect.sum_y2 += y2 + init_num += 1 + continue + elif init_num == 20: + detect.set_cut_params( + (detect.sum_x1)/20.0, + (detect.sum_y1)/20.0, + (detect.sum_x2)/20.0, + (detect.sum_y2)/20.0, + ) + detect.sum_x1 = detect.sum_x2 = detect.sum_y1 = detect.sum_y2 = 0 + init_num += 1 + continue + + # calculate params of the coords between cube and mycobot280 计算立方体和 mycobot 之间坐标的参数 + if nparams < 10: + if detect.get_calculate_params(frame) is None: + cv2.imshow("figure", frame) + continue + else: + x1, x2, y1, y2 = detect.get_calculate_params(frame) + detect.draw_marker(frame, x1, y1) + detect.draw_marker(frame, x2, y2) + detect.sum_x1 += x1 + detect.sum_x2 += x2 + detect.sum_y1 += y1 + detect.sum_y2 += y2 + nparams += 1 + continue + elif nparams == 10: + nparams += 1 + # calculate and set params of calculating real coord between cube and mycobot280 + # 计算和设置计算立方体和mycobot之间真实坐标的参数 + detect.set_params( + (detect.sum_x1+detect.sum_x2)/20.0, + (detect.sum_y1+detect.sum_y2)/20.0, + abs(detect.sum_x1-detect.sum_x2)/10.0 + + abs(detect.sum_y1-detect.sum_y2)/10.0 + ) + print("ok") + continue + + # get detect result 获取检测结果 + detect_result = detect.color_detect(frame) + if detect_result is None: + cv2.imshow("figure", frame) + continue + else: + x, y = detect_result + # calculate real coord between cube and mycobot280 计算立方体和 mycobot 之间的真实坐标 + real_x, real_y = detect.get_position(x, y) + # print('real_x',round(real_x, 3),round(real_y, 3)) + if num == 20: + + detect.decide_move(real_sx/20.0, real_sy/20.0, detect.color) + num = real_sx = real_sy = 0 + + else: + num += 1 + real_sy += real_y + real_sx += real_x + + cv2.imshow("figure", frame) + + # close the window + if cv2.waitKey(1) & 0xFF == ord('q'): + cap.release() + cv2.destroyAllWindows() + sys.exit() diff --git a/mycobot_ai/aikit_280_pi/scripts/aikit_encode.py b/mycobot_ai/aikit_280_pi/scripts/aikit_encode.py new file mode 100644 index 0000000..72194c0 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/aikit_encode.py @@ -0,0 +1,153 @@ +#encoding: UTF-8 +import cv2 +import numpy as np +from pymycobot.mycobot import MyCobot +from pymycobot import PI_BAUD, PI_PORT +import RPi.GPIO as GPIO +import time + + + +# y轴偏移量 +pump_y = -55 +# x轴偏移量 +pump_x = 15 + +class Detect_marker(): + def __init__(self): + #initialize MyCobot + self.mc = MyCobot(PI_PORT, PI_BAUD) + GPIO.setmode(GPIO.BCM) + # GPIO.setup(20, GPIO.OUT) + GPIO.setup(21, GPIO.OUT) + # set cache of real coord + self.cache_x = self.cache_y = 0 + # Creating a Camera Object + cap_num = 0 + self.cap = cv2.VideoCapture(cap_num) + self.cap.set(3, 640) + self.cap.set(4, 480) + # Get ArUco marker dict that can be detected. + self.aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_6X6_250) + # Get ArUco marker params. + self.aruco_params = cv2.aruco.DetectorParameters_create() + # 摄像头的内参矩阵 + self.camera_matrix = np.array([ + [781.33379113, 0., 347.53500524], + [0., 783.79074192, 246.67627253], + [0., 0., 1.]]) + + # 摄像头的畸变系数 + self.dist_coeffs = np.array(([[3.41360787e-01, -2.52114260e+00, -1.28012469e-03, 6.70503562e-03, + 2.57018000e+00]])) + + # 控制吸泵 + def pub_pump(self, flag): + if flag: + # GPIO.output(20, 0) + GPIO.output(21, 0) + else: + # GPIO.output(20, 1) + GPIO.output(21, 1) + + # Grasping motion + def move(self, x, y): + + coords = [ + [135.0, -65.5, 280.1, 178.99, 5.38, -179.9], # 初始化点 init point + [132.2, -136.9, 200.8, -178.24, -3.72, -107.17], # D分拣区 D sorting area + [238.8, -124.1, 204.3, -169.69, -5.52, -96.52], # C分拣区 C sorting area + [115.8, 177.3, 210.6, 178.06, -0.92, -6.11], # A分拣区 A sorting area + [-6.9, 173.2, 201.5, 179.93, 0.63, 33.83], # B分拣区 B sorting area + ] + + # send coordinates to move mycobot + self.mc.send_coords(coords[0], 30, 1) + time.sleep(2) + self.mc.send_coords([coords[0][0]+x, coords[0][1]+y, 240, 178.99, 5.38, -179.9], 20, 0) + time.sleep(2) + self.mc.send_coords([coords[0][0]+x, coords[0][1]+y, 200, 178.99, 5.38, -179.9], 20, 0) + time.sleep(2) + self.mc.send_coords([coords[0][0]+x, coords[0][1]+y, 105, 178.99, 5.38, -179.9], 20, 0) + time.sleep(3.5) + self.pub_pump(True) + self.mc.send_coords(coords[0], 30, 1) + time.sleep(4) + self.mc.send_coords(coords[1], 30, 1) + time.sleep(4) + self.pub_pump(False) + time.sleep(5) + self.mc.send_coords(coords[0], 30, 1) + time.sleep(2) + + # decide whether grab cube + def decide_move(self, x, y): + + print(x,y) + # detect the cube status move or run + if (abs(x - self.cache_x) + abs(y - self.cache_y)) / 2 > 5: # mm + self.cache_x, self.cache_y = x, y + return + else: + self.cache_x = self.cache_y = 0 + # 调整吸泵吸取位置,y增大,向左移动;y减小,向右移动;x增大,前方移动;x减小,向后方移动 + self.move(x-10, y+145) + + # init mycobot + def init_mycobot(self): + self.pub_pump(False) + self.mc.send_angles([0.61, 45.87, -92.37, -41.3, 2.02, 9.58], 20) + # self.mc.send_coords([135.0, -65.5, 280.1, 178.99, 5.38, -179.9], 20, 1) + time.sleep(4.5) + + + + def run(self): + global pump_y, pump_x + self.init_mycobot() + num = sum_x = sum_y = 0 + while cv2.waitKey(1) < 0: + success, img = self.cap.read() + if not success: + print("It seems that the image cannot be acquired correctly.") + break + + # transfrom the img to model of gray + gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + # Detect ArUco marker. + corners, ids, rejectImaPoint = cv2.aruco.detectMarkers( + gray, self.aruco_dict, parameters=self.aruco_params + ) + + if len(corners) > 0: + if ids is not None: + # get informations of aruco + ret = cv2.aruco.estimatePoseSingleMarkers( + corners, 0.03, self.camera_matrix, self.dist_coeffs + ) + # rvec:rotation offset,tvec:translation deviator + (rvec, tvec) = (ret[0], ret[1]) + (rvec - tvec).any() + xyz = tvec[0, 0, :] + # calculate the coordinates of the aruco relative to the pump + xyz = [round(xyz[0]*1000+pump_y, 2), round(xyz[1]*1000+pump_x, 2), round(xyz[2]*1000, 2)] + + cv2.putText(img, 'coords' + str(xyz), (0, 64), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA) + for i in range(rvec.shape[0]): + # draw the aruco on img + cv2.aruco.drawDetectedMarkers(img, corners) + + if num < 40 : + sum_x += xyz[1] + sum_y += xyz[0] + num += 1 + elif num ==40 : + self.decide_move(sum_x/40.0, sum_y/40.0) + num = sum_x = sum_y = 0 + + cv2.imshow("encode_image", img) + +if __name__ == "__main__": + detect = Detect_marker() + detect.run() + diff --git a/mycobot_ai/aikit_280_pi/scripts/aikit_img.py b/mycobot_ai/aikit_280_pi/scripts/aikit_img.py new file mode 100644 index 0000000..39933b8 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/aikit_img.py @@ -0,0 +1,606 @@ +from multiprocessing import Process, Pipe +import cv2 +import numpy as np +import time +import os,sys + +from pymycobot.mycobot import MyCobot + +IS_CV_4 = cv2.__version__[0] == '4' +__version__ = "1.0" # Adaptive seeed + + +class Object_detect(): + + def __init__(self, camera_x = 160, camera_y = 10): + # inherit the parent class + super(Object_detect, self).__init__() + + # declare mycobot 280pi + self.mc = None + # 移动角度 + self.move_angles = [ + [0.61, 45.87, -92.37, -41.3, 2.02, 9.58], # init the point + [18.8, -7.91, -54.49, -23.02, -0.79, -14.76], # point to grab + ] + + # 移动坐标 + self.move_coords = [ + [132.2, -136.9, 200.8, -178.24, -3.72, -107.17], # D Sorting area + [238.8, -124.1, 204.3, -169.69, -5.52, -96.52], # C Sorting area + [115.8, 177.3, 210.6, 178.06, -0.92, -6.11], # A Sorting area + [-6.9, 173.2, 201.5, 179.93, 0.63, 33.83], # B Sorting area + ] + + # which robot: USB* is m5; ACM* is wio; AMA* is raspi + self.robot_m5 = os.popen("ls /dev/ttyUSB*").readline()[:-1] + self.robot_wio = os.popen("ls /dev/ttyACM*").readline()[:-1] + self.robot_raspi = os.popen("ls /dev/ttyAMA*").readline()[:-1] + self.robot_jes = os.popen("ls /dev/ttyTHS1").readline()[:-1] + self.raspi = False + if "dev" in self.robot_m5: + self.Pin = [2, 5] + elif "dev" in self.robot_wio: + # self.Pin = [20, 21] + self.Pin = [2, 5] + + for i in self.move_coords: + i[2] -= 20 + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + import RPi.GPIO as GPIO + GPIO.setwarnings(False) + self.GPIO = GPIO + GPIO.setmode(GPIO.BCM) + GPIO.setup(20, GPIO.OUT) + GPIO.setup(21, GPIO.OUT) + GPIO.output(20, 1) + GPIO.output(21, 1) + self.raspi = True + if self.raspi: + self.gpio_status(False) + + # choose place to set cube + self.color = 0 + # parameters to calculate camera clipping parameters + self.x1 = self.x2 = self.y1 = self.y2 = 0 + # set cache of real coord + self.cache_x = self.cache_y = 0 + + # use to calculate coord between cube and mycobot + self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0 + # The coordinates of the grab center point relative to the mycobot + self.camera_x, self.camera_y = camera_x, camera_y + # The coordinates of the cube relative to the mycobot + self.c_x, self.c_y = 0, 0 + # The ratio of pixels to actual values + self.ratio = 0 + # Get ArUco marker dict that can be detected. + self.aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_6X6_250) + # Get ArUco marker params. + self.aruco_params = cv2.aruco.DetectorParameters_create() + + # pump_control pi + def gpio_status(self, flag): + if flag: + # self.GPIO.output(20, 0) + self.GPIO.output(21, 0) + else: + # self.GPIO.output(20, 1) + self.GPIO.output(21, 1) + + # 开启吸泵 m5 + def pump_on(self): + # 让2号位工作 + # self.mc.set_basic_output(2, 0) + # 让5号位工作 + self.mc.set_basic_output(5, 0) + + # 停止吸泵 m5 + def pump_off(self): + # 让2号位停止工作 + # self.mc.set_basic_output(2, 1) + # 让5号位停止工作 + self.mc.set_basic_output(5, 1) + + # Grasping motion + def move(self, x, y, color): + # send Angle to move mypal260 + self.mc.send_angles(self.move_angles[1], 25) + time.sleep(3) + + # send coordinates to move mycobot + self.mc.send_coords([x, y, 190.6, 179.87, -3.78, -62.75], 25, 1) # usb :rx,ry,rz -173.3, -5.48, -57.9 + time.sleep(3) + + # self.mc.send_coords([x, y, 150, 179.87, -3.78, -62.75], 25, 0) + # time.sleep(3) + + self.mc.send_coords([x, y, 65, 179.87, -3.78, -62.75], 25, 0) + # self.mc.send_coords([x, y, 103, 179.87, -3.78, -62.75], 25, 0) + + time.sleep(4) + + # open pump + if "dev" in self.robot_m5 or "dev" in self.robot_wio: + self.pump_on() + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + self.gpio_status(True) + time.sleep(1.5) + + tmp = [] + while True: + if not tmp: + tmp = self.mc.get_angles() + else: + break + time.sleep(0.5) + + # print(tmp) + self.mc.send_angles([tmp[0], -0.71, -54.49, -23.02, -0.79, tmp[5]],25) # [18.8, -7.91, -54.49, -23.02, -0.79, -14.76] + time.sleep(2.5) + + + + self.mc.send_coords(self.move_coords[color], 25, 1) + time.sleep(4) + + # close pump + if "dev" in self.robot_m5 or "dev" in self.robot_wio: + self.pump_off() + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + self.gpio_status(False) + time.sleep(5) + + self.mc.send_angles(self.move_angles[0], 25) + time.sleep(4.5) + + # decide whether grab cube + def decide_move(self, x, y, color): + print(x, y, self.cache_x, self.cache_y) + # detect the cube status move or run + if (abs(x - self.cache_x) + abs(y - self.cache_y)) / 2 > 5: # mm + self.cache_x, self.cache_y = x, y + return + else: + self.cache_x = self.cache_y = 0 + # 调整吸泵吸取位置,y增大,向左移动;y减小,向右移动;x增大,前方移动;x减小,向后方移动 + + self.move(x, y, color) + + + # init mycobot + def run(self): + + if "dev" in self.robot_wio : + self.mc = MyCobot(self.robot_wio, 115200) + elif "dev" in self.robot_m5: + self.mc = MyCobot(self.robot_m5, 115200) + elif "dev" in self.robot_raspi: + self.mc = MyCobot(self.robot_raspi, 1000000) + if not self.raspi: + self.pub_pump(False, self.Pin) + self.mc.send_angles([0.61, 45.87, -92.37, -41.3, 2.02, 9.58], 20) + time.sleep(4.5) + + + # draw aruco + def draw_marker(self, img, x, y): + # draw rectangle on img + cv2.rectangle( + img, + (x - 20, y - 20), + (x + 20, y + 20), + (0, 255, 0), + thickness=2, + lineType=cv2.FONT_HERSHEY_COMPLEX, + ) + # add text on rectangle + cv2.putText( + img, + "({},{})".format(x, y), + (x, y), + cv2.FONT_HERSHEY_COMPLEX_SMALL, + 1, + (243, 0, 0), + 2, + ) + + # get points of two aruco + def get_calculate_params(self, img): + # Convert the image to a gray image + gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + # Detect ArUco marker. + corners, ids, rejectImaPoint = cv2.aruco.detectMarkers( + gray, self.aruco_dict, parameters=self.aruco_params) + + """ + Two Arucos must be present in the picture and in the same order. + There are two Arucos in the Corners, and each aruco contains the pixels of its four corners. + Determine the center of the aruco by the four corners of the aruco. + """ + if len(corners) > 0: + if ids is not None: + if len(corners) <= 1 or ids[0] == 1: + return None + x1 = x2 = y1 = y2 = 0 + point_11, point_21, point_31, point_41 = corners[0][0] + x1, y1 = int( + (point_11[0] + point_21[0] + point_31[0] + point_41[0]) / + 4.0), int( + (point_11[1] + point_21[1] + point_31[1] + point_41[1]) + / 4.0) + point_1, point_2, point_3, point_4 = corners[1][0] + x2, y2 = int( + (point_1[0] + point_2[0] + point_3[0] + point_4[0]) / + 4.0), int( + (point_1[1] + point_2[1] + point_3[1] + point_4[1]) / + 4.0) + return x1, x2, y1, y2 + return None + + # set camera clipping parameters + def set_cut_params(self, x1, y1, x2, y2): + self.x1 = int(x1) + self.y1 = int(y1) + self.x2 = int(x2) + self.y2 = int(y2) + print(self.x1, self.y1, self.x2, self.y2) + + # set parameters to calculate the coords between cube and mycobot + def set_params(self, c_x, c_y, ratio): + self.c_x = c_x + self.c_y = c_y + self.ratio = 220.0 / ratio + + # calculate the coords between cube and mycobot + def get_position(self, x, y): + return ((y - self.c_y) * self.ratio + + self.camera_x), ((x - self.c_x) * self.ratio + self.camera_y) + + """ + Calibrate the camera according to the calibration parameters. + Enlarge the video pixel by 1.5 times, which means enlarge the video size by 1.5 times. + If two ARuco values have been calculated, clip the video. + """ + + def transform_frame(self, frame): + # enlarge the image by 1.5 times + fx = 1.5 + fy = 1.5 + frame = cv2.resize(frame, (0, 0), + fx=fx, + fy=fy, + interpolation=cv2.INTER_CUBIC) + if self.x1 != self.x2: + # the cutting ratio here is adjusted according to the actual situation + frame = frame[int(self.y2 * 0.2):int(self.y1 * 1.15), + int(self.x1 * 0.7):int(self.x2 * 1.15)] + return frame + + # according the class_id to get object name + def id_class_name(self, class_id): + for key, value in self.labels.items(): + if class_id == int(key): + return value + + # detect object + def obj_detect(self, img, goal, kp_img, desc_img, kp_list, desc_list, connection): + i = 0 + MIN_MATCH_COUNT = 5 + # sift = cv2.xfeatures2d.SIFT_create() + + # find the keypoints and descriptors with SIFT + # kp = [] + # des = [] + kp = kp_list + des = desc_list + + # for i in goal: + # kp0, des0 = sift.detectAndCompute(i, None) + # kp.append(kp0) + # des.append(des0) + + # kp1, des1 = sift.detectAndCompute(goal, None) + # kp2, des2 = sift.detectAndCompute(img, None) + kp2, des2 = kp_img, desc_img + + # FLANN parameters + FLANN_INDEX_KDTREE = 0 + index_params = dict(algorithm=FLANN_INDEX_KDTREE, trees=5) + search_params = dict(checks=50) # or pass empty dictionary + flann = cv2.FlannBasedMatcher(index_params, search_params) + + x, y = 0, 0 + try: + for i in range(len(des)): + matches = flann.knnMatch(des[i], des2, k=2) + # store all the good matches as per Lowe's ratio test. 根据Lowe比率测试存储所有良好匹配项。 + good = [] + for m, n in matches: + if m.distance < 0.7 * n.distance: + good.append(m) + + # When there are enough robust matching point pairs 当有足够的健壮匹配点对(至少个MIN_MATCH_COUNT)时 + if len(good) > MIN_MATCH_COUNT: + + # extract corresponding point pairs from matching 从匹配中提取出对应点对 + # query index of small objects, training index of scenarios 小对象的查询索引,场景的训练索引 + src_pts = np.float32([kp[i][m.queryIdx].pt + for m in good]).reshape(-1, 1, 2) + dst_pts = np.float32([kp2[m.trainIdx].pt + for m in good]).reshape(-1, 1, 2) + + # Using matching points to find homography matrix in cv2.ransac 利用匹配点找到CV2.RANSAC中的单应矩阵 + M, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, + 5.0) + matchesMask = mask.ravel().tolist() + # Calculate the distortion of image, that is the corresponding position in frame 计算图1的畸变,也就是在图2中的对应的位置 + h, w, d = goal[i].shape + pts = np.float32([[0, 0], [0, h - 1], [w - 1, h - 1], + [w - 1, 0]]).reshape(-1, 1, 2) + dst = cv2.perspectiveTransform(pts, M) + coord = (dst[0][0] + dst[1][0] + dst[2][0] + + dst[3][0]) / 4.0 + connection.send((DRAW_COORDS, coord)) + # cv2.putText(img, "{}".format(coord), (50, 60), + # fontFace=None, fontScale=1, + # color=(0, 255, 0), lineType=1) + print(format(dst[0][0][0])) + x = (dst[0][0][0] + dst[1][0][0] + dst[2][0][0] + + dst[3][0][0]) / 4.0 + y = (dst[0][0][1] + dst[1][0][1] + dst[2][0][1] + + dst[3][0][1]) / 4.0 + + # bound box 绘制边框 + # img = cv2.polylines(img, [np.int32(dst)], True, 244, 3, cv2.LINE_AA) + connection.send((DRAW_RECT, dst)) + # cv2.polylines(mixture, [np.int32(dst)], True, (0, 255, 0), 2, cv2.LINE_AA) + except Exception as e: + pass + + if x + y > 0: + return x, y + else: + return None + +# The path to save the image folder +def parse_folder(folder): + restore = [] + path1 = '/home/er/AiKit_280PI/' + folder + path2 = r'D:/BaiduSyncdisk/PythonProject/OpenCV/' + folder + + # if os.path.exists(path1): + # path = path1 + # elif os.path.exists(path2): + path = path1 + + for i, j, k in os.walk(path): + for l in k: + restore.append(cv2.imread(folder + '/{}'.format(l))) + # print(restore) + return restore + +def compute_keypoints_and_descriptors(sift, images_lists): + kp_list = [] + desc_list = [] + for images in images_lists: + kp_tmp = [] + desc_tmp = [] + for img in images: + kp, desc = sift.detectAndCompute(img, None) + kp_tmp.append(kp) + desc_tmp.append(desc) + kp_list.append(kp_tmp) + desc_list.append(desc_tmp) + + return kp_list, desc_list + +GET_FRAME = 1 +STOP_PROCESSING = 2 +DRAW_COORDS = 3 +DRAW_RECT = 4 +CLEAR_DRAW = 5 +CROP_FRAME = 6 + +def get_frame(connection): + connection.send(GET_FRAME) + frame = connection.recv() + return frame + +def process_transform_frame(frame, x1, y1, x2, y2): + # enlarge the image by 1.5 times + fx = 1.5 + fy = 1.5 + frame = cv2.resize(frame, (0, 0), + fx=fx, + fy=fy, + interpolation=cv2.INTER_CUBIC) + # if x1 != x2: + # # the cutting ratio here is adjusted according to the actual situation + # frame = frame[int(y2 * 0.2):int(y1 * 1.15), + # int(x1 * 0.7):int(x2 * 1.15)] + return frame + +def process_display_frame(connection): + cap_num = 0 + coord = None + dst = None + x1 = 0 + y1 = 0 + x2 = 0 + y2 = 0 + cap = cv2.VideoCapture(cap_num, cv2.CAP_V4L) + # cap = cv2.VideoCapture(cap_num, cv2.CAP_DSHOW) + if not cap.isOpened(): + cap.open() + while cv2.waitKey(1) < 0: + _, frame = cap.read() + frame = process_transform_frame(frame, x1, y1, x2, y2) + if connection.poll(): + request = connection.recv() + if request == GET_FRAME: + connection.send(frame) + elif request == CLEAR_DRAW: + coord = None + dst = None + elif type(request) is tuple: + if request[0] == DRAW_COORDS: + coord = request[1] + elif request[0] == DRAW_RECT: + dst = request[1] + elif request[0] == CROP_FRAME: + x1 = request[1] + y1 = request[2] + x2 = request[3] + y2 = request[4] + + if not coord is None: + cv2.putText(frame, "{}".format(coord), (50, 60), fontFace=None, + fontScale=1, color=(0, 255, 0), lineType=1) + if not dst is None: + frame = cv2.polylines(frame, [np.int32(dst)], True, 244, 3, cv2.LINE_AA) + cv2.imshow("figure", frame) + time.sleep(0.04) + connection.send(STOP_PROCESSING) + +def run(): + parent_conn, child_conn = Pipe() + child = Process(target = process_display_frame, args=(child_conn,)) + child.start() + + res_queue = [[], [], [], []] + res_queue[0] = parse_folder('res/D') + res_queue[1] = parse_folder('res/C') + res_queue[2] = parse_folder('res/A') + res_queue[3] = parse_folder('res/B') + + sift = cv2.xfeatures2d.SIFT_create() + # sift = cv2.SIFT_create() + kp_list, desc_list = compute_keypoints_and_descriptors(sift, res_queue) + + # init a class of Object_detect + detect = Object_detect() + + # init mycobot + detect.run() + + # _init_ = 20 # + init_num = 0 + nparams = 0 + # num = 0 + # real_sx = real_sy = 0 + while True: + start_time = time.time() + if parent_conn.poll(): + data = parent_conn.recv() + if data == STOP_PROCESSING: + break + # read camera + frame = get_frame(parent_conn) + # deal img + #frame = detect.transform_frame(frame) + + # if _init_ > 0: + # _init_ -= 1 + # continue + # calculate the parameters of camera clipping + if init_num < 20: + if detect.get_calculate_params(frame) is None: + # cv2.imshow("figure", frame) + continue + else: + x1, x2, y1, y2 = detect.get_calculate_params(frame) + detect.draw_marker(frame, x1, y1) + detect.draw_marker(frame, x2, y2) + detect.sum_x1 += x1 + detect.sum_x2 += x2 + detect.sum_y1 += y1 + detect.sum_y2 += y2 + init_num += 1 + continue + elif init_num == 20: + detect.set_cut_params( + (detect.sum_x1) / 20.0, + (detect.sum_y1) / 20.0, + (detect.sum_x2) / 20.0, + (detect.sum_y2) / 20.0, + ) + parent_conn.send((CROP_FRAME, + (detect.sum_x1) / 20.0, + (detect.sum_y1) / 20.0, + (detect.sum_x2) / 20.0, + (detect.sum_y2) / 20.0)) + detect.sum_x1 = detect.sum_x2 = detect.sum_y1 = detect.sum_y2 = 0 + init_num += 1 + continue + + # calculate params of the coords between cube and mycobot + if nparams < 10: + if detect.get_calculate_params(frame) is None: + # cv2.imshow("figure", frame) + continue + else: + x1, x2, y1, y2 = detect.get_calculate_params(frame) + detect.draw_marker(frame, x1, y1) + detect.draw_marker(frame, x2, y2) + detect.sum_x1 += x1 + detect.sum_x2 += x2 + detect.sum_y1 += y1 + detect.sum_y2 += y2 + nparams += 1 + print ("ok") + continue + elif nparams == 10: + nparams += 1 + # calculate and set params of calculating real coord between cube and mycobot + detect.set_params((detect.sum_x1 + detect.sum_x2) / 20.0, + (detect.sum_y1 + detect.sum_y2) / 20.0, + abs(detect.sum_x1 - detect.sum_x2) / 10.0 + + abs(detect.sum_y1 - detect.sum_y2) / 10.0) + print("ok") + continue + + # get detect result + kp_img, desc_img = sift.detectAndCompute(frame, None) + frame = get_frame(parent_conn) + for i, v in enumerate(res_queue): + # HACK: to update frame every time + detect_result = detect.obj_detect(frame, v, kp_img, desc_img, kp_list[i], desc_list[i], parent_conn) + if detect_result: + x, y = detect_result + # calculate real coord between cube and mycobot + real_x, real_y = detect.get_position(x, y) + detect.color = i + # detect.pub_marker(real_x / 1000.0, real_y / 1000.0) + detect.decide_move(real_x, real_y, detect.color) + # if num == 5: + # detect.color = i + # detect.pub_marker(real_sx / 5.0 / 1000.0, + # real_sy / 5.0 / 1000.0) + # detect.decide_move(real_sx / 5.0, real_sy / 5.0, + # detect.color) + # num = real_sx = real_sy = 0 + # else: + # num += 1 + # real_sy += real_y + # real_sx += real_x + parent_conn.send(CLEAR_DRAW) + + # cv2.imshow("figure", frame) + time.sleep(0.05) + end_time = time.time() + # print("loop_time = ", end_time - start_time) + + # close the window + if cv2.waitKey(1) & 0xFF == ord('q'): + # cap.release() + cv2.destroyAllWindows() + sys.exit() + + child.join() + + +if __name__ == "__main__": + run() + # Object_detect().take_photo() + # Object_detect().cut_photo() diff --git a/mycobot_ai/aikit_280_pi/scripts/aikit_shape.py b/mycobot_ai/aikit_280_pi/scripts/aikit_shape.py new file mode 100644 index 0000000..7eadefe --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/aikit_shape.py @@ -0,0 +1,476 @@ +import cv2 +import numpy as np +import time +import os,sys +import math + +from pymycobot.mycobot import MyCobot + + +IS_CV_4 = cv2.__version__[0] == '4' +__version__ = "1.0" +# Adaptive seeed + + +class Object_detect(): + + def __init__(self, camera_x = 162, camera_y = 15): + # inherit the parent class + super(Object_detect, self).__init__() + # declare mycobot280 + self.mc = None + + # 移动角度 + self.move_angles = [ + [0.61, 45.87, -92.37, -41.3, 2.02, 9.58], # init the point + [18.8, -7.91, -54.49, -23.02, -0.79, -14.76], # point to grab + ] + + # 移动坐标 + self.move_coords = [ + [132.2, -136.9, 200.8, -178.24, -3.72, -107.17], # D Sorting area + [238.8, -124.1, 204.3, -169.69, -5.52, -96.52], # C Sorting area + [115.8, 177.3, 210.6, 178.06, -0.92, -6.11], # A Sorting area + [-6.9, 173.2, 201.5, 179.93, 0.63, 33.83], # B Sorting area + ] + + # which robot: USB* is m5; ACM* is wio; AMA* is raspi + self.robot_m5 = os.popen("ls /dev/ttyUSB*").readline()[:-1] + self.robot_wio = os.popen("ls /dev/ttyACM*").readline()[:-1] + self.robot_raspi = os.popen("ls /dev/ttyAMA*").readline()[:-1] + self.robot_jes = os.popen("ls /dev/ttyTHS1").readline()[:-1] + self.raspi = False + if "dev" in self.robot_m5: + self.Pin = [2, 5] + elif "dev" in self.robot_wio: + # self.Pin = [20, 21] + self.Pin = [2, 5] + + for i in self.move_coords: + i[2] -= 20 + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + import RPi.GPIO as GPIO + GPIO.setwarnings(False) + self.GPIO = GPIO + GPIO.setmode(GPIO.BCM) + GPIO.setup(20, GPIO.OUT) + GPIO.setup(21, GPIO.OUT) + GPIO.output(20, 1) + GPIO.output(21, 1) + self.raspi = True + if self.raspi: + self.gpio_status(False) + + + # choose place to set cube + self.color = 0 + # parameters to calculate camera clipping parameters + self.x1 = self.x2 = self.y1 = self.y2 = 0 + # set cache of real coord + self.cache_x = self.cache_y = 0 + # set color HSV + self.HSV = { + # "yellow": [np.array([11, 85, 70]), np.array([59, 255, 245])], + "yellow": [np.array([22, 93, 0]), np.array([45, 255, 245])], + "red": [np.array([0, 43, 46]), np.array([8, 255, 255])], + "green": [np.array([35, 43, 35]), np.array([90, 255, 255])], + "blue": [np.array([100, 43, 46]), np.array([124, 255, 255])], + "cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])], + } + + # use to calculate coord between cube and mycobot + self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0 + # The coordinates of the grab center point relative to the mycobot + self.camera_x, self.camera_y = camera_x, camera_y + # The coordinates of the cube relative to the mycobot + self.c_x, self.c_y = 0, 0 + # The ratio of pixels to actual values + self.ratio = 0 + # Get ArUco marker dict that can be detected. + self.aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_6X6_250) + # Get ArUco marker params. + self.aruco_params = cv2.aruco.DetectorParameters_create() + + # 初始化背景减法器 + self.mog =cv2.bgsegm.createBackgroundSubtractorMOG() + + # pump_control pi + def gpio_status(self, flag): + if flag: + # self.GPIO.output(20, 0) + self.GPIO.output(21, 0) + else: + # self.GPIO.output(20, 1) + self.GPIO.output(21, 1) + + # 开启吸泵 m5 + def pump_on(self): + # 让2号位工作 + # self.mc.set_basic_output(2, 0) + # 让5号位工作 + self.mc.set_basic_output(5, 0) + + # 停止吸泵 m5 + def pump_off(self): + # 让2号位停止工作 + # self.mc.set_basic_output(2, 1) + # 让5号位停止工作 + self.mc.set_basic_output(5, 1) + + # Grasping motion + def move(self, x, y, color): + # send Angle to move mycobot280 + print(color) + self.mc.send_angles(self.move_angles[1], 25) + time.sleep(3) + + # send coordinates to move mycobot + self.mc.send_coords([x, y, 190.6, 179.87, -3.78, -62.75], 25, 1) # usb :rx,ry,rz -173.3, -5.48, -57.9 + time.sleep(3) + + # self.mc.send_coords([x, y, 150, 179.87, -3.78, -62.75], 25, 0) + # time.sleep(3) + + self.mc.send_coords([x, y, 65.5, 179.87, -3.78, -62.75], 25, 0) + time.sleep(4) + + # open pump + if "dev" in self.robot_m5 or "dev" in self.robot_wio: + self.pump_on() + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + self.gpio_status(True) + time.sleep(1.5) + + tmp = [] + while True: + if not tmp: + tmp = self.mc.get_angles() + else: + break + time.sleep(0.5) + + # print(tmp) + self.mc.send_angles([tmp[0], -0.71, -54.49, -23.02, -0.79, tmp[5]],25) # [18.8, -7.91, -54.49, -23.02, -0.79, -14.76] + time.sleep(2.5) + + self.mc.send_coords(self.move_coords[color], 25, 1) + + time.sleep(3) + + # close pump + + if "dev" in self.robot_m5 or "dev" in self.robot_wio: + self.pump_off() + elif "dev" in self.robot_raspi or "dev" in self.robot_jes: + self.gpio_status(False) + time.sleep(5) + + self.mc.send_angles(self.move_angles[0], 25) + time.sleep(4.5) + + # decide whether grab cube + def decide_move(self, x, y, color): + print(x, y, self.cache_x, self.cache_y) + # detect the cube status move or run + if (abs(x - self.cache_x) + abs(y - self.cache_y)) / 2 > 5: # mm + self.cache_x, self.cache_y = x, y + return + else: + self.cache_x = self.cache_y = 0 + # 调整吸泵吸取位置,y增大,向左移动;y减小,向右移动;x增大,前方移动;x减小,向后方移动 + self.move(x, y, color) + + # init mycobot280 + def run(self): + + if "dev" in self.robot_wio : + self.mc = MyCobot(self.robot_wio, 115200) + elif "dev" in self.robot_m5: + self.mc = MyCobot(self.robot_m5, 115200) + elif "dev" in self.robot_raspi: + self.mc = MyCobot(self.robot_raspi, 1000000) + if not self.raspi: + self.pub_pump(False, self.Pin) + self.mc.send_angles([0.61, 45.87, -92.37, -41.3, 2.02, 9.58], 20) + time.sleep(4.5) + + # draw aruco + def draw_marker(self, img, x, y): + # draw rectangle on img + cv2.rectangle( + img, + (x - 20, y - 20), + (x + 20, y + 20), + (0, 255, 0), + thickness=2, + lineType=cv2.FONT_HERSHEY_COMPLEX, + ) + # add text on rectangle + cv2.putText(img, "({},{})".format(x, y), (x, y), + cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (243, 0, 0), 2,) + + # get points of two aruco + def get_calculate_params(self, img): + # Convert the image to a gray image + gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + # Detect ArUco marker. + corners, ids, rejectImaPoint = cv2.aruco.detectMarkers( + gray, self.aruco_dict, parameters=self.aruco_params + ) + + """ + Two Arucos must be present in the picture and in the same order. + There are two Arucos in the Corners, and each aruco contains the pixels of its four corners. + Determine the center of the aruco by the four corners of the aruco. + """ + if len(corners) > 0: + if ids is not None: + if len(corners) <= 1 or ids[0] == 1: + return None + x1 = x2 = y1 = y2 = 0 + point_11, point_21, point_31, point_41 = corners[0][0] + x1, y1 = int((point_11[0] + point_21[0] + point_31[0] + point_41[0]) / 4.0), int( + (point_11[1] + point_21[1] + point_31[1] + point_41[1]) / 4.0) + point_1, point_2, point_3, point_4 = corners[1][0] + x2, y2 = int((point_1[0] + point_2[0] + point_3[0] + point_4[0]) / 4.0), int( + (point_1[1] + point_2[1] + point_3[1] + point_4[1]) / 4.0) + return x1, x2, y1, y2 + return None + + # set camera clipping parameters + def set_cut_params(self, x1, y1, x2, y2): + self.x1 = int(x1) + self.y1 = int(y1) + self.x2 = int(x2) + self.y2 = int(y2) + print(self.x1, self.y1, self.x2, self.y2) + + # set parameters to calculate the coords between cube and mycobot280 + def set_params(self, c_x, c_y, ratio): + self.c_x = c_x + self.c_y = c_y + self.ratio = 220.0/ratio + + # calculate the coords between cube and mycobot280 + def get_position(self, x, y): + return ((y - self.c_y)*self.ratio + self.camera_x), ((x - self.c_x)*self.ratio + self.camera_y) + + """ + Calibrate the camera according to the calibration parameters. + Enlarge the video pixel by 1.5 times, which means enlarge the video size by 1.5 times. + If two ARuco values have been calculated, clip the video. + """ + def transform_frame(self, frame): + # enlarge the image by 1.5 times + fx = 1.5 + fy = 1.5 + frame = cv2.resize(frame, (0, 0), fx=fx, fy=fy, + interpolation=cv2.INTER_CUBIC) + if self.x1 != self.x2: + # the cutting ratio here is adjusted according to the actual situation + frame = frame[int(self.y2*0.78):int(self.y1*1.1), + int(self.x1*0.88):int(self.x2*1.06)] + return frame + + # 检测物体的形状 + def shape_detect(self,img): + x = 0 + y = 0 + Alpha = 65.6 + Gamma=-8191.5 + cal = cv2.addWeighted(img, Alpha,img, 0, Gamma) + gray = cv2.cvtColor(cal, cv2.COLOR_BGR2GRAY) + + # 转换为灰度图片 + #ray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) + + # a etching operation on a picture to remove edge roughness + erosion = cv2.erode(gray, np.ones((2, 2), np.uint8), iterations=2) + + # the image for expansion operation, its role is to deepen the color depth in the picture + dilation = cv2.dilate(erosion, np.ones( + (1, 1), np.uint8), iterations=2) + + + # 设定灰度图的阈值 175, 255 + _, threshold = cv2.threshold(dilation, 175, 255, cv2.THRESH_BINARY) + # 边缘检测 + edges = cv2.Canny(threshold,50,100) + # 检测物体边框 + contours,_ = cv2.findContours( + edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) + + + + if len(contours)>0: + for cnt in contours: + # if 6000>cv2.contourArea(cnt) and cv2.contourArea(cnt)>4500: + if cv2.contourArea(cnt)>5500: + objectType = None + peri = cv2.arcLength(cnt,True) + approx = cv2.approxPolyDP(cnt, 0.02 * peri, True) + objCor = len(approx) + x, y, w, h = cv2.boundingRect(approx) + + boxes = [ + box + for box in [cv2.boundingRect(c) for c in contours] + if min(img.shape[0], img.shape[1]) / 10 + < min(box[2], box[3]) + < min(img.shape[0], img.shape[1]) / 1 + ] + if boxes: + for box in boxes: + x, y, w, h = box + # find the largest object that fits the requirements + c = max(contours, key=cv2.contourArea) + rect = cv2.minAreaRect(c) + box = cv2.boxPoints(rect) + box = np.int0(box) + cv2.drawContours(img, [box], 0, (153, 153, 0), 2) + x = int(rect[0][0]) + y = int(rect[0][1]) + + if objCor==3: + objectType = "Triangle(三角形)" + cv2.drawContours(img, [cnt], 0, (0, 0, 255), 3) + self.color = 3 + elif objCor==4: + box = cv2.boxPoints(rect) + box = np.int0(box) + _W = math.sqrt(math.pow((box[0][0] - box[1][0]), 2) + math.pow((box[0][1] - box[1][1]), 2)) + _H = math.sqrt(math.pow((box[0][0] - box[3][0]), 2) + math.pow((box[0][1] - box[3][1]), 2)) + aspRatio = _W/float(_H) + if 0.98 < aspRatio < 1.03: + objectType = "Square(正方形)" + cv2.drawContours(img, [cnt], 0, (0, 0, 255), 3) + self.color=1 + else: + objectType = "Rectangle(长方形)" + cv2.drawContours(img, [cnt], 0, (0, 0, 255), 3) + self.color=2 + elif objCor>=5: + objectType = "Circle(圆形)" + self.color=0 + cv2.drawContours(img, [cnt], 0, (0, 0, 255), 3) + else: + pass + print(objectType) + + if abs(x) + abs(y) > 0: + return x, y + else: + return None + + +if __name__ == "__main__": + + # open the camera + cap_num = 0 + # cap = cv2.VideoCapture(cap_num, cv2.CAP_V4L) + cap = cv2.VideoCapture(cap_num) + cap.set(3, 640) + cap.set(4, 480) + if not cap.isOpened(): + cap.open() + # init a class of Object_detect + detect = Object_detect() + # init mycobot280 + detect.run() + + _init_ = 20 + init_num = 0 + nparams = 0 + num = 0 + real_sx = real_sy = 0 + while cv2.waitKey(1) < 0: + # read camera + _, frame = cap.read() + # deal img + frame = detect.transform_frame(frame) + if _init_ > 0: + _init_ -= 1 + continue + + # calculate the parameters of camera clipping + if init_num < 20: + if detect.get_calculate_params(frame) is None: + cv2.imshow("figure", frame) + continue + else: + x1, x2, y1, y2 = detect.get_calculate_params(frame) + detect.draw_marker(frame, x1, y1) + detect.draw_marker(frame, x2, y2) + detect.sum_x1 += x1 + detect.sum_x2 += x2 + detect.sum_y1 += y1 + detect.sum_y2 += y2 + init_num += 1 + continue + elif init_num == 20: + detect.set_cut_params( + (detect.sum_x1)/20.0, + (detect.sum_y1)/20.0, + (detect.sum_x2)/20.0, + (detect.sum_y2)/20.0, + ) + detect.sum_x1 = detect.sum_x2 = detect.sum_y1 = detect.sum_y2 = 0 + init_num += 1 + continue + + # calculate params of the coords between cube and mycobot280 + if nparams < 10: + if detect.get_calculate_params(frame) is None: + cv2.imshow("figure", frame) + continue + else: + x1, x2, y1, y2 = detect.get_calculate_params(frame) + detect.draw_marker(frame, x1, y1) + detect.draw_marker(frame, x2, y2) + detect.sum_x1 += x1 + detect.sum_x2 += x2 + detect.sum_y1 += y1 + detect.sum_y2 += y2 + nparams += 1 + continue + elif nparams == 10: + nparams += 1 + # calculate and set params of calculating real coord between cube and mycobot280 + detect.set_params( + (detect.sum_x1+detect.sum_x2)/20.0, + (detect.sum_y1+detect.sum_y2)/20.0, + abs(detect.sum_x1-detect.sum_x2)/10.0 + + abs(detect.sum_y1-detect.sum_y2)/10.0 + ) + print("ok") + continue + + # get detect result + # detect_result = detect.color_detect(frame) + # print('调用检测') + detect_result = detect.shape_detect(frame) + # print("完成检测") + if detect_result is None: + cv2.imshow("figure", frame) + continue + else: + x, y = detect_result + # calculate real coord between cube and mycobot280 + real_x, real_y = detect.get_position(x, y) + if num == 20: + + detect.decide_move(real_sx/20.0, real_sy/20.0, detect.color) + num = real_sx = real_sy = 0 + + else: + num += 1 + real_sy += real_y + real_sx += real_x + + cv2.imshow("figure", frame) + + # close the window + if cv2.waitKey(1) & 0xFF == ord('q'): + cap.release() + cv2.destroyAllWindows() + sys.exit() diff --git a/mycobot_ai/aikit_280_pi/scripts/moving_utils.py b/mycobot_ai/aikit_280_pi/scripts/moving_utils.py new file mode 100755 index 0000000..1b6a651 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/moving_utils.py @@ -0,0 +1,49 @@ +#encoding: UTF-8 +#!/usr/bin/env python2 +import rospy +import time,os + +from mycobot_communication.msg import MycobotSetAngles, MycobotSetCoords, MycobotPumpStatus + + +class Movement(object): + """Tools class: Communication with mycobot.""" + def __init__(self): + super(Movement, self).__init__() + self.angle_pub = rospy.Publisher("mycobot/angles_goal", MycobotSetAngles, queue_size=5) + self.coord_pub = rospy.Publisher("mycobot/coords_goal", MycobotSetCoords, queue_size=5) + + self.pump_pub = rospy.Publisher("mycobot/pump_status", MycobotPumpStatus, queue_size=10) + + self.angles = MycobotSetAngles() + self.coords = MycobotSetCoords() + self.pump = MycobotPumpStatus() + + def pub_coords(self, item, sp=20, m=1): + self.coords.x = item[0] + self.coords.y = item[1] + self.coords.z = item[2] + self.coords.rx = item[3] + self.coords.ry = item[4] + self.coords.rz = item[5] + self.coords.speed = sp + self.coords.model = m + self.coord_pub.publish(self.coords) + + + def pub_angles(self, item, sp): + self.angles.joint_1 = item[0] + self.angles.joint_2 = item[1] + self.angles.joint_3 = item[2] + self.angles.joint_4 = item[3] + self.angles.joint_5 = item[4] + self.angles.joint_6 = item[5] + self.angles.speed = sp + self.angle_pub.publish(self.angles) + + + def pub_pump(self, flag,Pin): + self.pump.Status = flag + self.pump.Pin1 = Pin[0] + self.pump.Pin2 = Pin[1] + self.pump_pub.publish(self.pump) diff --git a/mycobot_ai/aikit_280_pi/scripts/test.py b/mycobot_ai/aikit_280_pi/scripts/test.py new file mode 100644 index 0000000..08b8a27 --- /dev/null +++ b/mycobot_ai/aikit_280_pi/scripts/test.py @@ -0,0 +1,18 @@ +from pymycobot.mycobot import MyCobot +import time +from pymycobot import PI_BAUD, PI_PORT + +mc = MyCobot(PI_PORT, PI_BAUD) + +coords = [ + [135.0, -65.5, 280.1, 178.99, 5.38, -179.9], + [136.1, -141.6, 243.9, 178.99, 5.38, -179.9] + ] + +angles = [0, 0, 0, 0, 0, 0] + +mc.send_coords(coords[0], 20, 1) +time.sleep(3) +mc.send_coords(coords[1], 20, 1) + +